Files
HauntedBloodlines/Assets/PuppetFace/Scripts/MeshModifier.cs
2025-05-29 22:31:40 +03:00

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;
}
}