Example #1
0
        /// <summary>
        /// Applies the vertexData to the deform mesh.
        /// </summary>
        protected void ApplyVertexDataToTarget(NormalsCalculationMode normalsCalculation, float smoothingAngle)
        {
            VertexDataUtil.ApplyVertexData(vertexData, deformMesh);
            UpdateNormals(normalsCalculation, smoothingAngle);

            deformMesh.RecalculateBounds();
        }
Example #2
0
        /// <summary>
        /// Applies the vertexData to the deform mesh.
        /// </summary>
        protected void ApplyVertexDataToTarget(NormalsCalculationMode normalsCalculation)
        {
            VertexDataUtil.ApplyVertexData(vertexData, deformMesh);
            if (meshCollider != null)
            {
                meshCollider.inflateMesh = true;
                meshCollider.sharedMesh  = deformMesh;
            }

            UpdateNormals(normalsCalculation);

            deformMesh.RecalculateBounds();
        }
Example #3
0
 /// <summary>
 /// Sets the position of each vertex to it's base position.
 /// </summary>
 protected void ResetVertexData()
 {
     VertexDataUtil.ResetVertexData(vertexData);
 }
Example #4
0
 /// <summary>
 /// Sets vertexData to the vertexData of the original mesh.
 /// </summary>
 public void RecreateVertexData()
 {
     vertexData = VertexDataUtil.GetVertexData(originalMesh);
 }
Example #5
0
        protected override void DeformVertexData()
        {
            // I'm not threading savvy, but I have a hunch that using all these locks isn't the ideal solution.
            lock (vertexData)
            {
                lock (deformers)
                {
                    RemoveNullDeformers();

                    for (var deformerIndex = 0; deformerIndex < deformers.Count; deformerIndex++)
                    {
                        lock (deformers[deformerIndex])
                        {
                            if (deformers[deformerIndex].update)
                            {
                                vertexData = deformers[deformerIndex].Modify(vertexData, SyncedTransform, VertexDataUtil.GetBounds(vertexData));
                            }
                        }
                    }
                }
            }

            NotifyPostModify();
        }
Example #6
0
        protected override void DeformVertexData()
        {
            lock (vertexData)
            {
                lock (deformers)
                {
                    RemoveNullDeformers();

                    for (var deformerIndex = 0; deformerIndex < deformers.Count; deformerIndex++)
                    {
                        lock (deformers[deformerIndex])
                        {
                            if (deformers[deformerIndex].update)
                            {
                                vertexData = deformers[deformerIndex].Modify(vertexData, SyncedTransform, VertexDataUtil.GetBounds(vertexData));
                            }
                        }
                    }
                }
            }

            NotifyPostModify();
        }