Found 20 posts.
Search results Show results as topic list.
Houdini for Realtime » USD, UE4.26b and uvs
- carstenk
- 84 posts
- Offline
seems like its a bug: https://issues.unrealengine.com/issue/UE-100533 [issues.unrealengine.com]
Houdini for Realtime » USD, UE4.26b and uvs
- carstenk
- 84 posts
- Offline
Just testing out getting a vertex cached mesh geo into ue4.26b via usd (from Houdini). But I am not having much luck getting texture uvs (udim or just 1001) to be recognized in my assigned materials (st primvar is present, also tried renaming them uv, just in case). Anyone have an idea what I am missing (the UE documentation says textures are supported)?
btw, the beta usdgeomcache in ue4 seems to run fairly quick now!
btw, the beta usdgeomcache in ue4 seems to run fairly quick now!
Technical Discussion » hiding geo temporarily while working in sops, tool context?
- carstenk
- 84 posts
- Offline
the best I could come up with is modifying the clipping planes of the camera in a tool, just wondering if there is a more native solution? (things like control over opacity etc would be sweet)
import toolutils camera = toolutils.sceneViewer().curViewport().camera(); near = camera.parm("near").eval(); far = camera.parm("far").eval(); camera.parm("near").set(far); camera.parm("far").set(near);
Edited by carstenk - Jan. 15, 2020 16:13:22
Technical Discussion » hiding geo temporarily while working in sops, tool context?
- carstenk
- 84 posts
- Offline
Hi, this might be a very straightforward case of ‘read the manual’, but haven't had any luck finding what I am after.
Essentially, I would like to temporarily disable (for example as long as a hotkey is pressed) the display of the all geo, manipulators etc, so I can look at the background image without any obstructions.
The specific use case is grooming/combing hair in order to match a specific reference image. While painting I'd like to temporarily elect to only see the reference (a little bit like doing onion skinning, just with the current frame, not over time).
Does anyone know how to achieve this?
Thanks!
Essentially, I would like to temporarily disable (for example as long as a hotkey is pressed) the display of the all geo, manipulators etc, so I can look at the background image without any obstructions.
The specific use case is grooming/combing hair in order to match a specific reference image. While painting I'd like to temporarily elect to only see the reference (a little bit like doing onion skinning, just with the current frame, not over time).
Does anyone know how to achieve this?
Thanks!
Technical Discussion » anaconda and houdini python on osx, how to?
- carstenk
- 84 posts
- Offline
Heya,
I am installing a bunch of python 2. packages (scipy, numpy and others) via anaconda on osx 10.11.6 and everything works as expected in a vanilla python shell. However I'd like to access the same packages via houdini python. Would anyone know how to go about this in a clean way?
Thanks,
Carsten
I am installing a bunch of python 2. packages (scipy, numpy and others) via anaconda on osx 10.11.6 and everything works as expected in a vanilla python shell. However I'd like to access the same packages via houdini python. Would anyone know how to go about this in a clean way?
Thanks,
Carsten
Technical Discussion » QT4 vs QT5
- carstenk
- 84 posts
- Offline
Technical Discussion » QT4 vs QT5
- carstenk
- 84 posts
- Offline
This is awesome and will help us a lot covering the duration until all major dcc applications are vfx platform compatible. How long do you intend on supporting the extra build?
Also, do you expect to offer this for all daily build or just the production builds?
Thanks again,
Carsten
Also, do you expect to offer this for all daily build or just the production builds?
Thanks again,
Carsten
Technical Discussion » synchronization of sim/render processes
- carstenk
- 84 posts
- Offline
Thanks, that is very helpful. A problem we are facing is that our farm submission/dependency software (not hqueue ) is not supporting the NetBarrierRop. Your idea of pre-frame sounds cool for specific sim setups, but I am wondering about a more generic solution, that allows one to keep track of the processes, restart, re-queue etc, all in a situation where you are basically limited to sequential and independent parallel processes.
wondering about chunking the execution of the simA into say 20 (10, 5,1) frames, at a time (each process taking a .sim file from the previous one as the initial state). then the execution of simB chunks could be triggered based on the finishing of the corresponding simA chunk
simA_1.5
| -> simB_1.5
simA_2.5 |
| -> simB_2.5
simA_3.5 |
| -> simB_3.5
simA_4.5 |
| -> simB_4.5
simA_5.5 |
| -> simB_5.5
you'd pay extra for run-up costs (starting houdini etc until it can continue the sim). one could adjust the chunk size based on the speed of simA and simB - which could result in a better license utilization (especially if simB is fast compared to simA)
wondering if anyone has experimented with setups like this?
wondering about chunking the execution of the simA into say 20 (10, 5,1) frames, at a time (each process taking a .sim file from the previous one as the initial state). then the execution of simB chunks could be triggered based on the finishing of the corresponding simA chunk
simA_1.5
| -> simB_1.5
simA_2.5 |
| -> simB_2.5
simA_3.5 |
| -> simB_3.5
simA_4.5 |
| -> simB_4.5
simA_5.5 |
| -> simB_5.5
you'd pay extra for run-up costs (starting houdini etc until it can continue the sim). one could adjust the chunk size based on the speed of simA and simB - which could result in a better license utilization (especially if simB is fast compared to simA)
wondering if anyone has experimented with setups like this?
Technical Discussion » synchronization of sim/render processes
- carstenk
- 84 posts
- Offline
hi,
I have a question regarding synchronization of processes running on different machines.
suppose we have:
- simA, 100 frames, 5 minutes a frame
- simB, 100 frames, 4 minutes a frame
simB is directly dependent on the output of simA
Now I could run simA on one box to its finish and then run simB, total wait time 900 minutes.
But I would like to run simA and simB in parallel, simB just slightly staggered behind (assuming simB only needs an additional frame from simA), so that it never overtakes simA. total wait time 504 minutes. (win of nearly 400 minutes, obviously at the potential expense of licenses and machine power)
the same problem expands to lots of other problems (for example rendering the result of a sim while the simulation is still going).
a slightly more complicated example would be simA clustered into 10 different subSims, and me wanting to advance a frame on simB once all those 10 sub-chunks for the frame have completed.
is there an example of how can I set something like this up?
cheers!
carsten
I have a question regarding synchronization of processes running on different machines.
suppose we have:
- simA, 100 frames, 5 minutes a frame
- simB, 100 frames, 4 minutes a frame
simB is directly dependent on the output of simA
Now I could run simA on one box to its finish and then run simB, total wait time 900 minutes.
But I would like to run simA and simB in parallel, simB just slightly staggered behind (assuming simB only needs an additional frame from simA), so that it never overtakes simA. total wait time 504 minutes. (win of nearly 400 minutes, obviously at the potential expense of licenses and machine power)
the same problem expands to lots of other problems (for example rendering the result of a sim while the simulation is still going).
a slightly more complicated example would be simA clustered into 10 different subSims, and me wanting to advance a frame on simB once all those 10 sub-chunks for the frame have completed.
is there an example of how can I set something like this up?
cheers!
carsten
Technical Discussion » Updating Exports <- Evaluating Python; whats going on?
- carstenk
- 84 posts
- Offline
Technical Discussion » Updating Exports <- Evaluating Python; whats going on?
- carstenk
- 84 posts
- Offline
Heya,
a question - when I put down a custom otl, Houdini immediately into cooking mode with the message mostly on display beeing:
“Updating Exports <- Evaluating Python”
This can take minutes in some cases. My question would be - what's happening? And how can I stop that from happening (or make it faster)?
Thanks,
Carsten
a question - when I put down a custom otl, Houdini immediately into cooking mode with the message mostly on display beeing:
“Updating Exports <- Evaluating Python”
This can take minutes in some cases. My question would be - what's happening? And how can I stop that from happening (or make it faster)?
Thanks,
Carsten
Technical Discussion » Limit wirecapture to 1 wire
- carstenk
- 84 posts
- Offline
now I know this is a blast from the past, but I was struggling with the same problem - for what it is worth, I solved it by
a) add a $CLASS attrib to the wires, set it to $PR
b) sort wires by $CLASS
c) transfer the $CLASS from the wire onto the geo to deform (leaves, branches etc)
d) partion geo to deform by $CLASS
e) foreach over each geo class grp, merge results
f) make your wires the second input
g) in the foreach, blast the wire input based on the $class attrib of the geo in the each (so now you have the matching pairing of wire and geo), wirecapture both
h) now you will have capture weights, were the wirecapture regn attrib refers to each prim/wire
i) wiredeform both
works fine, however took me some time to figure out the meaning of the wirecapture regn attrib
let me know if it is confusing, can maybe put up a small example
cheers, Carsten
a) add a $CLASS attrib to the wires, set it to $PR
b) sort wires by $CLASS
c) transfer the $CLASS from the wire onto the geo to deform (leaves, branches etc)
d) partion geo to deform by $CLASS
e) foreach over each geo class grp, merge results
f) make your wires the second input
g) in the foreach, blast the wire input based on the $class attrib of the geo in the each (so now you have the matching pairing of wire and geo), wirecapture both
h) now you will have capture weights, were the wirecapture regn attrib refers to each prim/wire
i) wiredeform both
works fine, however took me some time to figure out the meaning of the wirecapture regn attrib
let me know if it is confusing, can maybe put up a small example
cheers, Carsten
Technical Discussion » sops: stable polyframe over time?
- carstenk
- 84 posts
- Offline
ok, the issue with the above was that the vectors coming out of the polyframe sop are not normalized - after normalizing them, the cubes stick
Technical Discussion » sops: stable polyframe over time?
- carstenk
- 84 posts
- Offline
Thanks for the reply!
I realize that my initial assumption was wrong and the polyframe is actually very stable - so my error must be in the way that I am constructing the rotation quaternion from the polyframe attribute I want to use the align the geometry. Which brings me to the second thing that was wrong, which was my test scene (I forgot to add the step where I am converting the tangent and normal information into a rotation quaternion).
Rob - in your example you used the normal to build an up vector instead (and then it is up to the copy sop to contruct the orientation matrix from the up and N) - I basically tried to do what the copy sop does internally.
I've attached my updated example that highlights the actual problem (I presume in the polyframe to quaternion vopsop). Notice how the red cubes change their orientation at certain frames.
Sorry about the initial confusion.
I realize that my initial assumption was wrong and the polyframe is actually very stable - so my error must be in the way that I am constructing the rotation quaternion from the polyframe attribute I want to use the align the geometry. Which brings me to the second thing that was wrong, which was my test scene (I forgot to add the step where I am converting the tangent and normal information into a rotation quaternion).
Rob - in your example you used the normal to build an up vector instead (and then it is up to the copy sop to contruct the orientation matrix from the up and N) - I basically tried to do what the copy sop does internally.
I've attached my updated example that highlights the actual problem (I presume in the polyframe to quaternion vopsop). Notice how the red cubes change their orientation at certain frames.
Sorry about the initial confusion.
Technical Discussion » sops: stable polyframe over time?
- carstenk
- 84 posts
- Offline
Hi,
I am trying to stick / align geometry over time to a deforming geometry. I am using the polyframe sop to extract a transform, however as the underlying geometry deforms, the output of the polyframe can flip. I have attached a simple example - you can see the undesired behaviour around fr 130. Has anyone encountered this behavior before or found a good workaround? The fur sop must be solving the issue internally, but unfortunately I can't pry it open…
Thanks for any suggestions you might have!
Cheers,
Carsten
I am trying to stick / align geometry over time to a deforming geometry. I am using the polyframe sop to extract a transform, however as the underlying geometry deforms, the output of the polyframe can flip. I have attached a simple example - you can see the undesired behaviour around fr 130. Has anyone encountered this behavior before or found a good workaround? The fur sop must be solving the issue internally, but unfortunately I can't pry it open…
Thanks for any suggestions you might have!
Cheers,
Carsten
Technical Discussion » Houdini crash immediately aftter launch
- carstenk
- 84 posts
- Offline
I can't help with the crash, but I think the initial error messages you are getting are not directly connected to this issue. I do get the same errors when behind a proxy - I assume it's Houdini trying to synchronize the assets from the orbolt store. I don't get these error messages when the computer has direct access to the net.
I have not seen any crashes related to the issue on my side.
cheers, carsten
I have not seen any crashes related to the issue on my side.
cheers, carsten
Technical Discussion » creating thousands of nodes, memory / speed?
- carstenk
- 84 posts
- Offline
Hi Rob and Edward,
Thanks for your replies! The nodes in questions are containers for separate geometry (actually multiple representations of the same geometry, think lods etc.). Simplified, they do contain lots of file in node pointing to potentially animated geometry and processes can merge data from various OUT nulls inside. They would typically not merge from all of them, but a user defined subset.
the object level node itself has a non connected null node inside with display flag and render flag ‘on", the node it is set to invisible. So I am assumming, that none of the file in nodes are actually evaluating or loading data, because nothing is pulling data from them?
it’s good to know that all of my nodes are actually separate node networks! I was under the assumption that they were more treated like instances - but this means I should really look into reducing the amount of nodes inside as much as possible. Is the same true for vex/vops type nodes/networks (vopsops etc.)?
PS: I've still got to try the nocook option to see if it makes a difference
Thanks for your replies! The nodes in questions are containers for separate geometry (actually multiple representations of the same geometry, think lods etc.). Simplified, they do contain lots of file in node pointing to potentially animated geometry and processes can merge data from various OUT nulls inside. They would typically not merge from all of them, but a user defined subset.
the object level node itself has a non connected null node inside with display flag and render flag ‘on", the node it is set to invisible. So I am assumming, that none of the file in nodes are actually evaluating or loading data, because nothing is pulling data from them?
it’s good to know that all of my nodes are actually separate node networks! I was under the assumption that they were more treated like instances - but this means I should really look into reducing the amount of nodes inside as much as possible. Is the same true for vex/vops type nodes/networks (vopsops etc.)?
PS: I've still got to try the nocook option to see if it makes a difference
Technical Discussion » creating thousands of nodes, memory / speed?
- carstenk
- 84 posts
- Offline
Hi,
a question about how houdini handles nodes (hda + subcontent) and their memory? In my application I am creating thousands of nodes of the same type based on an hda (mostly wrappers for filein nodes + some conversion nodes). This is done via python. What I see is the memory used for this being very high (20gigs for 5000 instances etc) and processes like collpasing, merging those nodes into an otl taking litterally hours.
I am wondering:
- how are all of those copies of the same node being managed in the scene? instances of the same type with different parameters? indiviual node networks with subnets?
- what is causing the high memory load and time requirements? is there a suggested way of creating and dealing with 1000nds of nodes?
- after refreshing the scene (new) it also seems that most of that memory is not released - might this be an indication of a leak?
Is there a suggested way to a) structure your hda's so they are quick to instantiate etc. b) create your nodes and c) manage them in your scene (visibility flags, undo queue etc., expressions within the node etc)
Any previous experiences or hints on how to manage this amount of nodes best would be appreciated!
Thanks,
Carsten
a question about how houdini handles nodes (hda + subcontent) and their memory? In my application I am creating thousands of nodes of the same type based on an hda (mostly wrappers for filein nodes + some conversion nodes). This is done via python. What I see is the memory used for this being very high (20gigs for 5000 instances etc) and processes like collpasing, merging those nodes into an otl taking litterally hours.
I am wondering:
- how are all of those copies of the same node being managed in the scene? instances of the same type with different parameters? indiviual node networks with subnets?
- what is causing the high memory load and time requirements? is there a suggested way of creating and dealing with 1000nds of nodes?
- after refreshing the scene (new) it also seems that most of that memory is not released - might this be an indication of a leak?
Is there a suggested way to a) structure your hda's so they are quick to instantiate etc. b) create your nodes and c) manage them in your scene (visibility flags, undo queue etc., expressions within the node etc)
Any previous experiences or hints on how to manage this amount of nodes best would be appreciated!
Thanks,
Carsten
Technical Discussion » opengl viewport performance fps display?
- carstenk
- 84 posts
- Offline
Technical Discussion » opengl viewport performance fps display?
- carstenk
- 84 posts
- Offline
Hi,
I'd like to see how fast the opengl viewport refreshes in fps (not interested in the playback fps). Is there a way to display this, similar to the maya heads up display option?
There is some viewport draw timing info in the performance monitor, but I didn't find a way to show me the fps (but I might have missed something).
any help would be appreciated :-)
thanks,
carsten
I'd like to see how fast the opengl viewport refreshes in fps (not interested in the playback fps). Is there a way to display this, similar to the maya heads up display option?
There is some viewport draw timing info in the performance monitor, but I didn't find a way to show me the fps (but I might have missed something).
any help would be appreciated :-)
thanks,
carsten
-
- Quick Links