let's start with something simpler, the debris:
v02_03 debris size variation
v02_03 debris size variation
v02_03 debris size variation
v02_03 debris size variation
v02_04 debris size variation
v02_04 debris size variation
v03_01 debris amount half
v03_01 debris amount half
v03_02 debris amount half half
v03_02 debris amount half half
v03_03 debris amount half half half
v03_03 debris amount half half half
alright! v02_04 + v03_02 
Push to next stage, the dust: 
(*CBB maybe some stylized dust)
v04_01 dust first pass
v04_01 dust first pass
v04_02 exaggerate dust more
v04_02 exaggerate dust more
v04_v03 crazy dust
v04_v03 crazy dust
ok! put v04_03 crazy dust together with debris
debris and dust together
debris and dust together
let's keep this one as it is, now move on to grooming and fur sim:
let's start with some ref
since this anime doesn't come with a rest pose, let's try if just grooming on the first frame and sim work or not:
v05_01 rough grooming trial
v05_01 rough grooming trial
v05_01 hair gen trial
v05_01 hair gen trial
seems like things could work, now let's groom the whole body and sim it:
v05_02 body full groom
v05_02 body full groom
v05_02 hairgen
v05_02 hairgen
alright, took a bit of time manual groom on both sides, couple of things need to look at next:
hair can go longer
belly hair similar length
let hair have some feel of weight
can have some curly, not too much
go denser
v05_03 longer, denser, heavier, similar belly length, little bit of curly
v05_03 longer, denser, heavier, similar belly length, little bit of curly
okok, it's getting there, now we need:
give more curly on long fur
add short and hard fur to whole body, this shouldn't move much as rhino gallop 
overshoot density/increase fur amount at a later stage
give variations on fur movement at a later stage

v05_04 first pass of short fur sim
v05_04 first pass of short fur sim
v05_04 hairgen
v05_04 hairgen
alright! a couple of things to look at for short hard fur
double guide amount
relax guide a bit, break the uniformity 
when sim, increase bend stiffness, make it look hard
when hairgen, give some guide process, break the uniformity 

v05_06 short hard fur sim
v05_06 short hard fur sim
v05_06 short hard hairgen + long hair all together
v05_06 short hard hairgen + long hair all together
alright! it looks quite working, few things to check in the next iteration
longer hair go harder, clump strength can go higher
go 1.5 times denser
render a first pass and build on that
nice progress keep going!  
v05_07 longer hair go harder
v05_07 longer hair go harder
v05_08 longer hair go even harder
v05_08 longer hair go even harder
v05_09 longer hair go way way harder
v05_09 longer hair go way way harder
v05_10 hairgen playblast
v05_10 hairgen playblast
v05_10 cfxFur fxGroundInteraction render
v05_10 cfxFur fxGroundInteraction render
looks not bad! though there are still room to polish
fxGroundInteraction - add motion blur to debris, give interesting debris shape, re-sim dust crank up density
cfxFur - add some fluffy fur on ear, add some shorter fur around nose
render - re-look cam blur, filecache longer, render go longer
v05_15 fixed up requests
v05_15 fixed up requests
ok ok! quite a progress! Next step is some small fixes and variations, keep this version but do the followings! 
crank up the debris velocity, motion blur is there but can go higher
give the eye ball another shader, now though it's not covered, but too vague
give it a background HDRI 
once they are done, give 3 versions of long fur feelings and ask Alfonso and Ellie for some reviews

v05_17 long fur low bend stiffness
v05_17 long fur low bend stiffness
v05_16 long fur medium bend stiffness
v05_16 long fur medium bend stiffness
v05_18 long fur high bend stiffness
v05_18 long fur high bend stiffness
Ok! 3 versions of different long fur feelings, overall not bad! 
one thing spotted so far to fix is a spike fur on the back near the tail:)
alright! 
many thanks to Alfonso for taking time out to review my work! 
notes from Alfonso: remove the HDRI, the light from karma physical sky is better
pick the v05_15 (the upper larger one)

and.. some more self-iterations:
bring the updated motion blur to v05_15 and rename the latest project as v06_01
make sure the eyeball shader is correct
clean the "antenna fur" on rhino's back

Oh! Just heard back from Ellie, now send this one for her to review
v06_01 no antenna, near end version, being reviewed by Ellie
v06_01 no antenna, near end version, being reviewed by Ellie
so much appreciation for Ellie to review my fur work as well!! 
address these ones and should any of this need live review, remember you could send her playblast on groom/guides/furSim/hairGen
 look at that front feet, correct the fur stretch
make a follow-cam, remove the gallop cam for now
make the hair more floppy
mask bend stiffness along the fur, more bend at the tip, less at the root

organize and document all other fur related guidance into your wiki
 love fluffy things? look at the fur on sonic! they are from Ellie! (excited face)

anyway, keep on iterating it! This is going to be a great project! 

v06_02 added follow-cam, fixed front feet stretch hair
v06_02 added follow-cam, fixed front feet stretch hair
alright! technical fixes go first
follow cam used, better than the cinematic gallop cam in terms of reviewing
fixed front feet hair stretching
next: 
make the hair floppy
make bend stiffness along the fur, you know how to fix it:)
v06_04 stiffness@1000
v06_04 stiffness@1000
v06_05 stiffness@100
v06_05 stiffness@100
v06_06 stiffness@500
v06_06 stiffness@500
OK! Under the same bend mask (stiffer at the root and soft at tip), seems stiffness@500 is a good starting value, 
keep approaching:
v06_07 stiffness@400
v06_07 stiffness@400
v06_06 stiffness@500
v06_06 stiffness@500
v06_08 stiffness@600
v06_08 stiffness@600
seems like stiffness@500 still work well! 
now variations on the bend stiffness mask:
v06_09 mask var1
v06_09 mask var1
v06_10 mask var2
v06_10 mask var2
v06_11 mask var3
v06_11 mask var3
well, looks like v06_10 quite works, one last thing to check at around 40F, what happened, was it from pre-roll?
ans: yes! the sudden pop was from pre-roll
and make v06_10 -> v06_12, playblast both original-cam and follow-cam version
render follow-cam version first for review, go 720p
v06_12 hairgen_followCam
v06_12 hairgen_followCam
v06_12 hairgen_originalCam
v06_12 hairgen_originalCam
v06_12 render
v06_12 render
well! look at this fur! a couple of things to fix:
see the back of the rhino, it's still a bit too stiff atm (personal), make it a bit floppy
FX notes from Raphel: 
check pyro collision (rhino should advect vel to dust)
gravel and dust travel to similar height
re-check gravel motion blur
make v06_12 -> v07_01 and start to address them, love it:)
v07_01 fxFix
v07_01 fxFix
fx fixed (should be:D)
gravel vel cranked up from x10 to x50, try 1 frame XPU before render whole thing
render with fur after fixes
notes from Ellie for v06_12:
add an orient along curve node before sim, so they don't set themselves in 1 direction
personal: make the fur on the back floppy and give variations:
v07_02 bendStiffness@10
v07_02 bendStiffness@10
v07_03 bendStiffness@100
v07_03 bendStiffness@100
v07_05 bendstiffness@75
v07_05 bendstiffness@75
v07_05 looks quite good to me, with this bend stiffness, really polish the grooming, redo the sim and render a v07_06
v07_06 polished
v07_06 polished
Alright! spent quite some time troubleshooting why whenever motionblur is enabled, RAM will experience overflow
after some research, I see it is called memory leak (correct me if I get it incorrect) 
turns out the problem is with the LOP node "motionBlur" (intended to try something new to create motion blur but seems it didn't like me lol) 
anyway, use the "cache" node in LOP and choose "cache current frame only" will not result in memory leak and give the wanted motion blur
v08_03 motionBlur troubleshoot
v08_03 motionBlur troubleshoot
v08_06 motionBlur troubleshoot
v08_06 motionBlur troubleshoot
v08_08 motionBlur troubleshoot
v08_08 motionBlur troubleshoot
v08_11 motionBlur troubleshoot
v08_11 motionBlur troubleshoot
and...
after heaps of test/troubleshoot/iterate
here it comes..
v08_14 final_originalCam
v08_14 final_originalCam
v08_14 final_followCam
v08_14 final_followCam
Lesson learned:
1. the faster you can iterate your work, the faster you can approach final agreement
2. bend stiffness scale by attribute, this attribute goes to the "groom" -> "guides" line, can use curveu/UV drive it
3. when do RBD sim, make object 100 times larger then scale back
((will come back to this project in a short time, been extremely busy recently..))

Production question to ask yourself, what do you do under the following scenarios (on v09_02):
1. you received full groom, no sim guides, only clumpid attribute exists on the guides that used for discern between clumps, how to simulate the groom?
temp ans: 
if the question is asking how to run simulation when I have clumpids, but no sim guides, I think we can use "vellum constraint - Glue" and tik "Cluster Attrib" and overwrite it as "clumpid", so each clump is moving as a "grouped piece" (like Jinx  - Arcane), then the rest stay the same
final ans:
yes! use the glue! with the clumpid as a cluster attribute:)


2. Groom simulation optimization? do you have to run simulation on the shortest hairs? What's your approach
temp ans: 
approach 1: still groom the fur, since they don't move much and not that visible, could just skinning them on the char
approach 2: just use texture, make sure there is depth map and interact with the light 
approach 3: if it is a close shot, just sim the shortest hairs as a whole, let them move together
approach 4: point deform the hair by the animation, no need to sim, then paint weights to define how much deformation each painted region is inheriting from the animation
long hair optimization strategy: 
cache guide to disk and attribute copy it to the rest one
guide deform the groom based on the anime first before running into sim
make sure there is rest pos and animated/sim one, then attribute copy to the rest one to make it move
final ans:
separate the shorter guides from the longer ones, eg:
"measure" SOP to create the perimeter attribute, then attribute wrangle (psuedocode),
if(f@perimeter<chf("threshold"))
{setprimgroup(0, "simguides_short", @primnum, 1, "set")}, then
use a guide deform set to "rigid" to rigidly deform the full groom shorter hairs, then
merge shorter hairs with sim-deformed fullgroom longer hairs:)
NOTE: use cloth deform rather point deform, since point deform cannot capture the orientation of the guide, use primitive UVs to deform P


3. animation is travelling at crazy high speed across the screen, how to simulate the character
temp ans: 
(idea is to NOT use crazy substeps and iterations) follow cam look at the character 
if the character doesn't interact with other objects in the scene, yeah.. move it to the origin and test run some wind speed then put it back to the character (point deform the groom) and see if it matches the feeling
final ans:
use the "centroid" SOP, take the centroid of part of the character that deforms/wraps least, then use this point to offset the character to the world center, offset colliders by this centoid as well:)


4. how to re-create pre-roll
temp ans: 
body pieces tight together, inflate character/ql_preRoll/
final ans:
use "lerp" function to blend from A to B, eg point attribute wrangle: 
Parameter 'blend': fit($F, $FSTART, $FEND, 0, 1)
or in VEX:
float blend = chf("blend");
v@P=lerp(v@P, v@opinput1_P, blend);

Feedback credit to: Alfonso, Ellie and Raphaël, wholeheartedly appreciation!

Back to Top