Fur strands on displaced mesh.

Discussions about SOFTIMAGEs© Interactive Creative Environment©
User avatar
Werner
Posts: 157
Joined: 09 Jun 2009, 11:30

Fur strands on displaced mesh.

Post by Werner » 28 Jan 2013, 15:02

How do you guys go about offsetting strands on displaced objects to follow the surface precisely.
We are working on an animal model with very short hair, and the geometry has a zbrush displacement map applied.

I'm using the same displacement map to push points up or down along their normal to try and match the displaced mesh. It works to a degree, but it's messy and takes time to adjust.

How do you guys solve this problem?

angelous4x
Posts: 133
Joined: 06 Nov 2011, 04:24
Location: new York

Re: Fur strands on displaced mesh.

Post by angelous4x » 28 Jan 2013, 16:25

never tried it, but could use use the displacement map(black to white) and rescale to offset the strand(particle) positions?

User avatar
Werner
Posts: 157
Joined: 09 Jun 2009, 11:30

Re: Fur strands on displaced mesh.

Post by Werner » 28 Jan 2013, 16:42

That is what we are doing and it seems to work ok. It's just a very slow process on 10 mill strands.

Helli
Posts: 211
Joined: 04 Jun 2009, 09:21

Re: Fur strands on displaced mesh.

Post by Helli » 29 Jan 2013, 14:14

It's only slow on the first frame were the strands are going to be generated so that should be okey, no ?
How do you look up the texture value ? Through emitlocation I guess ? (just asking in case you use some sort of closest location or stuff like that).
I don't think there's any other solution except of using the high density mesh itself.

User avatar
csaez
Posts: 253
Joined: 09 Jul 2012, 13:31
Skype: csaezmargotta
Location: Sydney, Australia

Re: Fur strands on displaced mesh.

Post by csaez » 31 Jan 2013, 10:20

You can envelope your pcloud and copy the weights via scripting (unfortunatelly GATOR doesn't work), there's no need to reevaluate the particle offset in a per frame basis :)

Helli
Posts: 211
Joined: 04 Jun 2009, 09:21

Re: Fur strands on displaced mesh.

Post by Helli » 31 Jan 2013, 11:13

I don't think enveloping the pcloud will be faster then setting the position in a post simulation stack with emitlocation.pointposition + per point stored displ offset. Envelopes in xsi are single threaded as far as I know.

Would be worth a try to compare the speed differences.

User avatar
csaez
Posts: 253
Joined: 09 Jul 2012, 13:31
Skype: csaezmargotta
Location: Sydney, Australia

Re: Fur strands on displaced mesh.

Post by csaez » 31 Jan 2013, 11:32

Yes the Envelop Op and the Cage Deform Op are both multi-threaded. But the Envelop Op is the only one using GPU acceleration (if you keep the "Allow Approximate Operators" preference On and don't add other deformers on top (except if the other deformers are Envelop Ops as well).
Cheers,
Guillaume Laforge
http://groups.google.com/forum/#!msg/xs ... dtr_cm3H0J

Helli
Posts: 211
Joined: 04 Jun 2009, 09:21

Re: Fur strands on displaced mesh.

Post by Helli » 31 Jan 2013, 15:03

Just tried to compare using an envelope and setting the point position in a post simulation ice tree.

Not sure why but setting the point position in another ice tree is quite a lot faster (with frozen modelling stack envelope 44fps / ice tree 110fps).