Prepare Models For Atavism
The PrepareModelsForAtavism
class in C# provides functionality to prepare models for use in Atavism MMO game engine. It can be used to process a folder containing prefabs with skinned mesh renderers and prepare them for Atavism by creating separate meshes and mesh renderers.
API Documentation
PrepareModelsForAtavism
is a script that prepares 3D models for use in the Atavism game engine. The script processes a given folder, locates prefabs containing SkinnedMeshRenderer
components, and creates and saves either new Mesh
or SkinnedMeshRenderer
components based on the SkinnedMeshRenderer
data.
Public Variables
PrepareModelsForAtavism
has several public variables that can be set in the Unity Editor:
folderToProcess
– A UnityObject
that references the folder containing the prefabs to be processed.folderToSaveModelsTo
– A UnityObject
that references the folder to save the processed models as prefabs.folderToSaveMeshesTo
– A UnityObject
that references the folder to saveMesh
components for the processed models.gameObjectToProcess
– AGameObject
that serves as the parent object for newMesh
components whenmakeSkinnedMesh
is false.gameObjectSkinnedMeshRenderer
– AGameObject
that serves as the reference object for finding bones and creating newSkinnedMeshRenderer
components.rootBone
– ATransform
that serves as the root bone for newSkinnedMeshRenderer
components.
Public Methods
ProcessFolder(bool makeSkinnedMesh = false)
Processes the prefabs in folderToProcess
and creates either new Mesh
components or new SkinnedMeshRenderer
components for each SkinnedMeshRenderer
component found. If makeSkinnedMesh
is false, new Mesh
components are created and saved as prefabs. If makeSkinnedMesh
is true, new SkinnedMeshRenderer
components are created and added to the gameObjectToProcess
.
CopyBonesFrom(SkinnedMeshRenderer target, SkinnedMeshRenderer source)
Copies the bone weights from a source SkinnedMeshRenderer
to a target SkinnedMeshRenderer
.
CopyBonesFrom(SkinnedMeshRenderer target, SkinnedMeshRenderer source, string[] boneNames)
Copies specific bone weights from a source SkinnedMeshRenderer
to a target SkinnedMeshRenderer
.
FindDeepChild(string aName)
Returns the Transform
with the given name, found by a breadth-first search starting from the gameObjectSkinnedMeshRenderer
.
ChangeBody(GameObject targetBody)
Swaps the SkinnedMeshRenderer
on the gameObjectSkinnedMeshRenderer
with the SkinnedMeshRenderer
on the given GameObject
.
Private Methods
PrepareModelsForAtavism
also has several private methods that are not intended for external use:
AddParent(string BoneName, HierarchyDict BoneHierarchy, BoneTransformDict AllBones, GameObject DummyParent)
Unparent(Transform Parent, GameObject DummyParent)
createParentChild(string objectName)
createMesh(Mesh mesh, string name)
saveMesh(Mesh mesh, string name)
createMeshFilter(GameObject thisObject, Mesh mesh)
createSkinnedMeshRenderer(GameObject parentObject, Mesh mesh, SkinnedMeshRenderer skin)
createMeshRenderer(GameObject thisObject)
saveModel(GameObject thisObject)
cleanupModels(GameObject thisObject)
Start()
Update()