Forgot your password?   Click here   •   No account yet?   Please Register    •   Or login using  
EN Login
SideFX Homepage
  • Products
    • What's New in H21
      • Overview
      • Animation
      • Rigging
      • CFX
      • VFX
      • Lookdev
      • Copernicus
      • Terrain & Modeling
    • Houdini
      • Overview
      • FX Features
      • CORE Features
      • Solaris
      • PDG
    • Houdini Engine
      • Overview
      • Engine Plug-Ins
      • Batch
    • Karma Renderer
      • Overview
      • Compare
    • Compare
    • SideFX Labs
    • Partners
  • Industries
    • Film & TV
    • Game Development
    • Motion Graphics
    • Virtual Reality
    • Synthetic Data for AI/ML
  • Community
    • Forum
    • News Feed
      • Overview
      • Project Profiles
      • Houdini HIVE Events
      • Contests & Jams
    • Gallery
    • Event Calendar
    • User Groups
    • Artist Directory
  • Learn
    • Tutorials
      • Overview
      • My Learning
      • Learning Paths
      • Tutorial Library
    • Content Library
    • Tech Demos
    • Talks & Webinars
    • Education Programs
      • Overview
      • Students
      • Instructors
      • Administrators
      • List of Schools
      • Resources
  • Support
    • Customer Support
    • Licensing
      • Overview
      • Commercial
      • Indie
      • Education
    • Help Desk | FAQ
    • H21 System Requirements
    • Documentation
    • Changelog / Journal
    • Report a Bug/RFE
  • Try | Buy
    • Try
    • Buy
    • Download
    • Contact Info
 
Advanced Search
Forums Search
Found 14530 posts.

Search results Show results as topic list.

Technical Discussion » Populate layout asset gallery from multiple LOP nodes?

User Avatar
hzwus
5 posts
Offline
 Nov. 17, 2023 15:53:10
In my stage network I have multiple LOP nodes referencing USD assets, imported and managed via a custom Python asset manager. I want to populate my layout asset gallery with all of these assets, rather than adding them individually via filepath.

There's a "fetch from LOP node" option, but it seems like it only allows you to select one LOP at a time?


Currently I'm able to create a custom gallery.db file, set that as my sharedLayoutDataSource, and add each asset to it like this
import hou
from husd import assetutils

dataSource = hou.AssetGalleryDataSource(path/to/myDB.db)
hou.ui.setSharedLayoutDataSource(dataSource)

for asset in assets:
    assetutils.AssetGallery.addAsset(asset.filepath, asset_name=asset.name)

But this is quite slow, inflexible, and feels like an unnecessary step when my assets are already imported and version-controlled in the scene.
Edited by hzwus - Nov. 20, 2023 19:37:12
See full post 

Technical Discussion » Could pcgenerate() run in attribute wrangle sop?

User Avatar
jerry7
672 posts
Offline
 Nov. 17, 2023 07:45:35
Hi,

Could pcgenerate() run in attribute wrangle sop?
I test but couldn't get result.
int pcg = pcgenerate('foo.pc',100);
while(pcunshaded(pcg,'P')){
    pcexport(pcg,'P',set(0,1,2));
    print_once('running');
}

Thanks!
See full post 

Technical Discussion » Volume Visualize on Houdini 20 and Mac

User Avatar
dyts
121 posts
Offline
 Nov. 17, 2023 05:42:48
I've tried to use Volume Visualize on my Mac Studio it does not work as on my PC, here is the render on my Mac, it's flat on my PC I can see correctly
See full post 

PDG/TOPs » Export abc geometries and related json dynamically

User Avatar
Artificial Kid
5 posts
Offline
 Nov. 17, 2023 05:40:50
Hello, I'm trying to use TOP for the first time. I'm still missing several things, and it would be fantastic if you could help me understand if what I'm trying to do makes sense.

My idea was to create a structure that, given geometries as input (resulting from DOP) with a defined naming convention, dynamically manages exports so that operators can update it without getting their hands dirty with code but only managing nodes. The desired output is Alembic files of the geometries, filtered by the operator as needed, and a final JSON that only updates the data of the exported elements.

I set the storage of geometries as a Geometry Attribute, merged all inputs, generated all the necessary attributes with a Python script, and there's an optional filter. From this point, there are several things I can't set up as I would like. My idea was to use a partition so that outputs using common calculations are processed in the same batch, export the multiple outputs with an Alembic ROP, then expand the partition again to have one item per geometry with its attributes, and finally close the process with another Python script that manages the JSON.

The first problem I encounter is attribute management. I suppose I should keep them in an array so that they are available for an expand, is that correct? If I keep the attributes of the items that generate it in the partition, the node gives me the following warning: "Incompatible types 'Geometry' and 'Geometry' when merging attribute 'geometry'." It is not clear to me how I should handle the Geometry Attribute.

The second problem, when partitioning the items, the ROP seems to generate only the first output per item. I don't understand if I need to set the node differently or if it depends on how attributes are handled.

The third point concerns the expand node. If I apply the expansion to items in the upstream partition, if the parent node is work items instead of partitions with the rectangular icon, it seems not to work. Do I need a parallel branch? How could I filter just cooked Alembics?

At this point, I doubt if I am using partitions improperly. Could you tell me if I am setting the basic configuration incorrectly and, if so, how I could structure it?

Important note: I am using version 18.5.563 of Houdini.

I've attached an example file.
See full post 

Technical Discussion » steam houdini

User Avatar
CGxiao
15 posts
Offline
 Nov. 17, 2023 02:54:48
How can I let the official staff of Houdini see if I can make Steam's Houdini support the Linux version? Thanks.
See full post 

Technical Discussion » Framing node inside locked network.

User Avatar
Tyler Britton2
89 posts
Offline
 Nov. 16, 2023 18:32:45
I am trying to frame a node that is in a locked subnetwork. Even though I am not doing anything to the node, I am just trying to frame it.

import nodegraphfastfind as ff
 
 
d=hou.ui.curDesktop()
ne=d.paneTabOfType(hou.paneTabType.NetworkEditor)
if ne:
    fw=ff.FindWindow(ne)
    fw.frameNodes(hou.selectedNodes())
See full post 

Technical Discussion » Deadline Render Percentage Progress w/ Karma

User Avatar
frame_48
17 posts
Offline
 Nov. 16, 2023 18:03:41
Hey there - we were curious if anyone has had luck setting up Deadline to report frame percentage completion for Karma renders? Someone was able to figure it out for Redshift on the Thinkbox forums and shared it here: https://www.patreon.com/posts/deadline-houdini-30690855. [www.patreon.com] A major feature we miss from other DCC's is seeing how far along a frame is when rendering on the farm - nothing is worse than a frame that is three hours in and having no idea if it is close to completion or not as you hover over the "close worker" button. Cheers!
See full post 

Technical Discussion » Logging ass file generator Output

User Avatar
steve_zeelo
12 posts
Offline
 Nov. 16, 2023 16:21:59
Hello,

Running Houdini in Batch mode and generating the ass files from an Arnold ROP. Is it possible to log the per frame output so everyone one is created it prints or logs the file creation? I've looked at the environment varaibles and not sure which one it might be if thats how its done.

Thanks

Steve
Edited by steve_zeelo - Nov. 17, 2023 05:47:43
See full post 

Technical Discussion » Tab Submenu Name Created Programmatically

User Avatar
john_schroeter
1 posts
Offline
 Nov. 16, 2023 13:37:52
Howdy,
I'm editing a tool that is used to create, check out, and publish HDAs and update their contents. Currently the HDA Manager is pleasantly functional, but is running into one small frustrating issue. When Creating a new HDA, the tab submenu is not set correctly. When created, the HDA populates correctly in a tab named "Company Name," however, when I open a new session of Houdini, the HDA moves to the "Digital Assets" tab menu.

I had be working off of a modified version of this kind of code presented here in this forum: https://www.sidefx.com/forum/topic/85634/?page=1#post-370498 [www.sidefx.com]

My code at this moment looks something like this:

    def createNewHDA(self, name, versionString):
       
        node = self.translator.ensureNode(self.node)

        if not name:
            baseContainer.BaseContainer().showMessage(
                msg="Please enter a name for the HDA and try again"
                "\n Enter a name in the HDA Manager field, this will become the name of the created HDA",
                title="Notice",
            )
            return self.translator.ensureNode(node)

        cancelPrompt = baseContainer.BaseContainer().askOptions(
            question=f"Convert selected subnet to a new Company Name HDA: {name}?"
            "\n This will turn your subnet into a studio accessible HDA",
            options=(Outcome.ok, Outcome.cancel),
            title="Notice",
        )

        # Allow users to cancel HDA creation just in case
        if cancelPrompt is Outcome.cancel:
            print("Cancelled HDA creation")
            return self.translator.ensureNode(node)

        hdaName = self.buildHDAName(name, versionString)
        print("created hdaName:", hdaName)
        filePath = self.buildHDASavePath(name)
        print("built filepath:", filePath)

        nativeHDA = self.node.nativeNode().createDigitalAsset(
            name=hdaName,
            hda_file_name=filePath,
            description=None,
            min_num_inputs=1,
            max_num_inputs=1,
            compress_contents=False,
            comment=None,
            version=versionString,
            save_as_embedded=False,
            ignore_external_references=False,
            change_node_type=True,
            create_backup=True,
            install_path=None,
        )

        hdaDef = nativeHDA.type().definition()
        hdaDef.setDescription(name)
        hdaDef.setIcon(ICON_PATH)

        # copy spare parms to the definition
        parmTemplate = nativeHDA.parmTemplateGroup()
        typeDef = nativeHDA.type().definition()
        typeDef.setParmTemplateGroup(parmTemplate)
        typeDef.save(filePath)
        nativeHDA.matchCurrentDefinition()

        # all this b.s. below is just to set the location in the tab menu
        nodeType = hdaDef.nodeType()
        categoryName = nodeType.category().name().lower()

        defaultToolName = hou.shelves.defaultToolName(categoryName, nodeType.name())

        # try to find an existing tool of this name.  When we copy
        # the hda and it has a default, internal tool, that tool
        # gets copied too.  We need to delete it before we can
        # create and embed it into the asset.
        existingTool = hou.shelves.tools().get(defaultToolName)
        if existingTool:
            existingTool.destroy()

        # construct a temp .shelf file path
        tempFilePath = os.path.join("C:\\temp", "temp.shelf")
       
        # create a temporary tool
        tempTool = defaulttools.createDefaultHDATool(
            shelffile=tempFilePath,
            nodetype=nodeType,
            toolname=defaultToolName,
            locations=("Ingenuity",),
        )

        # set the HDA tool variables to the tool
        defaulttools.setHDAToolVariables(tempTool, hdaDef)
        
        # grab the contents of the tool file
        print(f"tempFilePath: {tempFilePath}")
        contents = hou.readFile(tempFilePath)
        
        # store it in the asset definition.
        hdaDef.addSection("Tools.shelf", tempTool)
        
        # look for a tool named "$HDA_DEFAULT_TOOL"
        defaultTool = hou.shelves.tools().get("$HDA_DEFAULT_TOOL")

        # if it exists we need to destroy it or it will cause problems
        if defaultTool is not None:
            defaultTool.destroy()
        
        # remove the temp file.
        os.remove(tempFilePath)

        # remove the spare parms now that they're saved in the HDA
        nativeHDA.removeSpareParms()

        # Display HDA creation success message
        baseContainer.BaseContainer().askOptions(
            question=f"New Company Name HDA created: {nativeHDA.type().name()}"
            "\n Your subnet will be replaced by the new HDA",
            options=(Outcome.ok, Outcome.cancel),
            title="Notice",
        )

        # Create an entry in the HDAs version history to store its creation time and creator name
        print("Logging HDA creation")
        HDAVersionNotes().publishNotes(nativeHDA, f"HDA created by {getUserName()}")

        # git commit changes
        repositoryPath = "C:/ie4-otl"
        commitOutput = None

        try:
            statusOutput = subprocess.check_output(
                ["git", "status", "--porcelain"], cwd=repositoryPath, shell=True
            )
            if statusOutput:
                print("Running Git add .")
                # Add the git add command
                addCommand = ["git", "add", "."]
                addOutput = subprocess.run(
                    addCommand,
                    cwd=repositoryPath,
                    check=True,
                    shell=True,
                    stdout=subprocess.PIPE,
                    stderr=subprocess.PIPE,
                    text=True,
                )
                print(f"statusOutput: {statusOutput}")

                if addOutput.returncode == 0:
                    print("Git add successful")

                    commitMessage = f"{name} has been created by {getUserName()}"
                    commitCommand = ["git", "commit", "-am", commitMessage]
                    commitOutput = subprocess.run(
                        commitCommand,
                        cwd=repositoryPath,
                        check=True,
                        shell=True,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE,
                        text=True,
                    )

                    if commitOutput.returncode == 0:
                        print(f"Git commit successful: {commitMessage}")

                        # Add the git push command
                        pushCommand = ["git", "push", "origin", "main"]
                        pushOutput = subprocess.run(
                            pushCommand,
                            cwd=repositoryPath,
                            check=True,
                            shell=True,
                            stdout=subprocess.PIPE,
                            stderr=subprocess.PIPE,
                            text=True,
                        )

                        if pushOutput.returncode == 0:
                            print("Git push successful.")
                        else:
                            print(f"Git push failed with error: {pushOutput.stderr}")
                    else:
                        print(f"Git add failed with error: {addOutput.stderr}")
                else:
                    print("No changes to commit.")
        except subprocess.CalledProcessError as e:
            # print(f"Error running 'git commit': {e}: {commitOutput.stderr}")
            print(f"Error running 'git commit': {e}")
        return self.translator.ensureNode(nativeHDA)

When createNewHDA is called, i'm getting this error (attached image). It does just look like there just isn't a temp file actually being written at all. Perhaps this is just something i'm not understanding about the Houdini api. Any help would be massively appreciated!
Edited by john_schroeter - Nov. 17, 2023 13:13:09
See full post 

Houdini Engine for Unreal » Unreal proxy collision mesh auto-refinement timer is broken?

User Avatar
m_davis1
4 posts
Offline
 Nov. 16, 2023 10:22:30
Hello! I'm on 19.5.640 and have noticed that refining proxy meshes works in all ways except when using the auto-refine timeout. This only occurs when you have split groups such as a collision mesh. The auto-refine timer usually throws errors for external references. I've checked the code and the refinement is done in a slightly different way. But I wanted to check here whether it's a bug, or if there is something I can do (other than just turning off the timer) to fix it?

Thanks!
Edited by m_davis1 - Nov. 16, 2023 10:27:32
See full post 

The Orbolt Smart 3D Asset Store » orbolt openID issues

User Avatar
Sirvoxelot
75 posts
Offline
 Nov. 15, 2023 18:48:24
seems like I keep getting issues trying to log into orbolt with my sidefx login, I can log in with my gmail account, it's fine?

is there a way i can just merge the accounts? so that i choose either the sidefx login, or the gmail login, and they go to the same orbolt account?

this is the error i get with orbolt trying to log in with houdini acc on chrome

Error: invalid_request
Mismatching redirect URI.
See full post 

Houdini Indie and Apprentice » how to extrude specific lines without intersect

User Avatar
Jack4d89671ddf0144e4
1 posts
Offline
 Nov. 15, 2023 02:37:28
I used polyexpand2d and sweep.
polyexpand2d can help me to deal with the intersect while extruding but it can't only extrude the line that I want.
Sweep can select the line that I want to extrude, but the intersect is hard to solve.
Is there any good way?
See full post 

Technical Discussion » UVs of instances

User Avatar
PaoloGiandoso
72 posts
Offline
 Nov. 14, 2023 15:54:54
Is there a way to scale and translate the whole UVs of a packed geo single instance?
See full post 

Houdini for Realtime » Read houdini curve attributes in UE

User Avatar
Beka
42 posts
Offline
 Nov. 14, 2023 13:43:57
Can I transfer any attributes, like scale or something?
what I only can do, is to transfer tags, but all of them are the same. if I make let's say tag attribute of river and lake, it converts into one (river) for all of them.
anyone has idea how we can work with curves?
Edited by Beka - Nov. 15, 2023 03:30:27
See full post 

Houdini Indie and Apprentice » How to EXPORT camera from Unreal to Houdini

User Avatar
ShkYo30
19 posts
Offline
 Nov. 14, 2023 12:25:09
Hello,

I want to export my camera path from Unreal (with camera Rail and Crane system) to Houdini, what's the right method?

For now, I tried many times with a FBX export from Unreal then an Import Filmbox FBX in Houdini and nothing works!
The coordinate of the camera are never ok...

Many thanks in advance if you can give some ideas or tips!
See full post 

Technical Discussion » Delete specific keyframes from fbx

User Avatar
cyhiso
7 posts
Offline
 Nov. 14, 2023 08:50:43
Hello,
I am processing some fbx animations using import fbx animation node -> modifying some positions of bones in point wrangle -> exporting fbx

The issue i am facing is that for this approach - each bone have key at each frame even if there was not any movement.

Is there any way to delete keys that don’t have any movement?
See full post 

Solaris and Karma » Materialx refraction limit color

User Avatar
Crossply
4 posts
Offline
 Nov. 14, 2023 04:58:50
Is there a way of getting Materialx to return a color other than black at the refraction limit? I think if I could make it white, my bubbles would look nicer.
Thanks

Simon
See full post 

PDG/TOPs » How to make rop fbx node consume multiple slots resources?

User Avatar
t3
10 posts
Offline
 Nov. 13, 2023 21:18:36
I'm building a fbx export node using top network. In general, there are only 3 .fbx files which means only 3 work items exist. I set the "Slots Per Work Item" to 6 (10-core CPU has 19 slots at most), which would lead to 18 slots resources active at runtime. But seems that the houdini doesn't assign many slots to a work item: only 3 hython.exe process are active, and ~30% CPU utilization at most. Is there any other settings I missed or rop fbx node can only work on single core?
See full post 

Rigging » Read this first

User Avatar
chrism
2596 posts
Offline
 Nov. 13, 2023 16:37:10
How to log bugs and rfe's (sugs) for Houdini
--------------------------------------

Option #1
-----------
If you are up to date on your AUP (Annual Upgrade Plan) you can have direct access to our database in order to log bugs and rfe's and view the current status of your bugs. If you don't already have access, please contact your Sales Representative and they'll help you get set up and provide you with all the details. This is by far the fastest and most effective way of getting your issue into the hot little hands of the developers.
https://www.sidefx.com/services [www.sidefx.com]

Option #2
----------
You can e-mail your bug or rfe to support@sidefx.com. They will review your issue prior to submitting it into our database and may contact you if they require more information.

Option #3
----------
You can also submit your bug using our online form at sidefx.com > Support > Submit Bugs and RFEs:
http://www.sidefx.com/index.php?option=com_content&task=view&id=768&Itemid=239 [www.sidefx.com]

No matter which of these three options you use, there are a few key pieces of information that we need to know:
What platform you're on (Win10, Linux, OSX)
What version of Houdini you're using. (eg. 16.0.600)
Steps on how to reproduce the bug with scene file or images if necessary.
Giving us info on your graphics card and driver is also helpful, especially if the bug you're logging is a display or OpenGL related issue.

Posting to the forums is NOT how you should log bugs. They aren't tracked by Support or QA and there's no guarantee that anyone from SideFX will see it. Sometimes a SideFX person may be lurking in the forums and may even respond, but don't count on it. The forums are really for peer support and questions of other users. We have a great bunch of really helpful and knowledgeable users out there and they may help you out, but if you have an issue that needs attention from someone at SideFX, posting it in the forums is definitely not the way to go about it. If you have a BUG or an RFE, you should use option 1, 2, or 3 to let us know.

Thanks for your co-operation!
See full post 

Animation » Read this first

User Avatar
chrism
2596 posts
Offline
 Nov. 13, 2023 16:36:13
How to log bugs and rfe's (sugs) for Houdini
--------------------------------------

Option #1
-----------
If you are up to date on your AUP (Annual Upgrade Plan) you can have direct access to our database in order to log bugs and rfe's and view the current status of your bugs. If you don't already have access, please contact your Sales Representative and they'll help you get set up and provide you with all the details. This is by far the fastest and most effective way of getting your issue into the hot little hands of the developers.
https://www.sidefx.com/services [www.sidefx.com]

Option #2
----------
You can e-mail your bug or rfe to support@sidefx.com. They will review your issue prior to submitting it into our database and may contact you if they require more information.

Option #3
----------
You can also submit your bug using our online form at sidefx.com > Support > Submit Bugs and RFEs:
http://www.sidefx.com/index.php?option=com_content&task=view&id=768&Itemid=239 [www.sidefx.com]

No matter which of these three options you use, there are a few key pieces of information that we need to know:
What platform you're on (Win10, Linux, OSX)
What version of Houdini you're using. (eg. 16.0.600)
Steps on how to reproduce the bug with scene file or images if necessary.
Giving us info on your graphics card and driver is also helpful, especially if the bug you're logging is a display or OpenGL related issue.

Posting to the forums is NOT how you should log bugs. They aren't tracked by Support or QA and there's no guarantee that anyone from SideFX will see it. Sometimes a SideFX person may be lurking in the forums and may even respond, but don't count on it. The forums are really for peer support and questions of other users. We have a great bunch of really helpful and knowledgeable users out there and they may help you out, but if you have an issue that needs attention from someone at SideFX, posting it in the forums is definitely not the way to go about it. If you have a BUG or an RFE, you should use option 1, 2, or 3 to let us know.

Thanks for your co-operation!
See full post 
  • First
  • 91
  • 92
  • 93
  • 94
  • Last
  • Quick Links
Search links
Show recent posts
Show unanswered posts
PRODUCTS
  • Houdini
  • Houdini Engine
  • Houdini Indie
LEARN
  • Talks & Webinars
  • Education Programs
SUPPORT
  • Customer Support
  • Help Desk | FAQ
  • H21 System Requirements
  • Documentation
  • Report a Bug/RFE
LEGAL
  • Terms of Use
  • Privacy Policy
  • License Agreement
  • Accessibility
  • Responsible Disclosure Program
COMPANY
  • About SideFX
  • Careers
  • Press
  • Internships
  • Contact Info
Copyright © SideFX 2025. All Rights Reserved.

Choose language