public void CanInstantiatePrefabEntity() { var instanceCount = 100; var skeletonNodes = new SkeletonNode[] { new SkeletonNode { ParentIndex = -1, Id = "Root", AxisIndex = -1 }, new SkeletonNode { ParentIndex = 0, Id = "Hips", AxisIndex = -1 }, new SkeletonNode { ParentIndex = 1, Id = "LeftUpLeg", AxisIndex = -1 }, new SkeletonNode { ParentIndex = 1, Id = "RightUpLeg", AxisIndex = -1 } }; var rigDefinition = RigBuilder.CreateRigDefinition(skeletonNodes); var prefab = RigEntityBuilder.CreatePrefabEntity(m_Manager, rigDefinition); var entities = new NativeArray <Entity>(instanceCount, Allocator.Temp); m_Manager.Instantiate(prefab, entities); foreach (var entity in entities) { CheckEntityHasRigComponentTypeAndBufferResized(entity, rigDefinition, RigEntityBuilder.RigComponentTypes, skeletonNodes.Length); } }
public void CanCreatePrefabEntity() { var skeletonNodes = new SkeletonNode[] { new SkeletonNode { ParentIndex = -1, Id = "Root", AxisIndex = -1 } }; var rigDefinition = RigBuilder.CreateRigDefinition(skeletonNodes); var prefab = RigEntityBuilder.CreatePrefabEntity(m_Manager, rigDefinition); CheckEntityHasRigComponentTypeAndBufferResized(prefab, rigDefinition, RigEntityBuilder.RigPrefabComponentTypes, skeletonNodes.Length); }
protected override void SetUp() { base.SetUp(); m_RigComputeMatricesSystem = World.GetOrCreateSystem <RigComputeMatricesSystem>(); // Force and update to kick burst compilation m_RigComputeMatricesSystem.Update(); Set.RendererModel = DataFlowGraph.NodeSet.RenderExecutionModel.Islands; // Force and update to kick burst compilation m_AnimationGraphSystem.Update(); m_RigPrefab = RigEntityBuilder.CreatePrefabEntity(m_Manager, m_RigDefinition); m_Manager.AddComponentData(m_RigPrefab, new Translation { Value = float3.zero }); m_Manager.AddComponentData(m_RigPrefab, new Rotation { Value = quaternion.identity }); }