07-04-2021, 11:49 AM
(This post was last modified: 07-04-2021, 12:13 PM by josemendez.)
(07-04-2021, 11:35 AM)zagoalie Wrote: I couldn't find any documentation advising me what are the benefits of each mode? seems like copy normals from sim and recalculate normals from mesh are both running about the same performance-wise, is there any logic I should use to pick which is better for my use case?
You should only need tangents if your shader is using them (for instance if you use normal maps, which are expressed in tangent space).
These modes aren't documented anywhere, will add them asap (edit: docs updated with this info, see http://obi.virtualmethodstudio.com/tutor...modes.html). They should be pretty self explanatory though:
- CopyNormalsFromSimulation: copies the normal of each particle to the affected vertices. It's basically a loop copying data from one array to another, pretty cheap.
- RecalculateNormalsFromMesh: calls Unity's Mesh.RecalculateNormals. Moderately expensive, results in slightly higher-quality normals. See: https://docs.unity3d.com/ScriptReference...rmals.html
- RecalculateNormalsAndTangentsFromMesh calls Unity's Mesh.RecalculateNormals and Mesh.RecalculateTangents. Same normals as previous mode, adds tangents. See: https://docs.unity3d.com/ScriptReference...gents.html
- TransformNormalsAndTangents: Most expensive mode, best quality. Calculates a per-vertex matrix that transforms the mesh's rest normals/tangents to the deformed tangent space. Use if your mesh contains hand-crafted normal seams or tangents that you don't want to change
Let me know if I can be of further help