Research and Development
Research and Development on:
A. Custom Fractures, RBD Simulation and Pyro Investigation
1. During the first stage of a pre-transformed fracture I was able to use painting attributes to art direct my fractures however I really do not like the typical "Voronoi Fracture Look". Therefore before fracturing I used a Wrangle with the expression v@initpos = @P; to store the initial position. After that I added a vop with turbulent noise to warp the point position but you can also used a mountain SOP. Following that I followed the usual way to use a Voronoi with my custom paint scatters and after that I added a new Wrangle with the reverse expression @P = v@initpos; to restore the point pos. This allowed me to create a noisy cut at the edges of each piece but it also messed up the normals so I restore them with a normal SOP.
2. The most important learning point for me was simulating a low resolution geometry and switching it high resolution geometry. I used a foreach SOP to treat each piece by @name, using the "inside" and "outside" groups I coloured them separately with black and white. I used a smooth SOP to blend them better, this became sort of like my MAP for the VOP. I have read two methods, some say use shaders with displacement maps to create detail on the inside group, however I like to do my work on the actual geometry as it is easier to see without having to render preview and it also avoids displacement tearing from my experience. Therefore I remeshed the inside group and used a VOP to disturb the point position.
B. Growing Fur on deforming Geometry
1. Carrying on my research after University, I took up the texture switcher that we developed for my Master's project music bars during the last week before the Degree Show. I decided to combine the Solver I used for detech and the Texture switcher. It was a fun concept as the solver interpolates between from a small amount of points to high density scattered points using point clouds creating a sort of growing effect. Combine this effect with a deforming skin and tweak it to work with colour, you have a red and blue map on your animated skin.
2. The hard part was to stop the fur amount from changing over time. As it was growing there would be varying amount of fur, I found that creating a rest attribute was not enough I had to control it using the SHOP net with a Skin and Guide Shader. I broke the default Hair tool in H15.5 and reorganised it to only contain whats being used by my FUR. It took alot of time to understand how the 3 nodes, FUR Proceural and 2 custom VEX Shaders in the SHOP net were connected to the fur sop but I was able to rebuild my own version. It also allowed me to develop attributes for thickness, frizz etc. The next step would be to develop grooming tools that work efficiently as compared to the Grooming digital asset available in H15.
C. Fluid Mix
1. Storing information for both emitters in attributes and combining them in the SOP solver to compare and throw out a value when they are in a certain radius from each other.
2. I used this value as my mix value and created a colour mix however the difficult part was when they exited the radius where the particles were close to each other, the particles would return back to their original colour. I solved this by introducing a new attribute called new_colour within the SOP solver and an Attribute transfer, oddly enough if you connect both the inputs of the Attribute Transfer to the new_colour attribute and adjust the conditions once a particle has switched it will always remain at the new_colour.
*All the above techniques are a combination of several tutorials online and/or experiments discovered by permutation and combination of SOPs.