public static void SetAnimation(this JObject jsonNode, UnityEngine.GameObject obj, UnityEngine.AnimationClip[] animationClips) { var exportAnimations = new JArray(); jsonNode.Add("_animations", exportAnimations); foreach (var animationClip in animationClips) { var asset = SerializeObject.SerializeAsset(animationClip); var assetIndex = SerializeObject.currentData.AddAsset(asset); exportAnimations.AddAsset(assetIndex); } }
public static void SetLightmaps(this JObject jsonNode, string exportPath) { var lightmapsJson = new JArray(); jsonNode.Add("lightmaps", lightmapsJson); foreach (var lightmapData in LightmapSettings.lightmaps) { Texture2D lightmap = lightmapData.lightmapColor; var asset = SerializeObject.SerializeAsset(lightmap); var assetIndex = SerializeObject.currentData.AddAsset(asset); lightmapsJson.AddAsset(assetIndex); } }
public static void SetMaterials(this JObject jsonNode, UnityEngine.GameObject obj, UnityEngine.Material[] materials, bool isParticleMat = false, bool isAnimationMat = false) { var materialsItem = new JArray(); jsonNode.Add("materials", materialsItem); //写材质 foreach (var material in materials) { if (material == null) { UnityEngine.Debug.LogWarning(obj.gameObject.name + " 材质缺失,请检查资源"); continue; } var asset = SerializeObject.SerializeAsset(material); var assetIndex = SerializeObject.currentData.AddAsset(asset); materialsItem.AddAsset(assetIndex); } }