Skip to content

Commit 4d62363

Browse files
committed
Merge branch 'Development' of https://github.com/sideeffects/GameDevelopmentToolset into Development
2 parents 6baa9d6 + a48dc65 commit 4d62363

File tree

3 files changed

+217
-0
lines changed

3 files changed

+217
-0
lines changed

Help/images/lod_create_UI.png

1.54 MB
Loading
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
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+
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
= GameDev Physics Painter =
2+
3+
#type: node
4+
#context: sop
5+
#internal: gamedev::sop_physics_painter
6+
#icon: physicspainter
7+
#tags: tech, model
8+
9+
""" Physics Painter is a SOP that allows users to paint physics objects onto any other object. """
10+
11+
Physics Painter is a SOP that allows users to paint physics objects onto any other object, and simulate gravity. The result of the previous simulation can be fed into a new iteration of a simulation as often as required.
12+
This is a very powerful node frequently used for setdressing. Instead of scattering objects, this tool allows an artist to highly art-direct objects in a scene.
13+
14+
@parameters
15+
Dry Current Paint:
16+
Pressing this button will convert all current active (green) objects from a simulation state to a frozen static state.
17+
Clear Current Paint:
18+
This will clear out all currently active objects from your scene.
19+
Activate All Paint:
20+
This will reactivate all previously frozen simulation objects in your scene back to an active state.
21+
Clear All Paint:
22+
Pressing this button will completely erase all previously painted simulation geometry. This cannot be undone.
23+
== Quick Settings ==
24+
Paint Bucket Mode:
25+
When this toggle is enabled, the paint brush will stamp buckets of objects rather than single objects along your strokes.
26+
Bucket Items:
27+
When Paint Bucket Mode is enabled, this controls how many items are contained inside each stamped bucket.
28+
Stroke Padding:
29+
The stroke padding controls how much padding is applied between each "stamp" of simulation meshes along the stroke.
30+
Surface Offset:
31+
This allows you to offset the drawn simulation meshes on your curve from the static geometry.
32+
Min Rotation:
33+
This controls the minimum value of the initial rotation range.
34+
Max Rotation:
35+
This controls the maximum value of the initial rotation range.
36+
Min Scale:
37+
This controls the minimum value of the initial scale range.
38+
Max Scale:
39+
This controls the maximum value of the initial scale range.
40+
== Objects ==
41+
Quick Add:
42+
Adding a path to a node in this parameter will automatically add said object to the objects to be painted with in the multiparm below.
43+
Sim Mesh:
44+
This is the geometry for this paint object that should be used for the simulation mesh. (This can be a proxy)
45+
Render Mesh:
46+
This allows you to replace the simulated mesh with a high resolution object. This allows you to do the simulation using a low-resolution proxy, but have an output of a final high quality render mesh.
47+
Weight:
48+
This weight is used for the randomization of the paint objects along the stroke curve. This is not a percentage, but a value relative to other paint object weights. (Weighted Random)
49+
50+
51+

0 commit comments

Comments
 (0)