From e530c4c6da4c0d4bc3c7fb4f08751156e91979e4 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 16 Aug 2021 19:23:33 +0900 Subject: [PATCH] implement Mesh.colors --- Assets/VRM10/vrmlib/Runtime/SpanLike.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Assets/VRM10/vrmlib/Runtime/SpanLike.cs b/Assets/VRM10/vrmlib/Runtime/SpanLike.cs index aa0a399658..97f89aa1bc 100644 --- a/Assets/VRM10/vrmlib/Runtime/SpanLike.cs +++ b/Assets/VRM10/vrmlib/Runtime/SpanLike.cs @@ -157,6 +157,15 @@ public static void Write(byte[] bytes, int i, UnityEngine.Vector4 value) Write(bytes, i + 8, value.z); Write(bytes, i + 12, value.w); } + + public static void Write(byte[] bytes, int i, UnityEngine.Color value) + { + Write(bytes, i, value.r); + Write(bytes, i + 4, value.g); + Write(bytes, i + 8, value.b); + Write(bytes, i + 12, value.a); + } + public static void Write(byte[] bytes, int i, UnityEngine.Matrix4x4 value) { Write(bytes, i, value.m00); @@ -436,6 +445,16 @@ struct GetSet where T : struct ), Setter = BitWriter.Write }}, + {typeof(UnityEngine.Color), new GetSet{ + Getter = (array, start) => + new UnityEngine.Color( + BitConverter.ToSingle(array, start), + BitConverter.ToSingle(array, start + 4), + BitConverter.ToSingle(array, start + 8), + BitConverter.ToSingle(array, start + 12) + ), + Setter = BitWriter.Write + }}, {typeof(UnityEngine.Matrix4x4), new GetSet{ Getter = (array, start) => // UnityEngine.Matrix4x4