67 lines
1.6 KiB
C#
67 lines
1.6 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
namespace PuppetFace
|
|
{
|
|
[ExecuteInEditMode]
|
|
public class MeshModifier : MonoBehaviour
|
|
{
|
|
|
|
public struct VertexInfo
|
|
{
|
|
public Vector3 point;
|
|
public Vector3 prevPoint;
|
|
}
|
|
public struct VertexInfoFull
|
|
{
|
|
public Vector3 point;
|
|
public int[] connectedIndexes;
|
|
public float[] connectedLengths;
|
|
public bool moved;
|
|
public int id;
|
|
public float workingLength;
|
|
}
|
|
public enum PaintType { Move, Pull, Push, Smooth, Erase };
|
|
public enum SelectionType { World, Topology };
|
|
public PaintType paintType;
|
|
public SelectionType selectionType;
|
|
public float Radius = 0.02f;
|
|
public float Strength = 1f;
|
|
public bool Mirror = true;
|
|
public SkinnedMeshRenderer TargetSkin;
|
|
[HideInInspector]
|
|
public int Index;
|
|
public float ConnectedVertexThreshold = 0f;
|
|
public bool DispayVerts = false;
|
|
public bool RecalculateNormals = false;
|
|
public int BlendShapeType = 0;
|
|
|
|
[HideInInspector]
|
|
public VertexInfo[] _vertexData;
|
|
[HideInInspector]
|
|
public VertexInfo[] _vertexDataOutput;
|
|
[HideInInspector]
|
|
public VertexInfoFull[] _vertexDataFull;
|
|
[HideInInspector]
|
|
public Mesh _newMesh;
|
|
[HideInInspector]
|
|
public MeshFilter _mf;
|
|
[HideInInspector]
|
|
public SkinnedMeshRenderer _smr;
|
|
[HideInInspector]
|
|
public Vector3[] _verts;
|
|
[HideInInspector]
|
|
public Vector3[] _normals;
|
|
[HideInInspector]
|
|
public ComputeShader _shader;
|
|
[HideInInspector]
|
|
public MeshCollider _meshCol;
|
|
[HideInInspector]
|
|
public MeshModifier.PaintType _previousTool = MeshModifier.PaintType.Move;
|
|
[HideInInspector]
|
|
public bool ShiftDown = false;
|
|
[HideInInspector]
|
|
public bool ControlDown = false;
|
|
|
|
}
|
|
}
|