Found 31 posts.
Search results Show results as topic list.
Technical Discussion » Filling large container with thousands of vellum objects
- drossxyu
- 31 posts
- Offline
Yes, it's being point deformed from low-res to high-res while both are in their small state. If I A/B the inputs, the low and high are in the same position.
Technical Discussion » Filling large container with thousands of vellum objects
- drossxyu
- 31 posts
- Offline
I'm using vellum to fill thousands of small candy objects inside a large S-shaped container.
My technique is as follows :
* Incoming candy geo has been remeshed and shrunk down to ~1/10 scale and scattered on points inside the S-Shape
* A secondary state is made at the SOP level with the geo at regular scale -- to be used as a vellum rest blend.
* A unique piece attribute has been applied to each candy to be used later
* Candy is configured as a strut softbody
* Vellum rest blend is added inside vellum solver, set to "each frame", and keyframed to transition from small to big over 48 frames or so.
* Vellum solver is run with 6 substeps or so \ 600 constraint iterations.
This seems to works great -- My small candy objects slowly scale up, collide, and fill up my container -- as depicted in the attached screenshot.
My issue is that when using point deform to take my results and apply it to my high-res object, it never fully fills the shape of the proxy ( see attached ). It's as if it's lagging behind a couple frames and never catches up. I'm specifying my piece attribute in the point deform so it evaluates each candy individually as to avoid artifacts. I've tried different radius values to no avail.
I've used this technique before successfully on sims of a much a smaller scale. I'm at a lost as to why it's not working in this scenario.
My technique is as follows :
* Incoming candy geo has been remeshed and shrunk down to ~1/10 scale and scattered on points inside the S-Shape
* A secondary state is made at the SOP level with the geo at regular scale -- to be used as a vellum rest blend.
* A unique piece attribute has been applied to each candy to be used later
* Candy is configured as a strut softbody
* Vellum rest blend is added inside vellum solver, set to "each frame", and keyframed to transition from small to big over 48 frames or so.
* Vellum solver is run with 6 substeps or so \ 600 constraint iterations.
This seems to works great -- My small candy objects slowly scale up, collide, and fill up my container -- as depicted in the attached screenshot.
My issue is that when using point deform to take my results and apply it to my high-res object, it never fully fills the shape of the proxy ( see attached ). It's as if it's lagging behind a couple frames and never catches up. I'm specifying my piece attribute in the point deform so it evaluates each candy individually as to avoid artifacts. I've tried different radius values to no avail.
I've used this technique before successfully on sims of a much a smaller scale. I'm at a lost as to why it's not working in this scenario.
Houdini Lounge » Groom Rendering Mem Issues - Workflow / Optimization
- drossxyu
- 31 posts
- Offline
We have the deadline submit break it into two separate processes so this error is actually the rendering of the ass files directly. The houdini task that grinds out the .ass scene succeeds just fine. The failure happens in the arnold standalone task when it tries to render said .ass scene.
Houdini Lounge » Groom Rendering Mem Issues - Workflow / Optimization
- drossxyu
- 31 posts
- Offline
Houdini 19.5.435
Rocky Linux release 8.6
HtoA 6.1.4.1
Arnold 7.1.4.1
Deadline 10.2
Our studio is working on a project that has two animal heads with full grooms. We've started to run into potential memory issues on our farm and are trying to find the most efficient way to render out our shots. It renders fine locally, both with and without progressive and was rendering fine on our farm up until recently.
A little bit about the scene and the workflow :
Each animal head is composed of 5-6 groom objects. For each shot, the grooms are run through a guide deform and select groom objects get run through a guide sim, which is cached. From here, we cache out each hair generate node as a bgeo sequence for lighting.
The primary hairgen cache's for each animal are huge. A 100 frame sequence is 190.22 gigs (almost 2 gigs a frame). 76 million points. Attributes are minimal (Cd, curveu, P, v and width on points, clumpid, id and uv on prims). The rest of hair gen caches are much smaller and will render just fine on the farm -- but the primary ones must push it over the edge.
Our lighting scenes contain file nodes that reference each of these .bgeo sequences for convenience. We've tried migrating the original hairgens into the lighting file to avoid hairgen caching but it became difficult to manage since each hairgen has a sop network that needs to be kept up to date. The groom itself is not very portable since it requires juggling many object level nodes and we've yet to determine a great way to pipeline it all.
The other odd thing is that the specs on the farm nodes that are failing seem more than adequate and the log indicates that it has plenty to spare :
Worker Name: xxxxx
Version: v10.2.0.10 Release (3b87216c7)
Operating System: Linux
Machine User: xxxxxx
IP Address: xxxxx
MAC Address: xxxxxx
CPU Architecture: x86_64
CPUs: 96
CPU Usage: 0%
Memory Usage: 1.6 GB / 184.4 GB (0%)
Free Disk Space: 26.002 GB
Video Card:
This is the memory error that we're getting in the same log of the arnold task :
=======================================================
Error
=======================================================
Error: OutOfMemoryException : Exception of type 'System.OutOfMemoryException' was thrown.
at System.Text.StringBuilder.ToString()
at Deadline.IO.PathMappingUtils.c(String bxl, String bxm, String bxn, String bxo, String bxp, IList`1 bxq, Boolean bxr, DataController bxs, GenericDelegate1`1 bxt, String bxu, OS bxv)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String forceSeperator, String stringsToReplace, String newStrings, DataController dataController, GenericDelegate1`1 logFunction, String regionID, Boolean readFileAsBytes)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String forceSeperator, String stringsToReplace, String newStrings, DataController dataController, GenericDelegate1`1 logFunction, String regionID)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String stringsToReplace, String newStrings, DataController dataController, GenericDelegate1`1 logFunction, String regionID)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplaceSeparator(String inFileName, String outFileName, String separatorToReplace, String newSeparator, DataController dataController, GenericDelegate1`1 logFunction, String regionName)
at Deadline.Scripting.RepositoryUtils.CheckPathMappingInFileAndReplaceSeparator(String inFileName, String outFileName, String separatorToReplace, String newSeparator) (Python.Runtime.PythonException)
File "/var/lib/Thinkbox/Deadline10/workers/render20166/plugins/640ddfe4df22acd4b3cdd006/Arnold.py", line 88, in RenderArgument
RepositoryUtils.CheckPathMappingInFileAndReplaceSeparator( filename, localFilename, "\\", "/" )
at Python.Runtime.Dispatcher.Dispatch(ArrayList args)
at __FranticX_GenericDelegate0`1\[\\]Dispatcher.Invoke()
at FranticX.Processes.ManagedProcess.RenderArgument()
at Deadline.Plugins.DeadlinePlugin.RenderArgument()
at FranticX.Processes.ManagedProcess.Execute(Boolean waitForExit)
at Deadline.Plugins.PluginWrapper.RenderTasks(Task task, String& outMessage, AbortLevel& abortLevel)
Doe anyone have any insight into how to troubleshoot hair/fur/groom scenes like this? Is there a better way to optimize our groom caches for rendering with Arnold? If it's render locally on a lower spec machine than what we have on our farm -- does that make any sense?
Cheers!
Rocky Linux release 8.6
HtoA 6.1.4.1
Arnold 7.1.4.1
Deadline 10.2
Our studio is working on a project that has two animal heads with full grooms. We've started to run into potential memory issues on our farm and are trying to find the most efficient way to render out our shots. It renders fine locally, both with and without progressive and was rendering fine on our farm up until recently.
A little bit about the scene and the workflow :
Each animal head is composed of 5-6 groom objects. For each shot, the grooms are run through a guide deform and select groom objects get run through a guide sim, which is cached. From here, we cache out each hair generate node as a bgeo sequence for lighting.
The primary hairgen cache's for each animal are huge. A 100 frame sequence is 190.22 gigs (almost 2 gigs a frame). 76 million points. Attributes are minimal (Cd, curveu, P, v and width on points, clumpid, id and uv on prims). The rest of hair gen caches are much smaller and will render just fine on the farm -- but the primary ones must push it over the edge.
Our lighting scenes contain file nodes that reference each of these .bgeo sequences for convenience. We've tried migrating the original hairgens into the lighting file to avoid hairgen caching but it became difficult to manage since each hairgen has a sop network that needs to be kept up to date. The groom itself is not very portable since it requires juggling many object level nodes and we've yet to determine a great way to pipeline it all.
The other odd thing is that the specs on the farm nodes that are failing seem more than adequate and the log indicates that it has plenty to spare :
Worker Name: xxxxx
Version: v10.2.0.10 Release (3b87216c7)
Operating System: Linux
Machine User: xxxxxx
IP Address: xxxxx
MAC Address: xxxxxx
CPU Architecture: x86_64
CPUs: 96
CPU Usage: 0%
Memory Usage: 1.6 GB / 184.4 GB (0%)
Free Disk Space: 26.002 GB
Video Card:
This is the memory error that we're getting in the same log of the arnold task :
=======================================================
Error
=======================================================
Error: OutOfMemoryException : Exception of type 'System.OutOfMemoryException' was thrown.
at System.Text.StringBuilder.ToString()
at Deadline.IO.PathMappingUtils.c(String bxl, String bxm, String bxn, String bxo, String bxp, IList`1 bxq, Boolean bxr, DataController bxs, GenericDelegate1`1 bxt, String bxu, OS bxv)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String forceSeperator, String stringsToReplace, String newStrings, DataController dataController, GenericDelegate1`1 logFunction, String regionID, Boolean readFileAsBytes)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String forceSeperator, String stringsToReplace, String newStrings, DataController dataController, GenericDelegate1`1 logFunction, String regionID)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String stringsToReplace, String newStrings, DataController dataController, GenericDelegate1`1 logFunction, String regionID)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplaceSeparator(String inFileName, String outFileName, String separatorToReplace, String newSeparator, DataController dataController, GenericDelegate1`1 logFunction, String regionName)
at Deadline.Scripting.RepositoryUtils.CheckPathMappingInFileAndReplaceSeparator(String inFileName, String outFileName, String separatorToReplace, String newSeparator) (Python.Runtime.PythonException)
File "/var/lib/Thinkbox/Deadline10/workers/render20166/plugins/640ddfe4df22acd4b3cdd006/Arnold.py", line 88, in RenderArgument
RepositoryUtils.CheckPathMappingInFileAndReplaceSeparator( filename, localFilename, "\\", "/" )
at Python.Runtime.Dispatcher.Dispatch(ArrayList args)
at __FranticX_GenericDelegate0`1\[\\]Dispatcher.Invoke()
at FranticX.Processes.ManagedProcess.RenderArgument()
at Deadline.Plugins.DeadlinePlugin.RenderArgument()
at FranticX.Processes.ManagedProcess.Execute(Boolean waitForExit)
at Deadline.Plugins.PluginWrapper.RenderTasks(Task task, String& outMessage, AbortLevel& abortLevel)
Doe anyone have any insight into how to troubleshoot hair/fur/groom scenes like this? Is there a better way to optimize our groom caches for rendering with Arnold? If it's render locally on a lower spec machine than what we have on our farm -- does that make any sense?
Cheers!
Houdini Indie and Apprentice » Automating rivet usage for many objects
- drossxyu
- 31 posts
- Offline
I'm trying to figure out an efficient way of snapping lights to my headlight geometry on an exported alembic. The alembic is being exported outside of Houdini. I have 18 pieces of geometry that need lights attached and one way of doing this would involve creating a point group at the SOP level for each one and creating a corresponding rivet object that will parent the lights. Since the rivet object takes the average of each point in the point group I have to create 18 solo point groups ( as far as I understand ).
Is there a better way of doing this?
If I export my alembic with the vehicle at the origin on a frame before the animation starts perhaps I can place all of my lights once and have just one point/rivet combination. I'm trying to avoid this workflow as adding this extra frame will become a bit of a nuisance as the animation is changing frequently.
Is there a better way of doing this?
If I export my alembic with the vehicle at the origin on a frame before the animation starts perhaps I can place all of my lights once and have just one point/rivet combination. I'm trying to avoid this workflow as adding this extra frame will become a bit of a nuisance as the animation is changing frequently.
Houdini Indie and Apprentice » Maya To Houdini - Least destructive Alembic Archive Workflow
- drossxyu
- 31 posts
- Offline
Thanks for the reply! That makes a lot of sense.
Is it possible to give me an example of what your workflow might be as far as extracting the different groups/shapes at the sop level and your settings on the alembic sop. Blast nodes? Splits? All in one stream?
Do you work packed or unpacked?
If you’re calculating velocity vectors would you then just merge all of the streams together and drop a trail sop?
Any insight on to some of the finer details is greatly appreciated.
Cheers!
Is it possible to give me an example of what your workflow might be as far as extracting the different groups/shapes at the sop level and your settings on the alembic sop. Blast nodes? Splits? All in one stream?
Do you work packed or unpacked?
If you’re calculating velocity vectors would you then just merge all of the streams together and drop a trail sop?
Any insight on to some of the finer details is greatly appreciated.
Cheers!
Houdini Indie and Apprentice » Strange Velocity Vectors
- drossxyu
- 31 posts
- Offline
I ended up re-animating in Maya using similar techniques. Motion Path animation parented to the camera. I exported as an alembic and brought it into Houdini via an alembic archive and the sub-frames look perfect! I dropped in a trail SOP and the vectors look the same incorrect way they did before. Vertical vector trails that do not match the trajectory of the car. What's going on here? Are there other ways to calculate velocity vectors?
Edited by drossxyu - July 23, 2019 23:56:24
Houdini Indie and Apprentice » Maya To Houdini - Least destructive Alembic Archive Workflow
- drossxyu
- 31 posts
- Offline
What's the most non-destructive means of exporting .abc's from Maya into Houdini so that a fluctuating hierarchy and tentative naming on the Maya side will only do minimal damage to the work done on the Houdini side.
For example,
Say I create an alembic archive with ‘Using Subnetworks’ off and assign a material using a material SOP within one of my shape nodes. Back in Maya I add a null above that shape's transform and re-export. If I hit “Build Or Update Hierarchy” back on the alembic archive it adds that new null as an alembic Xform node but If I peak inside where I planted my material SOP, it's missing. If I take that same shape and add the material at the object level, it also disappears.
I understand that materials should ideally not be assigned until the hierarchy is finalized but is there any other means of editing the contents of an alembic archive and be confident that the next update won't erase all of the edits you may have done?
For example,
Say I create an alembic archive with ‘Using Subnetworks’ off and assign a material using a material SOP within one of my shape nodes. Back in Maya I add a null above that shape's transform and re-export. If I hit “Build Or Update Hierarchy” back on the alembic archive it adds that new null as an alembic Xform node but If I peak inside where I planted my material SOP, it's missing. If I take that same shape and add the material at the object level, it also disappears.
I understand that materials should ideally not be assigned until the hierarchy is finalized but is there any other means of editing the contents of an alembic archive and be confident that the next update won't erase all of the edits you may have done?
Houdini Indie and Apprentice » Strange Velocity Vectors
- drossxyu
- 31 posts
- Offline
Did a little bit more digging and after turning off integer frame values in the global animation options to inspect my sub-frames I noticed that it was doing some crazy erratic vertical jittering inbetween the full frames. If I turn off the camera's animation in the dopesheet by unchecking the “all displayed” checkbox (essentially muting the keys) the sub-frames are smooth and my car's velocity vectors look normal.
Now one solution would be to not parent my vehicle to the camera but I am having a hell of a time figuring out a decent workflow to have my camera move and my vehicle's path sync up in such a way that keeps the vehicle framed nicely. I've tried motion paths but I am constantly fighting the follow path position value to make sure it's still in frame and I feel like i'm always counter animating.
Now one solution would be to not parent my vehicle to the camera but I am having a hell of a time figuring out a decent workflow to have my camera move and my vehicle's path sync up in such a way that keeps the vehicle framed nicely. I've tried motion paths but I am constantly fighting the follow path position value to make sure it's still in frame and I feel like i'm always counter animating.
Houdini Indie and Apprentice » Strange Velocity Vectors
- drossxyu
- 31 posts
- Offline
I'm working on a project where in order to get the right animation on this flying vehicle I've had to animate my HDA on a null that is attached to a camera. There's a trail SOP in my hDA to compute velocity but I figure since the animation is happening at the object level this isn't helpful. To circumvent that I've object merged my car HDA with transform set to “into this object”, deleted my old v attribute for good measure, cached it out and created a new trail SOP. I'm still getting oddball v vectors that look kind of perpendicular to what they should be. The vehicle is swooping in left to right but the vectors are aiming straight down. I know these should look correct in viewport regardless but I am using Redshift if it matters.
I've attached an image of network.
I've attached an image of network.
Houdini Indie and Apprentice » Camera Path Animation
- drossxyu
- 31 posts
- Offline
Well that's certainly easier than I thought it would be. Sometimes I assume that the solution is going to be super complicated. I did find an alternative by using the lookat constraint after the Follow Path constraint in my constraints network. From there I had to make my lookat null a great distance away from my object in order force it to aim perpendicular to the motion path. Being able to just rotate it 90 degrees under the null will certainly be more intuitive. Thanks!
Houdini Indie and Apprentice » Camera Path Animation
- drossxyu
- 31 posts
- Offline
I'm trying to constrain a camera to a curve but also have the ability to rotate it interdependently of the path. When I create a follow path constraint on my camera it follows the curve just fine but both the rotations at the object level and the embedded ‘xform1’ fail to allow me to rotate the camera. What's the proper workflow for having added control when constraining your camera to a path?
Houdini Indie and Apprentice » HDA Best Practices / Workflow with multiple instances
- drossxyu
- 31 posts
- Offline
Got it. Thank you for the affirmation.
I guess what I’ve been unclear on, having never used multiple instances of the same HDA, is whether saving a new version based on one of the duplicates would somehow interfere with the unique object level tweaks I may have done on all the other variants. Seems like only the changes within the “subnet” would propagate but any unique value tweaks to the parameters promoted on the outside would remain independent.
I guess what I’ve been unclear on, having never used multiple instances of the same HDA, is whether saving a new version based on one of the duplicates would somehow interfere with the unique object level tweaks I may have done on all the other variants. Seems like only the changes within the “subnet” would propagate but any unique value tweaks to the parameters promoted on the outside would remain independent.
Houdini Indie and Apprentice » HDA Best Practices / Workflow with multiple instances
- drossxyu
- 31 posts
- Offline
I'm creating an HDA for a futuristic flying vehicle that will be animated primarily via a motion path. What makes it slightly more complicated is that I want to include the lights that make up the headlight array and a few extra pieces of geometry that will drive the mesh lights. Additionally, I want my follow path constraint intact so that I can easily point it to a curve.
In my scene I will ideally have several of these assets. What is the best way to allow me to bring in this car HDA, continue to update it's geometry, lookdev and so on, and be able to constrain each one to its own unique curve?
As of now the curve in which it attaches to is embedded in the HDA as a placeholder but I imagine I will have to promote a parameter at the object level that will point to this unique curve.
I've attached an image of how the HDA is currently constructed internally.
The only parameters that have been promoted are the ‘position’ and ‘roll’ attributes on the follow path constraint that lives in the constraint network of my car object.
In my scene I will ideally have several of these assets. What is the best way to allow me to bring in this car HDA, continue to update it's geometry, lookdev and so on, and be able to constrain each one to its own unique curve?
As of now the curve in which it attaches to is embedded in the HDA as a placeholder but I imagine I will have to promote a parameter at the object level that will point to this unique curve.
I've attached an image of how the HDA is currently constructed internally.
The only parameters that have been promoted are the ‘position’ and ‘roll’ attributes on the follow path constraint that lives in the constraint network of my car object.
Houdini Lounge » Viewport Camera Freak Out
- drossxyu
- 31 posts
- Offline
Houdini Lounge » Viewport Camera Freak Out
- drossxyu
- 31 posts
- Offline
I've been having this issue for a couple days now where I'm tumbling the viewport and it will suddenly either flip completely upside down or rotate off kilter until I use space+G to reset it. It's happening so frequently now that is making it difficult to work. The only keys i'm using to navigate are Alt and Middle / Left click. See below :
https://imgur.com/8NbPGYw [imgur.com]
https://imgur.com/8NbPGYw [imgur.com]
Edited by drossxyu - July 6, 2019 09:30:34
Technical Discussion » viewport keeps changing the camera
- drossxyu
- 31 posts
- Offline
This seems to still be happening. I'm on 17.5.293. Doesn't matter if the viewport is locked or not. It will randomly flip my perspective upside down and the only way to recover is to press space+g to reset the screen. It's happening constantly and also causing my redshift render view to bug out.
Houdini Indie and Apprentice » Possible Missing HDA : The following node types are using incomplete asset definitions
- drossxyu
- 31 posts
- Offline
Just did some test and I see now that you would ideally have an “hda” sub-directory as part of your project if they were indeed project specific. I just made a new one and proceeded to purposefully delete it and got the same result I'm experiencing with my tower asset.
My questions are as follows:
1)
Is there anyway for the hda to be embedded within the file? The only reason I wanted to make one in the fist place is because it seemed like the only way I could promote parameters on a subnet that could then be further manipulated by my copy setup. Ideally, i'd just want to object merge one of these objects in but have certain parameters accessible.
2) I still don't see any acknowledgement of the original path to the .hda file anywhere after deletion. If I open up my .hip in a text editor I fail to see any specific references to where it was being stored.
My questions are as follows:
1)
Is there anyway for the hda to be embedded within the file? The only reason I wanted to make one in the fist place is because it seemed like the only way I could promote parameters on a subnet that could then be further manipulated by my copy setup. Ideally, i'd just want to object merge one of these objects in but have certain parameters accessible.
2) I still don't see any acknowledgement of the original path to the .hda file anywhere after deletion. If I open up my .hip in a text editor I fail to see any specific references to where it was being stored.
Houdini Indie and Apprentice » Possible Missing HDA : The following node types are using incomplete asset definitions
- drossxyu
- 31 posts
- Offline
Seems to be the case. Just tried creating a fresh new HDA. Default Location :
“CUsers/****/Documents/houdini17.5/otls/****_subnet2.hdalc”
That's infuriating. Why would this be the default location? Lesson learned I guess.
Also, why is there no way to at least see the absolute path of where this hda used to live?
“CUsers/****/Documents/houdini17.5/otls/****_subnet2.hdalc”
That's infuriating. Why would this be the default location? Lesson learned I guess.
Also, why is there no way to at least see the absolute path of where this hda used to live?
Houdini Indie and Apprentice » Possible Missing HDA : The following node types are using incomplete asset definitions
- drossxyu
- 31 posts
- Offline
I had to unfortunately do a full reformat on my machine and after getting back up and running I'm coming across
this error in the scene I was working in :
Warning: The following node types are using incomplete asset definitions:
Sop/tower_001
This object which contained the HDA I had created is now empty. This was the first HDA i had ever made, mind you,
but it was working just fine until now.
Is it possible the HDA by default saves in a location that is different than my project? Perhaps it was on my primary drive
that was reformatted?
The drive letters have switched a bit so I thought that may be the issue but I don't see an .hda or .otl anywhere within the folder
structure of my project.
Any help would be great appreciated as if this asset is missing I'll have lost quite a bit of work.
this error in the scene I was working in :
Warning: The following node types are using incomplete asset definitions:
Sop/tower_001
This object which contained the HDA I had created is now empty. This was the first HDA i had ever made, mind you,
but it was working just fine until now.
Is it possible the HDA by default saves in a location that is different than my project? Perhaps it was on my primary drive
that was reformatted?
The drive letters have switched a bit so I thought that may be the issue but I don't see an .hda or .otl anywhere within the folder
structure of my project.
Any help would be great appreciated as if this asset is missing I'll have lost quite a bit of work.
-
- Quick Links