|
| 1 | += GameDev LOD Create = |
| 2 | + |
| 3 | +#type: node |
| 4 | +#context: sop |
| 5 | +#internal: gamedev::sop_lod_create::2.0 |
| 6 | +#icon: lodcreate |
| 7 | +#tags: tech, model |
| 8 | + |
| 9 | +""" The LOD Create SOP allows for easy LOD generation. """ |
| 10 | + |
| 11 | +The LOD Create SOP allows for easy LOD generation. The tool is a one node pipeline consisting of all the other tools in the toolset such as baking, polyreduction, geometry cleanup, uvs and more. |
| 12 | +The output of this tool is an FBX containing Level of Details that can be used in other DCCs or Game Engines. |
| 13 | + |
| 14 | + |
| 15 | +:col: |
| 16 | + [Image:/images/lod_create_UI.png] |
| 17 | + |
| 18 | +@parameters |
| 19 | + == Processing == |
| 20 | + Generate LODs: |
| 21 | + Bake textures and meshes to disk. |
| 22 | + == Decimation Settings == |
| 23 | + Visualizer: |
| 24 | + Enable text label in viewport to display current LOD and polygon count. |
| 25 | + Debug All LOD: |
| 26 | + Display all LOD levels side by side. |
| 27 | + LOD Viewing Mode: |
| 28 | + Choose to select the viewed LOD with the LOD slider, or based on distance to a camera, or don't display. |
| 29 | + Camera: |
| 30 | + Camera to use to select which LOD level to display. |
| 31 | + LOD: |
| 32 | + Slider to select what LOD level to display. |
| 33 | + Preset: |
| 34 | + This menu is driven by a JSON file containing preset values for LOD settings. These presets can be modified in the Extra Files section of this HDA. |
| 35 | + Consolidate Shader At: |
| 36 | + This controls at which LOD level all attached shaders get consolidated into a single material. |
| 37 | + Last LOD is Impostor: |
| 38 | + Enables/Disables the use of an impostor for the last LOD. |
| 39 | + Remove Insides: |
| 40 | + This enables the automatic removal of inside faces. |
| 41 | + Preserve Quads: |
| 42 | + This enables / disables the preservation of quads during polyreduction. |
| 43 | + Equalize Lengths: |
| 44 | + This controls the equalization of edge lengths during polyreduction. |
| 45 | + Recalculate Normals: |
| 46 | + Enables/Disables the recalculation of vertex normals after polyreduction. |
| 47 | + Cusp Angle: |
| 48 | + When Recalculate Normals is on, this sets the desired cusping angle. |
| 49 | + Weighting Method: |
| 50 | + The weighting method for recalculating the vertex normals. |
| 51 | + Attribute: |
| 52 | + An optional attribute used for polyreducing based on attribute values. |
| 53 | + Weight: |
| 54 | + This drives the polyreduction based on attribute values as a scalar. |
| 55 | + Mode: |
| 56 | + How the size is determined |
| 57 | + Threshold: |
| 58 | + Pieces with the Area or Perimeter smallest than this will be removed |
| 59 | + Delete Non Selected: |
| 60 | + Invert the operation |
| 61 | + UV Attribute: |
| 62 | + UV attribute to operate on |
| 63 | + Initial Fuse Dist: |
| 64 | + There is a built in intial Fuse Node to ensure good island connectivity, this is the distance threshold for that operation. |
| 65 | + Cutoff: |
| 66 | + Size threshold of the islands that will be merged back into larger pieces |
| 67 | + Flattening Method: |
| 68 | + Method for reflattening the islands based on the new seams |
| 69 | + Iterations: |
| 70 | + Attempts at merging the islands together. Higher values produce smoother results |
| 71 | + Optimize UV Border: |
| 72 | + Attempts to remove triangles that are sticking to the side of the UV island. May cause small islands to reappear |
| 73 | + == LOD Settings == |
| 74 | + LODs: |
| 75 | + This sets the number of LODs in the multiparm, which allows you to specify LOD settings on a per entry basis. |
| 76 | + Custom Mesh: |
| 77 | + This allows you to specify a custom piece of geometry to swap this LOD for. |
| 78 | + Percent Triangles: |
| 79 | + The desired target percentage of triangles from the original mesh. |
| 80 | + Threshold Distance: |
| 81 | + The threshold distance at which this LOD starts. |
| 82 | + == Shader Consolidation == |
| 83 | + Correct Area Proportions: |
| 84 | + Enabling this will correct the area proportions of the UV shells compared to the geometry it belongs to. |
| 85 | + Axis-Align: |
| 86 | + This will try to axis align your UV shells as best as possible. |
| 87 | + Padding: |
| 88 | + Controls the padding between UV shells. |
| 89 | + Orientations: |
| 90 | + Drives the number of possible orientation iterations during the UV layout solve. |
| 91 | + Use MikkT Tangent Space: |
| 92 | + Enables/Disables the use of MikkT tangent space normals during the baking. |
| 93 | + Output basecolor in Linear Space: |
| 94 | + Allows for the baking of the basecolor textures in linear space instead of gamma 2.2. |
| 95 | + Tangent Normal Flip Y: |
| 96 | + Flips the Y axis of the normalmap. |
| 97 | + Cage Mesh: |
| 98 | + Optional cage mesh. Must have the same topology and UVs as the UV Object. Typically a dupicate of UV Object whose vertices are slightly pushed outward. Used to determine the projection direction. |
| 99 | + Border Padding: |
| 100 | + Additional pixels at the border of each UV island |
| 101 | + Baking Samples: |
| 102 | + Number of Samples used for raytraced shading |
| 103 | + Ray Bias: |
| 104 | + Determine how much to offset the rays from the surface of the object along the normal vector. |
| 105 | + Ray Distance: |
| 106 | + Maximum Distance to trace for nearby surfaces. -1 means infinite distance. |
| 107 | + Vertex Color: |
| 108 | + Sets the map name used for Vertex Color. |
| 109 | + Roughness Map: |
| 110 | + Sets the map name used for Roughness Map. |
| 111 | + Metallic Map: |
| 112 | + Sets the map name used for Metallic Map. |
| 113 | + Normal Map: |
| 114 | + Sets the map name used for Normal Map. |
| 115 | + Ambient Occlusion: |
| 116 | + Sets the map name used for Ambient Occlusion Map. |
| 117 | + Opacity Map: |
| 118 | + Sets the map name used for Opacity Map. |
| 119 | + Custom Channels: |
| 120 | + This multiparm allows you to add any additional maps you'd like to bake based on attribute names. |
| 121 | + == Impostor Settings == |
| 122 | + Render in One Image: |
| 123 | + When this toggle is enabled, all frames of the impostor texture are generated with a lens shader instead of on a per frame basis. |
| 124 | + Impostor Type: |
| 125 | + This allows you to set the impostor type that has to be generated. |
| 126 | + Sprite Resolution: |
| 127 | + This sets the sprite resolution. (Ex: If you have 8x8 frames at 128x128 pixels, this means a combined 1024x1024 pixel texture) |
| 128 | + XY Frames: |
| 129 | + Sets the number of XY frames that need to be generated for the impostor texture. |
| 130 | + Atlas Resolution: |
| 131 | + When Impostor Type is set to Octahedron, this controls the overall impostor texture resolution. |
| 132 | + Octahedron Zoom: |
| 133 | + This controls the camera zoom amount for the Octahedron impostor camera lens. |
| 134 | + Animation Frames: |
| 135 | + When Impostor Type is set to Animation, this controls how many frames you want to encode in the impostor. |
| 136 | + == Export Settings == |
| 137 | + Export in ASCII Format: |
| 138 | + This controls if the FBX should be exported in Binary or ASCII format. |
| 139 | + FBX SDK Version: |
| 140 | + Allows you to override the FBX SDK used for export. Typically the default value is the best. |
| 141 | + LOD Group Name: |
| 142 | + This allows you to override the container name for the generated LOD Hierarchy. |
| 143 | + LOD Mesh Name Prefix: |
| 144 | + This allows you to override the Mesh name prefix for the LOD levels. |
| 145 | + Output: |
| 146 | + This specifies the location of the FBX that gets exported. |
| 147 | + Export Source Textures: |
| 148 | + When this toggle is enabled, any embedded textures or procedural materials attached will get exported to disk aswell. |
| 149 | + Resolution: |
| 150 | + This sets the resolution of the exported textures. |
| 151 | + Pre Multiply: |
| 152 | + This controls if the basecolor/beauty map alpha channel should be premultiplied. |
| 153 | + Beauty Map: |
| 154 | + Enables/Disables the generation of the Beauty Atlas for the impostor. |
| 155 | + Beauty Atlas: |
| 156 | + This specifies where the Beauty Atlas should be saved to. |
| 157 | + Base Color Map: |
| 158 | + Enables/Disables the generation of the Base Color Atlas for the impostor. |
| 159 | + Base Color Atlas: |
| 160 | + This specifies where the Base Color Atlas should be saved to. |
| 161 | + Normals Map: |
| 162 | + Enables/Disables the generation of the Normal Atlas for the impostor. |
| 163 | + Normals Atlas: |
| 164 | + This specifies where the Normal Atlas should be saved to. |
| 165 | + |
| 166 | + |
0 commit comments