Saturday, 10 April 2021

BSA703 10/4

Todays battle - BOSS aka Bifrost Ocean Simulation System ( yes I realise I mentioned yesterday I would work on the particle splatter but I got distracted by the ocean sim lol)

I have found this series of tutorials to begin following:


So far it is a lot simpler to set up than using particle emitters but I guess that makes sense as it is essentially just a plane deformer and not a 3D object.

All the major adjustments are done through the BossSpectralWave tab that is created when you select the Plane mesh and hit create spectral wave in the Boss Editor(found under the Boss menu in the FX menuset). Important note: Make sure the project Working Units(Settings) is set to centimetres as the BOSS system uses 1cm as 1m of ocean for scale purposes. When setting up the Global attributes, match the Patch Size X and Z to the dimensions of the plane you are using to avoid the sim having to calculate waves that arent part of the visible area.


Objects that are intended to be used as colliders are added by selecting the mesh, then hitting "add geo influence" on the Wave Influences side of the editor. Caching is very simple, just hit the cache all button in the editor. It even auto switches between exporting and reading from the cache for you once complete. Cache folders are set under the same SpectralWave tab as the rest of the configurations.


The initial creation complete with aistandard surface shader. The human standin is there to try and create ripples but I am still trying to work that part out. 


This next shot was adding foam to the simulation. The tutorial I was following mentioned that you cache the water sim first and it adds the foam afterwards. This shot was with the Foam Attributes Cusp Min set to 0.1



This one is the Cusp Min set to 0.05

Personally I think I like the 0.1 setting better

Further in the tutorial series he showed adding the object mesh as an influencer on a seperate wave solver in the BOSS editor. I did that and tweaked a few settings but currently my ripples look ridiculous. There is a huge delay from my guy moving and the ripples forming, then at the end of the sim they go crazy.

As seen here, my guy is off screen and the ripple trail is still mid screen. That turbulent patch is where he started and so far I havent figured out what setting is making that happen.

Managed to get the amplitude tweaked using the BossWaveSolver wave height and size sliders but there is still the large follow delay that I need to research solutions for.



I think part of the issue is scale - the human is moving too far in too short time. I swapped out to a prebuilt boat and got this result.

Im wondering if the cross ripples are due to the fact i only have a single 50x50 plane and they are bouncing back in for some reason.

To scale up the ocean I looked into using a projected displacement map using the cached BOSS files and hypershade. **Important note - all water simulations must be done before this step** Change the height and width subdivisions of the original plane to 1024 and cache the simulation. Create a new plane with the default 10 subdivisions and scale it up to the same size as the first plane using the polyPlane settings, not the transform settings. (The latter will make your displacement map not work correctly)


Apply the same aiStandardSurface of the original plane and open it in hypershade. Use the input and output connections button to show the shader in the graph.
Change the default link from Out Colour -> Displacement into an Out Colour -> Vector Displacement link and connect the displacement shader to the displacement node on the surface shader.

Select the place3DTexture1 object in the Outliner and rotate it to -90 on the x axis so the projection is facing downwards, and scale it to half of the Patch Size(in the SpectralWave settings). Go to the Out Connections by hitting the circled button.

Open the image box under Projection Attributes and right click on File and select add as projection. Navigate to the cache files, select the 1st frame and make sure the Use Image sequence is ticked. Hide the original simulation plane and when you hit render the low res plane should look the same, but with only 10 subdivisions instead of 1024.

Original simulation plane size


After creating a projection plane



Once this is working, you can resize the new low res plane using the polyPlane settings and the displacement will scale with it while keeping your subdivisions low. 

To get some more deformation, under the planeShape -> Arnold -> Subdivision you can make it so that when the image is rendered, the plane will get subdivided for as many iterations as you specify. This does increase render time however. Change the type to Linear and adjust the slider, using the Render View to decide what you like.




No comments:

Post a Comment

BSA702 14/7

 arrays and lists Quick and Easy Galaxy painting  great tutorial I found when I was looking for a background for my pitch tomorrow. I want t...