Beispiel #1
0
        public static glTFExtension Serialize(params string[] args)
        {
            var f = new JsonFormatter();

            f.BeginList();
            foreach (var arg in args)
            {
                // エスケープとかあるし
                f.Value(arg);
            }
            f.EndList();

            return(new glTFExtensionExport().Add(ExtraName, f.GetStore().Bytes));
        }
Beispiel #2
0
        public static void Serialize(glTFMesh gltfMesh, IEnumerable <string> targetNames)
        {
            // targetNames
            var f = new JsonFormatter();

            f.BeginList();
            foreach (var n in targetNames)
            {
                f.Value(n);
            }
            f.EndList();
            var targetNamesJson = f.GetStore().Bytes;

            var meshExtras = glTFExtensionExport.GetOrCreate(ref gltfMesh.extras);

            meshExtras.Add(ExtraName, targetNamesJson);

            foreach (var prim in gltfMesh.primitives)
            {
                var primExtras = glTFExtensionExport.GetOrCreate(ref prim.extras);
                primExtras.Add(ExtraName, targetNamesJson);
            }
        }
        public static void Serialize(ref glTFExtension materialExtensions, float value)
        {
            var f = new JsonFormatter();

            f.BeginMap();
            f.Key(nameof(emissiveStrength));
            f.Value(value);
            f.EndMap();
            glTFExtensionExport.GetOrCreate(ref materialExtensions).Add(ExtensionName, f.GetStore().Bytes);
        }