public override async System.Threading.Tasks.Task Load(XndNode xndNode) { await base.Load(xndNode); var att = xndNode.FindAttrib("DefaultParamValue"); if (att != null) { att.BeginRead(); switch (att.Version) { case 0: { int count = 0; att.Read(out count); for (int i = 0; i < count; i++) { GradientData obj = new GradientData();; att.ReadMetaObject(obj); GradientDatas.Add(obj); } SetGradientDatas(GradientDatas); } break; } att.EndRead(); } }
private void LoadGradientData(MaterialProperty prop, Material material) { GradientData gradientData = GetDataSubAsset(prop, AssetDatabase.GetAssetPath(material)); if (gradientData == null) { DefaultGradient(); } else { gradient = gradientData.gradient; textureResolution = gradientData.resolution; } }
private GradientData GetDataSubAsset(MaterialProperty prop, string materialPath) { GradientData gradientData = null; UnityEngine.Object[] subAssets = AssetDatabase.LoadAllAssetRepresentationsAtPath(materialPath); for (int i = 0; i < subAssets.Length; i++) { if (subAssets[i].name == prop.name + subAssetDataEnding) { gradientData = subAssets[i] as GradientData; } } return(gradientData); }
GradientData GetGradientPaintData(GradientPaint gradientPaint) { var orderStops = gradientPaint.GradientStops; var data = new GradientData(orderStops.Length); int count = 0; foreach (var orderStop in orderStops) { data.Colors[count] = orderStop.Color.ToPlatform().ToArgb(); data.Offsets[count] = orderStop.Offset; count++; } return(data); }
private void Create() { Debug.Log("enable"); cs = Resources.Load <ComputeShader>("Compute Shader/MandelBulbCompute"); if (cs == null) { Debug.Log("cs not found"); } else { Debug.Log("cs found"); } tex = new RenderTexture(Width, Height, 4); tex.enableRandomWrite = true; tex.Create(); gradientData = new ComputeBuffer(8, GradientData.Stride); array = new GradientData[16]; for (int i = 0; i < fgGradient.colorKeys.Length; i++) { var k = fgGradient.colorKeys[i]; array[i] = new GradientData() { color = new Vector4(k.color.r, k.color.g, k.color.b, k.color.a), key = k.time, }; } for (int i = 0; i < bgGradient.colorKeys.Length; i++) { var k = bgGradient.colorKeys[i]; array[i + 8] = new GradientData() { color = new Vector4(k.color.r, k.color.g, k.color.b, k.color.a), key = k.time, }; } gradientData.SetData(array); }
private void SaveDataTexture(MaterialProperty prop, Material material) { string materialPath = AssetDatabase.GetAssetPath(material); ClearOldSubAssets(prop, materialPath); gradientTexture.name = prop.name + subAssetTextureEnding; AssetDatabase.AddObjectToAsset(gradientTexture, material); GradientData gradientData = ScriptableObject.CreateInstance <GradientData>(); gradientData.name = prop.name + subAssetDataEnding; gradientData.gradient = gradient; gradientData.resolution = textureResolution; AssetDatabase.AddObjectToAsset(gradientData, material); AssetDatabase.SaveAssets(); prop.textureValue = GetTextureSubAsset(prop, materialPath); }
public InclinometerFake() { data = new GradientData(); }