From bfbde174c4e907f3c11eeebf327ae78a37829740 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Wed, 6 Oct 2021 20:44:02 +0900 Subject: [PATCH] mv VrmLib.SpanLike to UniGLTF.SpanLike --- .../Runtime/Extensions/ArrayExtensions.cs | 2 +- .../Runtime/Extensions}/NumericsExtensions.cs | 2 +- .../Extensions}/NumericsExtensions.cs.meta | 2 +- .../Runtime/Extensions/glTFExtensions.cs | 4 +- .../Runtime/UniGLTF/IO}/ArrayPin.cs | 4 +- .../Runtime/UniGLTF/IO}/ArrayPin.cs.meta | 2 +- .../Runtime/UniGLTF/IO}/SkinJoint.cs | 2 +- .../Runtime/UniGLTF/IO}/SkinJoint.cs.meta | 2 +- .../Runtime/UniGLTF/IO}/SpanLike.cs | 60 +++++++------------ .../Runtime/UniGLTF/IO}/SpanLike.cs.meta | 2 +- .../Tests/UniGLTF}/NumericTests.cs | 3 +- .../Tests/UniGLTF}/NumericTests.cs.meta | 2 +- .../Tests/UniGLTF}/SpanLikeTests.cs | 5 +- .../Tests/UniGLTF}/SpanLikeTests.cs.meta | 2 +- .../Components/Expression/ExpressionMerger.cs | 2 +- .../VRM10Object/VRM10ObjectExpression.cs | 4 +- .../VRM10/Runtime/IO/BufferAccessorAdapter.cs | 4 +- Assets/VRM10/Runtime/IO/Model/MeshImporter.cs | 3 +- .../Runtime/IO/Model/MeshImporterDivided.cs | 3 +- .../VRM10/Runtime/IO/Model/ModelExporter.cs | 7 ++- Assets/VRM10/Runtime/IO/Vrm10Importer.cs | 4 +- Assets/VRM10/Runtime/Migration/RotateY180.cs | 4 +- Assets/VRM10/vrmlib/Runtime/Animation.cs | 6 +- Assets/VRM10/vrmlib/Runtime/BufferAccessor.cs | 5 +- Assets/VRM10/vrmlib/Runtime/Mesh.cs | 1 + Assets/VRM10/vrmlib/Runtime/MeshExtensions.cs | 1 + .../vrmlib/Runtime/MeshMorphTargetSplitter.cs | 1 + .../Runtime/ModelExtensionsForCoordinates.cs | 1 + Assets/VRM10/vrmlib/Runtime/NodeAnimation.cs | 1 + Assets/VRM10/vrmlib/Runtime/Skin.cs | 1 + Assets/VRM10/vrmlib/Runtime/VertexBuffer.cs | 1 + .../vrmlib/Runtime/VertexBufferExtensions.cs | 1 + 32 files changed, 66 insertions(+), 78 deletions(-) rename Assets/{VRM10/vrmlib/Runtime => UniGLTF/Runtime/Extensions}/NumericsExtensions.cs (99%) rename Assets/{VRM10/vrmlib/Runtime => UniGLTF/Runtime/Extensions}/NumericsExtensions.cs.meta (83%) rename Assets/{VRM10/vrmlib/Runtime => UniGLTF/Runtime/UniGLTF/IO}/ArrayPin.cs (98%) rename Assets/{VRM10/vrmlib/Runtime => UniGLTF/Runtime/UniGLTF/IO}/ArrayPin.cs.meta (83%) rename Assets/{VRM10/vrmlib/Runtime => UniGLTF/Runtime/UniGLTF/IO}/SkinJoint.cs (97%) rename Assets/{VRM10/vrmlib/Runtime => UniGLTF/Runtime/UniGLTF/IO}/SkinJoint.cs.meta (83%) rename Assets/{VRM10/vrmlib/Runtime => UniGLTF/Runtime/UniGLTF/IO}/SpanLike.cs (93%) rename Assets/{VRM10/vrmlib/Runtime => UniGLTF/Runtime/UniGLTF/IO}/SpanLike.cs.meta (83%) rename Assets/{VRM10/vrmlib/Tests => UniGLTF/Tests/UniGLTF}/NumericTests.cs (98%) rename Assets/{VRM10/vrmlib/Tests => UniGLTF/Tests/UniGLTF}/NumericTests.cs.meta (83%) rename Assets/{VRM10/vrmlib/Tests => UniGLTF/Tests/UniGLTF}/SpanLikeTests.cs (90%) rename Assets/{VRM10/vrmlib/Tests => UniGLTF/Tests/UniGLTF}/SpanLikeTests.cs.meta (83%) diff --git a/Assets/UniGLTF/Runtime/Extensions/ArrayExtensions.cs b/Assets/UniGLTF/Runtime/Extensions/ArrayExtensions.cs index 0f8b85735..53216fab5 100644 --- a/Assets/UniGLTF/Runtime/Extensions/ArrayExtensions.cs +++ b/Assets/UniGLTF/Runtime/Extensions/ArrayExtensions.cs @@ -134,7 +134,7 @@ namespace UniGLTF } public static class ArraySegmentExtensions - { + { public static ArraySegment Slice(this ArraySegment self, int start, int length) { if (start + length > self.Count) diff --git a/Assets/VRM10/vrmlib/Runtime/NumericsExtensions.cs b/Assets/UniGLTF/Runtime/Extensions/NumericsExtensions.cs similarity index 99% rename from Assets/VRM10/vrmlib/Runtime/NumericsExtensions.cs rename to Assets/UniGLTF/Runtime/Extensions/NumericsExtensions.cs index 54a5434f0..0a123c7f5 100644 --- a/Assets/VRM10/vrmlib/Runtime/NumericsExtensions.cs +++ b/Assets/UniGLTF/Runtime/Extensions/NumericsExtensions.cs @@ -1,7 +1,7 @@ using System; using System.Numerics; -namespace VrmLib +namespace UniGLTF { public static class NumericsExtensions { diff --git a/Assets/VRM10/vrmlib/Runtime/NumericsExtensions.cs.meta b/Assets/UniGLTF/Runtime/Extensions/NumericsExtensions.cs.meta similarity index 83% rename from Assets/VRM10/vrmlib/Runtime/NumericsExtensions.cs.meta rename to Assets/UniGLTF/Runtime/Extensions/NumericsExtensions.cs.meta index 99b9f75ca..f681fdd2c 100644 --- a/Assets/VRM10/vrmlib/Runtime/NumericsExtensions.cs.meta +++ b/Assets/UniGLTF/Runtime/Extensions/NumericsExtensions.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 482b4ffcefb6ff04d90272038c48b27f +guid: d4a7532836c4d1d4d965dc867e51cbd7 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/UniGLTF/Runtime/Extensions/glTFExtensions.cs b/Assets/UniGLTF/Runtime/Extensions/glTFExtensions.cs index 2ae578ce4..7b104d0bd 100644 --- a/Assets/UniGLTF/Runtime/Extensions/glTFExtensions.cs +++ b/Assets/UniGLTF/Runtime/Extensions/glTFExtensions.cs @@ -9,7 +9,7 @@ using UniJSON; namespace UniGLTF { [Serializable, StructLayout(LayoutKind.Sequential, Pack = 1)] - struct Byte4 + public struct Byte4 { public readonly byte x; public readonly byte y; @@ -25,7 +25,7 @@ namespace UniGLTF } [Serializable, StructLayout(LayoutKind.Sequential, Pack = 1)] - struct UShort4 + public struct UShort4 { public readonly ushort x; public readonly ushort y; diff --git a/Assets/VRM10/vrmlib/Runtime/ArrayPin.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/ArrayPin.cs similarity index 98% rename from Assets/VRM10/vrmlib/Runtime/ArrayPin.cs rename to Assets/UniGLTF/Runtime/UniGLTF/IO/ArrayPin.cs index 83e14397f..2a1c85a54 100644 --- a/Assets/VRM10/vrmlib/Runtime/ArrayPin.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/ArrayPin.cs @@ -1,7 +1,7 @@ using System; using System.Runtime.InteropServices; -namespace VrmLib +namespace UniGLTF { public static class ArrayPin { @@ -85,7 +85,7 @@ namespace VrmLib #endregion } - public static class ArrayExtensions + public static class ArrayPinExtensions { public static int FromBytes(this ArraySegment src, T[] dst) where T : struct { diff --git a/Assets/VRM10/vrmlib/Runtime/ArrayPin.cs.meta b/Assets/UniGLTF/Runtime/UniGLTF/IO/ArrayPin.cs.meta similarity index 83% rename from Assets/VRM10/vrmlib/Runtime/ArrayPin.cs.meta rename to Assets/UniGLTF/Runtime/UniGLTF/IO/ArrayPin.cs.meta index ba3648e26..20c95fe77 100644 --- a/Assets/VRM10/vrmlib/Runtime/ArrayPin.cs.meta +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/ArrayPin.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c431387eb7732aa4fb43d54385c8e0dc +guid: 451e525839f17f84e8092265effaddcb MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/VRM10/vrmlib/Runtime/SkinJoint.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/SkinJoint.cs similarity index 97% rename from Assets/VRM10/vrmlib/Runtime/SkinJoint.cs rename to Assets/UniGLTF/Runtime/UniGLTF/IO/SkinJoint.cs index ecdcde104..6e38e6642 100644 --- a/Assets/VRM10/vrmlib/Runtime/SkinJoint.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/SkinJoint.cs @@ -1,6 +1,6 @@ using System; -namespace VrmLib +namespace UniGLTF { public struct SkinJoints : IEquatable { diff --git a/Assets/VRM10/vrmlib/Runtime/SkinJoint.cs.meta b/Assets/UniGLTF/Runtime/UniGLTF/IO/SkinJoint.cs.meta similarity index 83% rename from Assets/VRM10/vrmlib/Runtime/SkinJoint.cs.meta rename to Assets/UniGLTF/Runtime/UniGLTF/IO/SkinJoint.cs.meta index 817fa7c89..164449d63 100644 --- a/Assets/VRM10/vrmlib/Runtime/SkinJoint.cs.meta +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/SkinJoint.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 51bc7ca26fb1f094588cd8c181d48c89 +guid: 1881e2dc50569df478f166eb4d6ca8f1 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/VRM10/vrmlib/Runtime/SpanLike.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/SpanLike.cs similarity index 93% rename from Assets/VRM10/vrmlib/Runtime/SpanLike.cs rename to Assets/UniGLTF/Runtime/UniGLTF/IO/SpanLike.cs index 97f89aa1b..9c7cdd3e0 100644 --- a/Assets/VRM10/vrmlib/Runtime/SpanLike.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/SpanLike.cs @@ -3,24 +3,8 @@ using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; -namespace VrmLib +namespace UniGLTF { - public struct Byte4 - { - public byte X; - public byte Y; - public byte Z; - public byte W; - } - - public struct UShort4 - { - public ushort X; - public ushort Y; - public ushort Z; - public ushort W; - } - static class BitWriter { public static void Write(byte[] bytes, int i, Int32 value) @@ -115,10 +99,10 @@ namespace VrmLib public static void Write(byte[] bytes, int i, UShort4 value) { - Write(bytes, i, value.X); - Write(bytes, i + 2, value.Y); - Write(bytes, i + 4, value.Z); - Write(bytes, i + 6, value.W); + Write(bytes, i, value.x); + Write(bytes, i + 2, value.y); + Write(bytes, i + 4, value.z); + Write(bytes, i + 6, value.w); } public static void Write(byte[] bytes, int i, SkinJoints value) @@ -131,10 +115,10 @@ namespace VrmLib public static void Write(byte[] bytes, int i, Byte4 value) { - bytes[i++] = value.X; - bytes[i++] = value.Y; - bytes[i++] = value.Z; - bytes[i++] = value.W; + bytes[i++] = value.x; + bytes[i++] = value.y; + bytes[i++] = value.z; + bytes[i++] = value.w; } public static void Write(byte[] bytes, int i, UnityEngine.Vector2 value) @@ -387,24 +371,22 @@ namespace VrmLib }}, {typeof(Byte4), new GetSet{ Getter = (array, start) => - new Byte4 - { - X = array[start], - Y = array[start + 1], - Z = array[start + 2], - W = array[start + 3], - }, + new Byte4( + array[start], + array[start + 1], + array[start + 2], + array[start + 3] + ), Setter = BitWriter.Write }}, {typeof(UShort4), new GetSet{ Getter = (array, start) => - new UShort4 - { - X = BitConverter.ToUInt16(array, start), - Y = BitConverter.ToUInt16(array, start + 2), - Z = BitConverter.ToUInt16(array, start + 4), - W = BitConverter.ToUInt16(array, start + 6) - }, + new UShort4( + BitConverter.ToUInt16(array, start), + BitConverter.ToUInt16(array, start + 2), + BitConverter.ToUInt16(array, start + 4), + BitConverter.ToUInt16(array, start + 6) + ), Setter = BitWriter.Write }}, {typeof(SkinJoints), new GetSet{ diff --git a/Assets/VRM10/vrmlib/Runtime/SpanLike.cs.meta b/Assets/UniGLTF/Runtime/UniGLTF/IO/SpanLike.cs.meta similarity index 83% rename from Assets/VRM10/vrmlib/Runtime/SpanLike.cs.meta rename to Assets/UniGLTF/Runtime/UniGLTF/IO/SpanLike.cs.meta index 7610729e5..ec2ce3377 100644 --- a/Assets/VRM10/vrmlib/Runtime/SpanLike.cs.meta +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/SpanLike.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 48a1d420ea119e944861a729a7d1c6f4 +guid: 8ef774aa861dc6f46a94330c7169bf04 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/VRM10/vrmlib/Tests/NumericTests.cs b/Assets/UniGLTF/Tests/UniGLTF/NumericTests.cs similarity index 98% rename from Assets/VRM10/vrmlib/Tests/NumericTests.cs rename to Assets/UniGLTF/Tests/UniGLTF/NumericTests.cs index 6c1751c15..8f75a5c93 100644 --- a/Assets/VRM10/vrmlib/Tests/NumericTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/NumericTests.cs @@ -1,10 +1,9 @@ using System; using System.Runtime.InteropServices; using System.Numerics; -using VrmLib; using NUnit.Framework; -namespace VrmLibTests +namespace UniGLTF { public class NumericTests { diff --git a/Assets/VRM10/vrmlib/Tests/NumericTests.cs.meta b/Assets/UniGLTF/Tests/UniGLTF/NumericTests.cs.meta similarity index 83% rename from Assets/VRM10/vrmlib/Tests/NumericTests.cs.meta rename to Assets/UniGLTF/Tests/UniGLTF/NumericTests.cs.meta index af4384627..8efc9acd0 100644 --- a/Assets/VRM10/vrmlib/Tests/NumericTests.cs.meta +++ b/Assets/UniGLTF/Tests/UniGLTF/NumericTests.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 534d323846a2b9949b4bb43ae75ab8f8 +guid: 36c14eec5ed000f4cbb5dddf4e4c1af4 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/VRM10/vrmlib/Tests/SpanLikeTests.cs b/Assets/UniGLTF/Tests/UniGLTF/SpanLikeTests.cs similarity index 90% rename from Assets/VRM10/vrmlib/Tests/SpanLikeTests.cs rename to Assets/UniGLTF/Tests/UniGLTF/SpanLikeTests.cs index a022e474e..472201b06 100644 --- a/Assets/VRM10/vrmlib/Tests/SpanLikeTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/SpanLikeTests.cs @@ -1,8 +1,7 @@ using System; -using VrmLib; using NUnit.Framework; -namespace VrmLibTests +namespace UniGLTF { public class SpanLikeTests { @@ -32,7 +31,7 @@ namespace VrmLibTests v0, v1, }; - var span = VrmLib.SpanLike.CopyFrom(positions); + var span = SpanLike.CopyFrom(positions); Assert.AreEqual(2, span.Length); Assert.AreEqual(v0, span[0]); diff --git a/Assets/VRM10/vrmlib/Tests/SpanLikeTests.cs.meta b/Assets/UniGLTF/Tests/UniGLTF/SpanLikeTests.cs.meta similarity index 83% rename from Assets/VRM10/vrmlib/Tests/SpanLikeTests.cs.meta rename to Assets/UniGLTF/Tests/UniGLTF/SpanLikeTests.cs.meta index 7b5be7c9d..b3756ed6d 100644 --- a/Assets/VRM10/vrmlib/Tests/SpanLikeTests.cs.meta +++ b/Assets/UniGLTF/Tests/UniGLTF/SpanLikeTests.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 212282563b23d744dbd55e78db0f91f5 +guid: f70b7312ba0d32b4493231c6f8a42e4c MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/VRM10/Runtime/Components/Expression/ExpressionMerger.cs b/Assets/VRM10/Runtime/Components/Expression/ExpressionMerger.cs index b8ec76ec4..7c27b4034 100644 --- a/Assets/VRM10/Runtime/Components/Expression/ExpressionMerger.cs +++ b/Assets/VRM10/Runtime/Components/Expression/ExpressionMerger.cs @@ -42,7 +42,7 @@ namespace UniVRM10 /// public void SetValues(Dictionary expressionWeights) { - foreach (var (key, weight) in expressionWeights) + foreach (var (key, weight) in expressionWeights.Select(kv => (kv.Key, kv.Value))) { AccumulateValue(key, weight); } diff --git a/Assets/VRM10/Runtime/Components/VRM10Object/VRM10ObjectExpression.cs b/Assets/VRM10/Runtime/Components/VRM10Object/VRM10ObjectExpression.cs index 0c18bf519..e9a99e213 100644 --- a/Assets/VRM10/Runtime/Components/VRM10Object/VRM10ObjectExpression.cs +++ b/Assets/VRM10/Runtime/Components/VRM10Object/VRM10ObjectExpression.cs @@ -143,7 +143,7 @@ namespace UniVRM10 public void Replace(IDictionary map) { - foreach (var (k, v) in map) + foreach (var (k, v) in map.Select(kv => (kv.Key, kv.Value))) { Replace(k, v); } @@ -341,7 +341,7 @@ namespace UniVRM10 public void SetWeights(IEnumerable> weights) { - foreach (var (expressionKey, weight) in weights) + foreach (var (expressionKey, weight) in weights.Select(kv => (kv.Key, kv.Value))) { if (_inputWeights.ContainsKey(expressionKey)) { diff --git a/Assets/VRM10/Runtime/IO/BufferAccessorAdapter.cs b/Assets/VRM10/Runtime/IO/BufferAccessorAdapter.cs index 719c5b197..9b009aa49 100644 --- a/Assets/VRM10/Runtime/IO/BufferAccessorAdapter.cs +++ b/Assets/VRM10/Runtime/IO/BufferAccessorAdapter.cs @@ -105,9 +105,9 @@ namespace UniVRM10 { // use sparse var sparseIndexBin = new ArraySegment(new byte[sparseValuesWithIndex.Count * 4]); - var sparseIndexSpan = VrmLib.SpanLike.Wrap(sparseIndexBin); + var sparseIndexSpan = SpanLike.Wrap(sparseIndexBin); var sparseValueBin = new ArraySegment(new byte[sparseValuesWithIndex.Count * 12]); - var sparseValueSpan = VrmLib.SpanLike.Wrap(sparseValueBin); + var sparseValueSpan = SpanLike.Wrap(sparseValueBin); for (int i = 0; i < sparseValuesWithIndex.Count; ++i) { diff --git a/Assets/VRM10/Runtime/IO/Model/MeshImporter.cs b/Assets/VRM10/Runtime/IO/Model/MeshImporter.cs index aeed26764..94a5dc990 100644 --- a/Assets/VRM10/Runtime/IO/Model/MeshImporter.cs +++ b/Assets/VRM10/Runtime/IO/Model/MeshImporter.cs @@ -1,4 +1,5 @@ using System; +using UniGLTF; using UnityEngine; namespace UniVRM10 @@ -28,7 +29,7 @@ namespace UniVRM10 throw new ArgumentException(); } var weights = src.VertexBuffer.Weights.GetSpan(); - var joints = src.VertexBuffer.Joints.GetSpan(); + var joints = src.VertexBuffer.Joints.GetSpan(); if (skin != null) { mesh.bindposes = skin.InverseMatrices.GetSpan().ToArray(); diff --git a/Assets/VRM10/Runtime/IO/Model/MeshImporterDivided.cs b/Assets/VRM10/Runtime/IO/Model/MeshImporterDivided.cs index 8153fae45..4e9bd8b36 100644 --- a/Assets/VRM10/Runtime/IO/Model/MeshImporterDivided.cs +++ b/Assets/VRM10/Runtime/IO/Model/MeshImporterDivided.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Linq; +using UniGLTF; using UnityEngine; namespace UniVRM10 @@ -26,7 +27,7 @@ namespace UniVRM10 uv.AddRange(mesh.VertexBuffer.TexCoords.GetSpan()); if (src.Skin != null) { - var j = mesh.VertexBuffer.Joints.GetSpan(); + var j = mesh.VertexBuffer.Joints.GetSpan(); var w = mesh.VertexBuffer.Weights.GetSpan(); for (int i = 0; i < mesh.VertexBuffer.Count; ++i) { diff --git a/Assets/VRM10/Runtime/IO/Model/ModelExporter.cs b/Assets/VRM10/Runtime/IO/Model/ModelExporter.cs index 603de0b15..6ac424cde 100644 --- a/Assets/VRM10/Runtime/IO/Model/ModelExporter.cs +++ b/Assets/VRM10/Runtime/IO/Model/ModelExporter.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using UniGLTF; using UnityEngine; using VrmLib; @@ -183,7 +184,7 @@ namespace UniVRM10 vrmMesh.VertexBuffer.Add( VrmLib.VertexBuffer.JointKey, ToBufferAccessor(mesh.boneWeights.Select(x => - new VrmLib.SkinJoints((ushort)x.boneIndex0, (ushort)x.boneIndex1, (ushort)x.boneIndex2, (ushort)x.boneIndex3)).ToArray() + new SkinJoints((ushort)x.boneIndex0, (ushort)x.boneIndex1, (ushort)x.boneIndex2, (ushort)x.boneIndex3)).ToArray() )); } if (mesh.uv.Length == mesh.vertexCount) vrmMesh.VertexBuffer.Add(VrmLib.VertexBuffer.TexCoordKey, ToBufferAccessor(mesh.uv)); @@ -269,7 +270,7 @@ namespace UniVRM10 return skin; } - private static VrmLib.BufferAccessor ToBufferAccessor(VrmLib.SkinJoints[] values) + private static VrmLib.BufferAccessor ToBufferAccessor(SkinJoints[] values) { return ToBufferAccessor(values, VrmLib.AccessorValueType.UNSIGNED_SHORT, VrmLib.AccessorVectorType.VEC4); } @@ -306,7 +307,7 @@ namespace UniVRM10 private static VrmLib.BufferAccessor ToBufferAccessor(T[] value, VrmLib.AccessorValueType valueType, VrmLib.AccessorVectorType vectorType) where T : struct { - var span = VrmLib.SpanLike.CopyFrom(value); + var span = SpanLike.CopyFrom(value); return new VrmLib.BufferAccessor( span.Bytes, valueType, diff --git a/Assets/VRM10/Runtime/IO/Vrm10Importer.cs b/Assets/VRM10/Runtime/IO/Vrm10Importer.cs index c96cb5673..363a1bb1f 100644 --- a/Assets/VRM10/Runtime/IO/Vrm10Importer.cs +++ b/Assets/VRM10/Runtime/IO/Vrm10Importer.cs @@ -209,7 +209,7 @@ namespace UniVRM10 // renderer var map = m_map; - foreach (var (node, go) in map.Nodes) + foreach (var (node, go) in map.Nodes.Select(kv => (kv.Key, kv.Value))) { if (node.MeshGroup is null) { @@ -408,7 +408,7 @@ namespace UniVRM10 vrm.Expression.LookRight = GetOrLoadExpression(ExpressionKey.LookRight.SubAssetKey, ExpressionPreset.lookRight, vrmExtension.Expressions?.Preset?.LookRight); if (vrmExtension?.Expressions?.Custom != null) { - foreach (var (name, expression) in vrmExtension.Expressions.Custom) + foreach (var (name, expression) in vrmExtension.Expressions.Custom.Select(kv => (kv.Key, kv.Value))) { var key = ExpressionKey.CreateCustom(name); var preset = ExpressionPreset.custom; diff --git a/Assets/VRM10/Runtime/Migration/RotateY180.cs b/Assets/VRM10/Runtime/Migration/RotateY180.cs index 327bc11dc..5b7550481 100644 --- a/Assets/VRM10/Runtime/Migration/RotateY180.cs +++ b/Assets/VRM10/Runtime/Migration/RotateY180.cs @@ -73,7 +73,7 @@ namespace UniVRM10 if (bufferViewIndex != -1) { var buffer = gltf.GetViewBytes(bufferViewIndex); - var span = VrmLib.SpanLike.Wrap(buffer); + var span = SpanLike.Wrap(buffer); for (int i = 0; i < span.Length; ++i) { span[i] = span[i].RotateY180(); @@ -114,7 +114,7 @@ namespace UniVRM10 { var accessor = gltf.accessors[skin.inverseBindMatrices]; var buffer = gltf.GetViewBytes(accessor.bufferView); - var span = VrmLib.SpanLike.Wrap(buffer); + var span = SpanLike.Wrap(buffer); for (int i = 0; i < span.Length; ++i) { span[i] = span[i].RotateY180(); diff --git a/Assets/VRM10/vrmlib/Runtime/Animation.cs b/Assets/VRM10/vrmlib/Runtime/Animation.cs index 45ca00550..975d81bac 100644 --- a/Assets/VRM10/vrmlib/Runtime/Animation.cs +++ b/Assets/VRM10/vrmlib/Runtime/Animation.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; - +using UniGLTF; namespace VrmLib { @@ -82,9 +82,9 @@ namespace VrmLib elapsed -= m_lastTime; } - foreach (var (node, animation) in NodeMap) + foreach (var (node, animation) in NodeMap.Select(kv => (kv.Key, kv.Value))) { - foreach (var (target, curve) in animation.Curves) + foreach (var (target, curve) in animation.Curves.Select(kv => (kv.Key, kv.Value))) { switch (target) { diff --git a/Assets/VRM10/vrmlib/Runtime/BufferAccessor.cs b/Assets/VRM10/vrmlib/Runtime/BufferAccessor.cs index 591c83e49..0d6336e7e 100644 --- a/Assets/VRM10/vrmlib/Runtime/BufferAccessor.cs +++ b/Assets/VRM10/vrmlib/Runtime/BufferAccessor.cs @@ -230,10 +230,7 @@ namespace VrmLib var span = SpanLike.Wrap(Bytes); for (int i = 0; i < span.Length; ++i) { - array[i].X = span[i].X; - array[i].Y = span[i].Y; - array[i].Z = span[i].Z; - array[i].W = span[i].W; + array[i] = new UShort4(span[i].x, span[i].y, span[i].z, span[i].w); } return array; } diff --git a/Assets/VRM10/vrmlib/Runtime/Mesh.cs b/Assets/VRM10/vrmlib/Runtime/Mesh.cs index 7de93f88e..14588f67f 100644 --- a/Assets/VRM10/vrmlib/Runtime/Mesh.cs +++ b/Assets/VRM10/vrmlib/Runtime/Mesh.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; +using UniGLTF; namespace VrmLib { diff --git a/Assets/VRM10/vrmlib/Runtime/MeshExtensions.cs b/Assets/VRM10/vrmlib/Runtime/MeshExtensions.cs index 0fa78c6ea..788351997 100644 --- a/Assets/VRM10/vrmlib/Runtime/MeshExtensions.cs +++ b/Assets/VRM10/vrmlib/Runtime/MeshExtensions.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Numerics; using System.Runtime.InteropServices; +using UniGLTF; namespace VrmLib { diff --git a/Assets/VRM10/vrmlib/Runtime/MeshMorphTargetSplitter.cs b/Assets/VRM10/vrmlib/Runtime/MeshMorphTargetSplitter.cs index e16f05591..07806a211 100644 --- a/Assets/VRM10/vrmlib/Runtime/MeshMorphTargetSplitter.cs +++ b/Assets/VRM10/vrmlib/Runtime/MeshMorphTargetSplitter.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; +using UniGLTF; namespace VrmLib { diff --git a/Assets/VRM10/vrmlib/Runtime/ModelExtensionsForCoordinates.cs b/Assets/VRM10/vrmlib/Runtime/ModelExtensionsForCoordinates.cs index 304c8155f..3dfc4d18a 100644 --- a/Assets/VRM10/vrmlib/Runtime/ModelExtensionsForCoordinates.cs +++ b/Assets/VRM10/vrmlib/Runtime/ModelExtensionsForCoordinates.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using System.Numerics; +using UniGLTF; namespace VrmLib { diff --git a/Assets/VRM10/vrmlib/Runtime/NodeAnimation.cs b/Assets/VRM10/vrmlib/Runtime/NodeAnimation.cs index f130f1058..642910979 100644 --- a/Assets/VRM10/vrmlib/Runtime/NodeAnimation.cs +++ b/Assets/VRM10/vrmlib/Runtime/NodeAnimation.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Numerics; using System.Runtime.InteropServices; +using UniGLTF; namespace VrmLib { diff --git a/Assets/VRM10/vrmlib/Runtime/Skin.cs b/Assets/VRM10/vrmlib/Runtime/Skin.cs index 67bbbd8cc..d87689c0f 100644 --- a/Assets/VRM10/vrmlib/Runtime/Skin.cs +++ b/Assets/VRM10/vrmlib/Runtime/Skin.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Numerics; using System.Runtime.InteropServices; using System.Text; +using UniGLTF; namespace VrmLib { diff --git a/Assets/VRM10/vrmlib/Runtime/VertexBuffer.cs b/Assets/VRM10/vrmlib/Runtime/VertexBuffer.cs index 601933b9c..6d23fafb0 100644 --- a/Assets/VRM10/vrmlib/Runtime/VertexBuffer.cs +++ b/Assets/VRM10/vrmlib/Runtime/VertexBuffer.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Numerics; using System.Runtime.InteropServices; +using UniGLTF; namespace VrmLib { diff --git a/Assets/VRM10/vrmlib/Runtime/VertexBufferExtensions.cs b/Assets/VRM10/vrmlib/Runtime/VertexBufferExtensions.cs index 6f0b4c6e3..0264fe650 100644 --- a/Assets/VRM10/vrmlib/Runtime/VertexBufferExtensions.cs +++ b/Assets/VRM10/vrmlib/Runtime/VertexBufferExtensions.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Numerics; +using UniGLTF; namespace VrmLib {