[unity] Minor interface consistency fixes.

This commit is contained in:
pharan 2017-01-18 15:54:33 +08:00
parent 0b74269207
commit 369cda4335
5 changed files with 23 additions and 5 deletions

View File

@ -42,7 +42,14 @@ namespace Spine.Unity.MeshGeneration {
readonly ExposedList<SubmeshTriangleBuffer> submeshBuffers = new ExposedList<SubmeshTriangleBuffer>();
Material[] sharedMaterials = new Material[0];
public MeshAndMaterials GenerateMesh (ExposedList<SubmeshInstruction> instructions, int startSubmesh, int endSubmesh) {
/// <summary>
/// Generates a mesh based on a subset of instructions.
/// </summary>
/// <returns>A UnityEngine.Mesh.</returns>
/// <param name="instructions">A list of SubmeshInstructions.</param>
/// <param name="startSubmesh">The index of the starting submesh.</param>
/// <param name="endSubmesh">The exclusive upper bound of the last submesh to be included.</param>
public MeshAndMaterials GenerateMesh (ExposedList<SubmeshInstruction> instructions, int startSubmesh, int endSubmesh, float scale = 1f) {
// STEP 0: Prepare instructions.
var paramItems = instructions.Items;
currentInstructions.Clear(false);
@ -122,6 +129,15 @@ namespace Spine.Unity.MeshGeneration {
this.sharedMaterials = currentInstructions.GetUpdatedMaterialArray(this.sharedMaterials);
}
if (scale != 1f) {
for (int i = 0; i < vertexCount; i++) {
meshVertices[i].x *= scale;
meshVertices[i].y *= scale;
//meshVertices[i].z *= scale;
}
}
// STEP 3: Assign the buffers into the Mesh.
smartMesh.Set(this.meshVertices, this.meshUVs, this.meshColors32, workingAttachments, currentInstructions);
mesh.bounds = ArraysMeshGenerator.ToBounds(meshBoundsMin, meshBoundsMax);

View File

@ -41,6 +41,7 @@ namespace Spine.Unity.MeshGeneration {
public List<Slot> Separators { get { return this.separators; } }
#region Settings
// ArraysMeshGenerator.PremultiplyAlpha
public float ZSpacing { get; set; }
#endregion

View File

@ -44,6 +44,7 @@ namespace Spine.Unity.MeshGeneration {
List<Slot> Separators { get; }
float ZSpacing { get; set; }
bool PremultiplyVertexColors { get; set; }
bool AddNormals { get; set; }
bool AddTangents { get; set; }
}
@ -55,7 +56,7 @@ namespace Spine.Unity.MeshGeneration {
// Step 3: Call GenerateMesh. You'll get a Mesh and Materials.
// Step 4: Put the Mesh in MeshFilter. Put the Materials in MeshRenderer.sharedMaterials.
public interface ISubmeshSetMeshGenerator {
MeshAndMaterials GenerateMesh (ExposedList<SubmeshInstruction> instructions, int startSubmesh, int endSubmesh);
MeshAndMaterials GenerateMesh (ExposedList<SubmeshInstruction> instructions, int startSubmesh, int endSubmesh, float scale = 1f);
float ZSpacing { get; set; }
bool PremultiplyVertexColors { get; set; }

View File

@ -163,11 +163,11 @@ namespace Spine.Unity {
#endif
}
public virtual void Update () {
public void Update () {
Update(Time.deltaTime);
}
public virtual void Update (float deltaTime) {
public void Update (float deltaTime) {
if (!valid)
return;

View File

@ -83,7 +83,7 @@ namespace Spine.Unity {
animationTable.Add(a.Name.GetHashCode(), a);
}
void Update () {
public void Update () {
if (!valid) return;
if (layerMixModes.Length < animator.layerCount)