Found 34 posts.
Search results Show results as topic list.
Technical Discussion » Compiling the Pixar USD Houdini plugin on Windows
- eldiren
- 50 posts
- Offline
Technical Discussion » How to work in real time speed within large FBX scene files?
- eldiren
- 50 posts
- Offline
Like the other said, as soon as you are able switch it to alembic. Depending on the renderers your using you'll get a massive performance and memory boost with Alembic, you can also display the ship in more creative ways, like centroid or bounds, once it's alembic. Alembics are also packed by default, but you could also natively pack the ship up reducing it's footprint.
You could also create an Object Merge in another Geo container and do a * to bring in all the FBX subnet geo into the new container and hide the FBX subnet. you can click on Pack Geometry Before Merging, Create Pre-Primitive Path, and Add Path Attribute, and then you have one stream you can blast/delete to your hearts content for various collisions and destruction work. Setting the path attribute to path also makes it very similar to what you'd get if you'd imported an Alembic, and helps with the Alembic export ROP.
You could also create an Object Merge in another Geo container and do a * to bring in all the FBX subnet geo into the new container and hide the FBX subnet. you can click on Pack Geometry Before Merging, Create Pre-Primitive Path, and Add Path Attribute, and then you have one stream you can blast/delete to your hearts content for various collisions and destruction work. Setting the path attribute to path also makes it very similar to what you'd get if you'd imported an Alembic, and helps with the Alembic export ROP.
Technical Discussion » Volume light and shadow catching
- eldiren
- 50 posts
- Offline
I have a scene exported from another package and I've created lights to represent the lighting from the previous package. I'd like to render volumetrics in Mantra and simply comp the shadows and emission generated from the smomke and fire. To put it another way I need to create a separate alpha for the smoke even though it's in a environment, I need to capture the light bleed onto the walls, and I need to capture any shadows from the smoke that might hit the floor. I'd render it all together in Arnold but Mantra is just simply faster.
Technical Discussion » Point deltas
- eldiren
- 50 posts
- Offline
Yeah with a few tweak I got it. My topology is different for the input one, hence the pindex lookup. Where I was messed up was the pt in the point expression. For the topologies that matched I needed to be using @ptnum instead. Thanks for your assistance, your code helped me have that final ah ha moment.
Technical Discussion » Point deltas
- eldiren
- 50 posts
- Offline
I have an asset I'm trying to create. In an attribute wrangle I accept three inputs, a resp pose, a potenially animated figure, and a part of the same figure that is animated but basically at the rest pose. I want to get the animated part onto the full figure at the full figures position. It'd be similar to stacking blendshapes on top joint deformation in another package.
I came up with the this code
//input 1 is animated part
//input 2 is rest pose
int pt = findattribval(1, “point”, “pindex”, @ptnum);
if (pt!=-1) {
vector deltaP = point(1, “P”, pt) - point(0, “P”, pt);
@P = deltaP + point(2, “P”, pt);
}
So basically I subtract the animated part of the character from the full figure to get a delta. then I add that to the rest pose for the final position. Vector math always get jumbled in my head, and obviously this current code doesn't work. The findattribval use a previously created pindex attribute to transfer position from a prior deleted part that I rig and dynamic in another package.
I came up with the this code
//input 1 is animated part
//input 2 is rest pose
int pt = findattribval(1, “point”, “pindex”, @ptnum);
if (pt!=-1) {
vector deltaP = point(1, “P”, pt) - point(0, “P”, pt);
@P = deltaP + point(2, “P”, pt);
}
So basically I subtract the animated part of the character from the full figure to get a delta. then I add that to the rest pose for the final position. Vector math always get jumbled in my head, and obviously this current code doesn't work. The findattribval use a previously created pindex attribute to transfer position from a prior deleted part that I rig and dynamic in another package.
Houdini Lounge » OpenGL diffuse in VOPs
- eldiren
- 50 posts
- Offline
So I've been messing with SHOP networks and incorporating things I do in SOP VOPs into SHOPs. If I plug some of my own math into Base Color it invalidates the OpenGL diffuse and thus I can see what I'm doing in the viewport. I've been banging my head all day on how to expose ogl_diff so I can plug my nodes direct into it and restore my viewport. For that matter really, all the parameters under the OpenGL tab for a shader, where are they in VOPs?
Technical Discussion » Houdini and Cinema 4D Particle Alembics
- eldiren
- 50 posts
- Offline
Yeah, my research seems to have concluded that too. Based on Maxon's structure though this is exactly how they actually store their particles, with the properties outside arbGeomParams. In this case it would seem the Maxon guys got the spec wrong, but I was kinda hoping Houdini was versatile enough to allow me to write the Alembic in a slightly different way without resorting to heavy Python. Ultimately I just used a Houdini asset that read the alembic and/or bgeo and that worked. Through Houdini engine C4D does some translation that ultimately gets it right and gives me proper values. I still have yet to get other custom properties through though.
Technical Discussion » Houdini and Cinema 4D Particle Alembics
- eldiren
- 50 posts
- Offline
I've been playing with particles in C4D and Houdini and after doing a bit of Alembic interchange and lots of research here on the forums I think I've got at the crux of the problem. Using some Alembic utilities I've noted the C4D exports it's particle information directly on the shape node like so:
–.geom
:–.selfBnds
:–P
:–.pointIds
:–.velocities
:–.widths
:–c4dMass
:–c4dAge
:–c4dLife
:–c4dScale
:–c4dSpinAxis
:–c4dSpinSpeed
:–c4dAlignment
:–c4dColor
:–c4dRandomSeed
`–c4dDTFactor
Houdini upon export stores it's data sort of like this:
–.geom
: :–.selfBnds
: :–P
: :–.pointIds
: :–.userProperties
: :–.arbGeomParams
: : :–sourceptnum
: : :–uv
: : :–pprevious
: : :–has_pprevious
: : :–airresist
: : :–age
: : :–life
: : :–targetv
: : :–force
: : :–doppath
: : `–nextid
: `–.velocities
`–visible
The data from Houdini is getting stored in arbGeomParams. When read into a Particle Geometry in C4D this pops up as a Thinking Particle channel but I can't use stuff inside it (that I know of). I know I can change attribute names as needed before exporting from a Alembic ROP, but how can I make an attribute like Cd, life, etc. be directly below geom in Alembic instead of under arbGeomParams?
–.geom
:–.selfBnds
:–P
:–.pointIds
:–.velocities
:–.widths
:–c4dMass
:–c4dAge
:–c4dLife
:–c4dScale
:–c4dSpinAxis
:–c4dSpinSpeed
:–c4dAlignment
:–c4dColor
:–c4dRandomSeed
`–c4dDTFactor
Houdini upon export stores it's data sort of like this:
–.geom
: :–.selfBnds
: :–P
: :–.pointIds
: :–.userProperties
: :–.arbGeomParams
: : :–sourceptnum
: : :–uv
: : :–pprevious
: : :–has_pprevious
: : :–airresist
: : :–age
: : :–life
: : :–targetv
: : :–force
: : :–doppath
: : `–nextid
: `–.velocities
`–visible
The data from Houdini is getting stored in arbGeomParams. When read into a Particle Geometry in C4D this pops up as a Thinking Particle channel but I can't use stuff inside it (that I know of). I know I can change attribute names as needed before exporting from a Alembic ROP, but how can I make an attribute like Cd, life, etc. be directly below geom in Alembic instead of under arbGeomParams?
Technical Discussion » Transfer Point Positions based on attribute
- eldiren
- 50 posts
- Offline
tamte I had to read yours and look at the documentation a bit, but yeah it's pretty ingenious actually. +1 internets for you.
Technical Discussion » Transfer Point Positions based on attribute
- eldiren
- 50 posts
- Offline
Yeah much simpler. I need to learn more about VEX. I achieved the same result via nodes after playing around with connecting more inputs to the for loop hold hold much needed outputs.
Technical Discussion » Transfer Point Positions based on attribute
- eldiren
- 50 posts
- Offline
I have a mesh with a primitive group and another mesh where I've extracted that primitive group and done some work on it (in say Zbrush). The primitive group is part of a greater mesh. What I've done is created an attribute called pindex which is assigned the point number. when I do a delete node using my primitive group my pindex maintains the original point number value. Then I attribute copied that to my modified zbrush mesh since both topologies match. So far so good. Here's where things get murky for me. I want to use some form of a loop to check if pindex matches the pointnum from the original geometry upstream. Then I want to change the P vector so it matches the modified geometry. I thought to do this with a point VOP and perhaps a for loop vop, but I never get a value of true indicating that pointnum is equal to pindex. In the for loop vop I basically imported pindex from my second input (that's where I plugged in my modified geo), and ran a compare against ptnum. Anyone have any hints or maybe an even better way to go about this?
Houdini Lounge » Alembic animation
- eldiren
- 50 posts
- Offline
Houdini Lounge » Alembic animation
- eldiren
- 50 posts
- Offline
I have a cached dynamic scene I did in Cinema 4D that I've exported out as alembic. I bring it into Houdini as an Alembic scene but unlike in Maya and Cinema 4D it doesn't animate by default. setting the different alembic xforms to $F works fine to get animation going, but in this case I have 30+ objects. Am I doing something wrong here? Is there a way to import Alembics that will have them auto animate?
Houdini Indie and Apprentice » Building a computer for FX in Houdini.
- eldiren
- 50 posts
- Offline
Sorry I'm late to the party, but from working in VFX for the last five or so years, and graphics design a lot longer I have a few minor insights. If you’re a PC guy you can certainly build a computer for significantly cheaper than your current price point. My personal favorite place to buy PC parts is Newegg. I'd subscribe to them and have them email you deals, they always have great sales.
Moving along, the vast majority of effects software these days are CPU based, and have little in the way of GPU acceleration. More CPUs means more rendering buckets and more threads to divert and keep the machine stable during intense sims. With Arnold for instance, on my modest 8 core i7, I can have 6 threads(processors) render while I leave two available so the computer will at least respond to me during a render. Sims eat up lots of HD space and memory, and big sims could potentially consume massive amounts of RAM. I have a moderate 12GB, but if I had the funds I'd do 32GB or more. The computer I built for a friend has 128GB, and was somewhat in your price range.
Once you go SSD you never go back, and frankly, any pro machine I build these days has one standard. An SSD (Solid state drive) is like a huge brick of RAM in terms of the loading speed of your programs. If you can run your sim caches off one as well then you’re talking real time previews and caching of your sims in most cases. Waiting for sims takes up the vast majority of my time as a VFX guy, and whenever I can use my secondary SSD it’s truly a joy. That being said, the way I like to configure things is to have a smaller SSD (120-256GB) for my OS and programs, and then have a bigger SATA drive, or SATA RAID for work files and data. In Windows if you’re not careful, or really learned about PCs, it’s pretty inevitable you’re going to get some annoying malware, and if your main drive crashes or needs to be wiped it’s truly great to have the OS and programs separate from the work.
For speeds sake I’d definitely use a RAID 0, but that does double or triple your chances of losing all your data so a good external for backups on a regular basis is a must as well. If you have the money you could also go for a 1TB SSD instead of the RAID for blazing fast sims and greater reliability. That being said I’ve very rarely had RAID 0 crash on me over the years, maybe once every two or three years or so. Two 1TB drives in RAID 0 is $130 giving you 2TB of space at twice the speed vs $199-300+ for a 1TB SSD.
Your greatest cost will be processors. The computer I built for my friend is a server workstation similar to what you would get from Dell or HP. Those use Xeon processors which are very robust, and with the Haswell line Intel is currently producing your could potentially have 18 cores on one. Two six core Xeons gives you 24 threads, or basically 24 processors in windows thanks to hyperthreading on Intel processors, which basically doubles the physical processor count. Those run a pretty decent $339 at their cheapest these days, with 8+ core Xeons upwards to 1000+ each. I do fine with my 4 core i7 which gives me 8 threads, and when it first came out it ran me $260-290 or so. In serious jobs you must understand that ultimately to get anything out on time you may need a lot more than one computer. I’d buy a few cheaper computers with slightly lower specs then mine to help out on render times. You’ll need the big boy you’re trying to build purely to make sims go easier, and to be able to do sims that would kill a machine like mine.
That bring us to the end with video cards. Surprisingly video cards are little help in this CPU dominated industry. I’m still a novice in Houdini, but I can tell you that Turbulence FD in Cinema 4D, as well as Fume FX both don’t use any of the extra precision that a Quatro offers. The only thing important to them is enough memory to execute the sim. Be that as it may, GPU sims go faster than even SSD backed CPU sims so a 4GB GTX card is cheap and will get your products out the door faster, as well allowing you to take full advantage of dual monitor workflows. Huge up res-ed sims can easily eat more than 4GB of memory though, as can huge 3D scenes in a GPU renderer like Octane. So your memory and CPUs are always going to be more important currently, and I would stick to a good $500 or less Nvidia card if I were you, unless you really want to shell out $4000+ on the K6000 12GB animal. I think I’d rather spend $4000 on a dual Xeon beast personally, or even better divide that up and get two really good render machines so I can get renders out faster.
In summary CPUs, memory, and SSDs should be your concentration with the GPU as an afterthought. Lots of memory means bigger grander sims, and more CPUs means you can calculate them faster and do look dev on them quicker.
As a quick spec sheet I imagine you could find a computer like this around the 1500-2000 mark, and frankly you could always go with a little less and still be ahead of the curve:
2x Xeon 6 core
64GB DDR3 memory
256GB SDD
2x 1TB SATA HDD
Nvidia GTX 900 series graphics card 2-4GB GDDR5
600watt Power Supply
Server Motherboard
E-ATX Case
External 3TB USB 3.0 drive
Moving along, the vast majority of effects software these days are CPU based, and have little in the way of GPU acceleration. More CPUs means more rendering buckets and more threads to divert and keep the machine stable during intense sims. With Arnold for instance, on my modest 8 core i7, I can have 6 threads(processors) render while I leave two available so the computer will at least respond to me during a render. Sims eat up lots of HD space and memory, and big sims could potentially consume massive amounts of RAM. I have a moderate 12GB, but if I had the funds I'd do 32GB or more. The computer I built for a friend has 128GB, and was somewhat in your price range.
Once you go SSD you never go back, and frankly, any pro machine I build these days has one standard. An SSD (Solid state drive) is like a huge brick of RAM in terms of the loading speed of your programs. If you can run your sim caches off one as well then you’re talking real time previews and caching of your sims in most cases. Waiting for sims takes up the vast majority of my time as a VFX guy, and whenever I can use my secondary SSD it’s truly a joy. That being said, the way I like to configure things is to have a smaller SSD (120-256GB) for my OS and programs, and then have a bigger SATA drive, or SATA RAID for work files and data. In Windows if you’re not careful, or really learned about PCs, it’s pretty inevitable you’re going to get some annoying malware, and if your main drive crashes or needs to be wiped it’s truly great to have the OS and programs separate from the work.
For speeds sake I’d definitely use a RAID 0, but that does double or triple your chances of losing all your data so a good external for backups on a regular basis is a must as well. If you have the money you could also go for a 1TB SSD instead of the RAID for blazing fast sims and greater reliability. That being said I’ve very rarely had RAID 0 crash on me over the years, maybe once every two or three years or so. Two 1TB drives in RAID 0 is $130 giving you 2TB of space at twice the speed vs $199-300+ for a 1TB SSD.
Your greatest cost will be processors. The computer I built for my friend is a server workstation similar to what you would get from Dell or HP. Those use Xeon processors which are very robust, and with the Haswell line Intel is currently producing your could potentially have 18 cores on one. Two six core Xeons gives you 24 threads, or basically 24 processors in windows thanks to hyperthreading on Intel processors, which basically doubles the physical processor count. Those run a pretty decent $339 at their cheapest these days, with 8+ core Xeons upwards to 1000+ each. I do fine with my 4 core i7 which gives me 8 threads, and when it first came out it ran me $260-290 or so. In serious jobs you must understand that ultimately to get anything out on time you may need a lot more than one computer. I’d buy a few cheaper computers with slightly lower specs then mine to help out on render times. You’ll need the big boy you’re trying to build purely to make sims go easier, and to be able to do sims that would kill a machine like mine.
That bring us to the end with video cards. Surprisingly video cards are little help in this CPU dominated industry. I’m still a novice in Houdini, but I can tell you that Turbulence FD in Cinema 4D, as well as Fume FX both don’t use any of the extra precision that a Quatro offers. The only thing important to them is enough memory to execute the sim. Be that as it may, GPU sims go faster than even SSD backed CPU sims so a 4GB GTX card is cheap and will get your products out the door faster, as well allowing you to take full advantage of dual monitor workflows. Huge up res-ed sims can easily eat more than 4GB of memory though, as can huge 3D scenes in a GPU renderer like Octane. So your memory and CPUs are always going to be more important currently, and I would stick to a good $500 or less Nvidia card if I were you, unless you really want to shell out $4000+ on the K6000 12GB animal. I think I’d rather spend $4000 on a dual Xeon beast personally, or even better divide that up and get two really good render machines so I can get renders out faster.
In summary CPUs, memory, and SSDs should be your concentration with the GPU as an afterthought. Lots of memory means bigger grander sims, and more CPUs means you can calculate them faster and do look dev on them quicker.
As a quick spec sheet I imagine you could find a computer like this around the 1500-2000 mark, and frankly you could always go with a little less and still be ahead of the curve:
2x Xeon 6 core
64GB DDR3 memory
256GB SDD
2x 1TB SATA HDD
Nvidia GTX 900 series graphics card 2-4GB GDDR5
600watt Power Supply
Server Motherboard
E-ATX Case
External 3TB USB 3.0 drive
-
- Quick Links