Fix null data bug during first load

This commit is contained in:
2026-03-05 20:06:34 +08:00
parent ee8e817a48
commit 06392c2f72
6 changed files with 527 additions and 166 deletions
+58 -13
View File
@@ -119,7 +119,7 @@ NavMeshSettings:
debug: debug:
m_Flags: 0 m_Flags: 0
m_NavMeshData: {fileID: 0} m_NavMeshData: {fileID: 0}
--- !u!1001 &1278960003 --- !u!1001 &594024951
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 2 serializedVersion: 2
@@ -127,47 +127,47 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 0} m_TransformParent: {fileID: 0}
m_Modifications: m_Modifications:
- target: {fileID: -774367247743995920, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} - target: {fileID: -774367247743995920, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_Enabled propertyPath: m_Enabled
value: 1 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} - target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalRotation.w propertyPath: m_LocalRotation.w
value: 1 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} - target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalRotation.x propertyPath: m_LocalRotation.x
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} - target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalRotation.y propertyPath: m_LocalRotation.y
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} - target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalRotation.z propertyPath: m_LocalRotation.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} - target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalEulerAnglesHint.x propertyPath: m_LocalEulerAnglesHint.x
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} - target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalEulerAnglesHint.y propertyPath: m_LocalEulerAnglesHint.y
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -364223573239433514, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} - target: {fileID: -364223573239433514, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 8980549144392899874, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} - target: {fileID: 8980549144392899874, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: splat_30000 value: splat_45000
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents: []
m_SourcePrefab: {fileID: -4216948427090074523, guid: 37755a41ea5c1174cad6f111ea2f209b, type: 3} m_SourcePrefab: {fileID: -4216948427090074523, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
--- !u!1 &1826889287 --- !u!1 &1826889287
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -179,6 +179,7 @@ GameObject:
- component: {fileID: 1826889290} - component: {fileID: 1826889290}
- component: {fileID: 1826889289} - component: {fileID: 1826889289}
- component: {fileID: 1826889288} - component: {fileID: 1826889288}
- component: {fileID: 1826889291}
m_Layer: 0 m_Layer: 0
m_Name: Main Camera m_Name: Main Camera
m_TagString: MainCamera m_TagString: MainCamera
@@ -260,6 +261,50 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1826889291
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1826889287}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_TaaSettings:
m_Quality: 3
m_FrameInfluence: 0.1
m_JitterScale: 1
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
m_Version: 2
--- !u!1 &1911516430 --- !u!1 &1911516430
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -393,4 +438,4 @@ SceneRoots:
m_Roots: m_Roots:
- {fileID: 1826889290} - {fileID: 1826889290}
- {fileID: 1911516433} - {fileID: 1911516433}
- {fileID: 1278960003} - {fileID: 594024951}
+75 -70
View File
@@ -1,87 +1,92 @@
using UnityEngine; using UnityEngine;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections;
using System.Linq; using System.Linq;
using System;
using System.Linq.Expressions;
namespace SplatVfx { namespace SplatVfx
public sealed class SplatData : ScriptableObject
{ {
#region Public properties
public int SplatCount => PositionArray.Length; public sealed class SplatData : ScriptableObject
public GraphicsBuffer PositionBuffer => GetCachedBuffers().position;
public GraphicsBuffer ScaleBuffer => GetCachedBuffers().scale;
public GraphicsBuffer RotationBuffer => GetCachedBuffers().rotation;
public GraphicsBuffer ColorBuffer => GetCachedBuffers().color;
public GraphicsBuffer OpacityBuffer => GetCachedBuffers().opacity;
public GraphicsBuffer SHBuffer => GetCachedBuffers().sh;
#endregion
#region Serialized data
[field:SerializeField] public Vector3[] PositionArray { get; set; }
[field:SerializeField] public Vector3[] ScaleArray { get; set; }
[field:SerializeField] public Quaternion[] RotationArray { get; set; }
[field:SerializeField] public Color[] ColorArray { get; set; }
[field:SerializeField] public float[] OpacityArray { get; set; }
[field:SerializeField] public float[,] SHArray { get; set; }
#endregion
#region Public methods
public void ReleaseGpuResources()
{ {
_cachedBuffers.position?.Release(); #region Public properties
_cachedBuffers.scale?.Release();
_cachedBuffers.rotation?.Release();
_cachedBuffers.color?.Release();
_cachedBuffers.opacity?.Release();
_cachedBuffers = (null, null, null, null, null, null);
}
#endregion public int SplatCount => PositionArray.Length;
public GraphicsBuffer PositionBuffer => GetCachedBuffers().position;
public GraphicsBuffer ScaleBuffer => GetCachedBuffers().scale;
public GraphicsBuffer RotationBuffer => GetCachedBuffers().rotation;
public GraphicsBuffer ColorBuffer => GetCachedBuffers().color;
public GraphicsBuffer OpacityBuffer => GetCachedBuffers().opacity;
public GraphicsBuffer SHBuffer => GetCachedBuffers().sh;
#region GPU resource management #endregion
(GraphicsBuffer position, GraphicsBuffer scale, GraphicsBuffer rotation, #region Serialized data
GraphicsBuffer color, GraphicsBuffer opacity, GraphicsBuffer sh)
_cachedBuffers;
static unsafe GraphicsBuffer NewBuffer<T>(int count) where T : unmanaged [field: SerializeField] public Vector3[] PositionArray { get; set; }
=> new GraphicsBuffer(GraphicsBuffer.Target.Structured, count, sizeof(T)); [field: SerializeField] public Vector3[] ScaleArray { get; set; }
[field: SerializeField] public Quaternion[] RotationArray { get; set; }
[field: SerializeField] public Color[] ColorArray { get; set; }
[field: SerializeField] public float[] OpacityArray { get; set; }
[field: SerializeField] public float[,] SHArray { get; set; }
(GraphicsBuffer position, GraphicsBuffer scale, GraphicsBuffer rotation, #endregion
GraphicsBuffer color, GraphicsBuffer opacity, GraphicsBuffer sh)
GetCachedBuffers() #region Public methods
{
if (_cachedBuffers.position == null) public void ReleaseGpuResources()
{ {
_cachedBuffers.position = NewBuffer<Vector3>(SplatCount); _cachedBuffers.position?.Release();
_cachedBuffers.scale = NewBuffer<Vector3>(SplatCount); _cachedBuffers.scale?.Release();
_cachedBuffers.rotation = NewBuffer<Quaternion>(SplatCount); _cachedBuffers.rotation?.Release();
_cachedBuffers.color = NewBuffer<Color>(SplatCount); _cachedBuffers.color?.Release();
_cachedBuffers.opacity = NewBuffer<float>(SplatCount); _cachedBuffers.opacity?.Release();
_cachedBuffers.sh = NewBuffer<float>(SplatCount * 45); _cachedBuffers.sh?.Release();
_cachedBuffers = (null, null, null, null, null, null);
_cachedBuffers.position.SetData(PositionArray);
_cachedBuffers.scale.SetData(ScaleArray);
_cachedBuffers.rotation.SetData(RotationArray);
_cachedBuffers.color.SetData(ColorArray);
_cachedBuffers.opacity.SetData(OpacityArray);
_cachedBuffers.sh.SetData(SHArray);
} }
return _cachedBuffers;
#endregion
#region GPU resource management
(GraphicsBuffer position, GraphicsBuffer scale, GraphicsBuffer rotation,
GraphicsBuffer color, GraphicsBuffer opacity, GraphicsBuffer sh)
_cachedBuffers;
static unsafe GraphicsBuffer NewBuffer<T>(int count) where T : unmanaged
=> new GraphicsBuffer(GraphicsBuffer.Target.Structured, count, sizeof(T));
(GraphicsBuffer position, GraphicsBuffer scale, GraphicsBuffer rotation,
GraphicsBuffer color, GraphicsBuffer opacity, GraphicsBuffer sh)
GetCachedBuffers()
{
if (_cachedBuffers.position == null)
{
_cachedBuffers.position = NewBuffer<Vector3>(SplatCount);
_cachedBuffers.scale = NewBuffer<Vector3>(SplatCount);
_cachedBuffers.rotation = NewBuffer<Quaternion>(SplatCount);
_cachedBuffers.color = NewBuffer<Color>(SplatCount);
_cachedBuffers.opacity = NewBuffer<float>(SplatCount);
_cachedBuffers.sh = NewBuffer<float>(SplatCount * 45);
_cachedBuffers.position.SetData(PositionArray);
// _cachedBuffers.scale.SetData(ScaleArray);
// _cachedBuffers.rotation.SetData(RotationArray);
// _cachedBuffers.color.SetData(ColorArray);
// _cachedBuffers.opacity.SetData(OpacityArray);
// _cachedBuffers.sh.SetData(SHArray);
}
return _cachedBuffers;
}
#endregion
#region ScriptableObject implementation
void OnDisable() => ReleaseGpuResources();
#endregion
} }
#endregion
#region ScriptableObject implementation
void OnDisable() => ReleaseGpuResources();
#endregion
}
} }
+56 -51
View File
@@ -1,62 +1,67 @@
using System.Collections;
using UnityEngine; using UnityEngine;
using UnityEngine.VFX; using UnityEngine.VFX;
using UnityEngine.VFX.Utility; using UnityEngine.VFX.Utility;
namespace SplatVfx { namespace SplatVfx
[AddComponentMenu("VFX/Property Binders/Splat Data Binder")]
[VFXBinder("Splat Data")]
public sealed class VFXSplatDataBinder : VFXBinderBase
{ {
public SplatData SplatData = null;
// public string SplatCountProperty [AddComponentMenu("VFX/Property Binders/Splat Data Binder")]
// { get => (string)_splatCountProperty; [VFXBinder("Splat Data")]
// set => _splatCountProperty = value; } public sealed class VFXSplatDataBinder : VFXBinderBase
public string PositionBufferProperty
{ get => (string)_positionBufferProperty;
set => _positionBufferProperty = value; }
// public string AxisBufferProperty
// { get => (string)_axisBufferProperty;
// set => _axisBufferProperty = value; }
// public string ColorBufferProperty
// { get => (string)_colorBufferProperty;
// set => _colorBufferProperty = value; }
// [VFXPropertyBinding("System.UInt32"), SerializeField]
// ExposedProperty _splatCountProperty = "SplatCount";
[VFXPropertyBinding("UnityEngine.GraphicsBuffer"), SerializeField]
ExposedProperty _positionBufferProperty = "PositionBuffer";
// [VFXPropertyBinding("UnityEngine.GraphicsBuffer"), SerializeField]
// ExposedProperty _axisBufferProperty = "AxisBuffer";
// [VFXPropertyBinding("UnityEngine.GraphicsBuffer"), SerializeField]
// ExposedProperty _colorBufferProperty = "ColorBuffer";
public override bool IsValid(VisualEffect component)
=> SplatData != null &&
// component.HasUInt(_splatCountProperty) &&
component.HasGraphicsBuffer(_positionBufferProperty); // &&
// component.HasGraphicsBuffer(_axisBufferProperty) &&
// component.HasGraphicsBuffer(_colorBufferProperty);
public override void UpdateBinding(VisualEffect component)
{ {
// component.SetUInt(_splatCountProperty, (uint)SplatData.SplatCount); public SplatData SplatData = null;
component.SetGraphicsBuffer(_positionBufferProperty, SplatData.PositionBuffer);
// component.SetGraphicsBuffer(_axisBufferProperty, SplatData.AxisBuffer); // public string SplatCountProperty
// component.SetGraphicsBuffer(_colorBufferProperty, SplatData.ColorBuffer); // { get => (string)_splatCountProperty;
// set => _splatCountProperty = value; }
public string PositionBufferProperty
{
get => (string)_positionBufferProperty;
set => _positionBufferProperty = value;
}
// public string AxisBufferProperty
// { get => (string)_axisBufferProperty;
// set => _axisBufferProperty = value; }
// public string ColorBufferProperty
// { get => (string)_colorBufferProperty;
// set => _colorBufferProperty = value; }
// [VFXPropertyBinding("System.UInt32"), SerializeField]
// ExposedProperty _splatCountProperty = "SplatCount";
[VFXPropertyBinding("UnityEngine.GraphicsBuffer"), SerializeField]
ExposedProperty _positionBufferProperty = "PositionBuffer";
// [VFXPropertyBinding("UnityEngine.GraphicsBuffer"), SerializeField]
// ExposedProperty _axisBufferProperty = "AxisBuffer";
// [VFXPropertyBinding("UnityEngine.GraphicsBuffer"), SerializeField]
// ExposedProperty _colorBufferProperty = "ColorBuffer";
public override bool IsValid(VisualEffect component)
=> SplatData != null &&
// component.HasUInt(_splatCountProperty) &&
component.HasGraphicsBuffer(_positionBufferProperty); // &&
// component.HasGraphicsBuffer(_axisBufferProperty) &&
// component.HasGraphicsBuffer(_colorBufferProperty);
public override void UpdateBinding(VisualEffect component)
{
// component.SetUInt(_splatCountProperty, (uint)SplatData.SplatCount);
component.SetGraphicsBuffer(_positionBufferProperty, SplatData.PositionBuffer);
// component.SetGraphicsBuffer(_axisBufferProperty, SplatData.AxisBuffer);
// component.SetGraphicsBuffer(_colorBufferProperty, SplatData.ColorBuffer);
}
// public override string ToString()
// => $"Splat Data : {_splatCountProperty}, {_positionBufferProperty}, "
// // + $"{_axisBufferProperty}, {_colorBufferProperty}";
// + $"{_colorBufferProperty}";
} }
// public override string ToString()
// => $"Splat Data : {_splatCountProperty}, {_positionBufferProperty}, "
// // + $"{_axisBufferProperty}, {_colorBufferProperty}";
// + $"{_colorBufferProperty}";
}
} // namespace SplatVfx } // namespace SplatVfx
+12 -11
View File
@@ -1,16 +1,17 @@
using UnityEngine; using UnityEngine;
using UnityEditor; using UnityEditor;
namespace SplatVfx.Editor { namespace SplatVfx.Editor
[CustomEditor(typeof(SplatData))]
public sealed class SplatDataInspector : UnityEditor.Editor
{ {
public override void OnInspectorGUI()
{
var count = ((SplatData)target).SplatCount;
EditorGUILayout.LabelField("Splat Count", $"{count:N0}");
}
}
} // namespace SplatVfx.Editor [CustomEditor(typeof(SplatData))]
public sealed class SplatDataInspector : UnityEditor.Editor
{
public override void OnInspectorGUI()
{
var count = ((SplatData)target).SplatCount;
EditorGUILayout.LabelField("Splat Count", $"{count:N0}");
}
}
}
+9 -11
View File
@@ -42,13 +42,13 @@ namespace SplatVfx.Editor
{ {
var ply = ParsePLYFile(context.assetPath); var ply = ParsePLYFile(context.assetPath);
var header_info = ParseHeader(ply.header); var header_info = ParseHeader(ply.header);
var data = ImportAsSplatData(header_info, ply.binaryData); var data = ImportAsSplatData(header_info, ply.binaryData);
var prefab = CreatePrefab(data);
data.name = Path.GetFileNameWithoutExtension(context.assetPath); data.name = Path.GetFileNameWithoutExtension(context.assetPath);
context.AddObjectToAsset("prefab", prefab);
context.AddObjectToAsset("data", data); context.AddObjectToAsset("data", data);
var prefab = CreatePrefab(data);
context.AddObjectToAsset("prefab", prefab);
context.SetMainObject(prefab); context.SetMainObject(prefab);
} }
@@ -61,13 +61,13 @@ namespace SplatVfx.Editor
GameObject CreatePrefab(SplatData data) GameObject CreatePrefab(SplatData data)
{ {
var go = new GameObject(); var go = new GameObject();
var vfx = go.AddComponent<VisualEffect>();
vfx.visualEffectAsset = EditorResources.Load<VisualEffectAsset>(DefaultVfxPath);
var vfx = go.AddComponent<VisualEffect>(); var binderBase = go.AddComponent<VFXPropertyBinder>();
vfx.visualEffectAsset = EditorResources.Load<VisualEffectAsset>(DefaultVfxPath); var binder = binderBase.AddPropertyBinder<VFXSplatDataBinder>();
var binderBase = go.AddComponent<VFXPropertyBinder>(); binder.SplatData = data;
var binder = binderBase.AddPropertyBinder<VFXSplatDataBinder>();
binder.SplatData = data;
return go; return go;
} }
@@ -76,7 +76,6 @@ namespace SplatVfx.Editor
#region Reader implementation #region Reader implementation
[BurstCompile]
(string header, byte[] binaryData) ParsePLYFile(string filePath) (string header, byte[] binaryData) ParsePLYFile(string filePath)
{ {
using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
@@ -103,7 +102,6 @@ namespace SplatVfx.Editor
return (headerBuilder.ToString(), binaryData); return (headerBuilder.ToString(), binaryData);
} }
[BurstCompile]
(string format, int num_element, List<(string, string)> properties) (string format, int num_element, List<(string, string)> properties)
ParseHeader(string header) ParseHeader(string header)
{ {
+316 -9
View File
@@ -68,10 +68,10 @@ MonoBehaviour:
categories: [] categories: []
uiBounds: uiBounds:
serializedVersion: 2 serializedVersion: 2
x: 269 x: 283
y: -492 y: -492
width: 885 width: 871
height: 1049 height: 1065
--- !u!114 &114350483966674976 --- !u!114 &114350483966674976
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@@ -145,8 +145,8 @@ MonoBehaviour:
capacity: 10000 capacity: 10000
stripCapacity: 16 stripCapacity: 16
particlePerStripCount: 16 particlePerStripCount: 16
needsComputeBounds: 1 needsComputeBounds: 0
boundsMode: 2 boundsMode: 0
m_Space: 0 m_Space: 0
--- !u!114 &114946465509916290 --- !u!114 &114946465509916290
MonoBehaviour: MonoBehaviour:
@@ -168,6 +168,7 @@ MonoBehaviour:
m_UICollapsed: 0 m_UICollapsed: 0
m_UISuperCollapsed: 0 m_UISuperCollapsed: 0
m_InputSlots: m_InputSlots:
- {fileID: 8926484042661614672}
- {fileID: 8926484042661614562} - {fileID: 8926484042661614562}
m_OutputSlots: [] m_OutputSlots: []
m_Label: Initialize Particles m_Label: Initialize Particles
@@ -589,7 +590,7 @@ MonoBehaviour:
linkedSlots: linkedSlots:
- outputSlot: {fileID: 8926484042661614594} - outputSlot: {fileID: 8926484042661614594}
inputSlot: {fileID: 8926484042661614654} inputSlot: {fileID: 8926484042661614654}
position: {x: 297, y: 19} position: {x: 311, y: 18}
expandedSlots: [] expandedSlots: []
expanded: 1 expanded: 1
supecollapsed: 1 supecollapsed: 1
@@ -763,7 +764,7 @@ MonoBehaviour:
m_UIIgnoredErrors: [] m_UIIgnoredErrors: []
m_Parent: {fileID: 114350483966674976} m_Parent: {fileID: 114350483966674976}
m_Children: [] m_Children: []
m_UIPosition: {x: 269, y: 62} m_UIPosition: {x: 283, y: 61}
m_UICollapsed: 0 m_UICollapsed: 0
m_UISuperCollapsed: 1 m_UISuperCollapsed: 1
m_InputSlots: [] m_InputSlots: []
@@ -834,7 +835,7 @@ MonoBehaviour:
m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor, m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"position":{"x":0.0,"y":0.0,"z":1.0}}' m_SerializableObject: '{"position":{"x":0.0,"y":0.0,"z":1.0}}'
m_Space: 1 m_Space: 0
m_Property: m_Property:
name: _Position name: _Position
m_serializedType: m_serializedType:
@@ -993,7 +994,7 @@ MonoBehaviour:
m_UIIgnoredErrors: [] m_UIIgnoredErrors: []
m_Parent: {fileID: 114350483966674976} m_Parent: {fileID: 114350483966674976}
m_Children: [] m_Children: []
m_UIPosition: {x: 485, y: 62} m_UIPosition: {x: 499, y: 61}
m_UICollapsed: 0 m_UICollapsed: 0
m_UISuperCollapsed: 1 m_UISuperCollapsed: 1
m_InputSlots: m_InputSlots:
@@ -1271,3 +1272,309 @@ MonoBehaviour:
PublicKeyToken=b77a5c561934e089 PublicKeyToken=b77a5c561934e089
m_Direction: 0 m_Direction: 0
m_LinkedSlots: [] m_LinkedSlots: []
--- !u!114 &8926484042661614672
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b605c022ee79394a8a776c0869b3f9a, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlot
m_UIIgnoredErrors: []
m_Parent: {fileID: 0}
m_Children:
- {fileID: 8926484042661614673}
- {fileID: 8926484042661614677}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614672}
m_MasterData:
m_Owner: {fileID: 114946465509916290}
m_Value:
m_Type:
m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"center":{"x":0.0,"y":0.0,"z":0.0},"size":{"x":1.0,"y":1.0,"z":1.0}}'
m_Space: 0
m_Property:
name: bounds
m_serializedType:
m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614673
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat3
m_UIIgnoredErrors: []
m_Parent: {fileID: 8926484042661614672}
m_Children:
- {fileID: 8926484042661614674}
- {fileID: 8926484042661614675}
- {fileID: 8926484042661614676}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614672}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: -1
m_Property:
name: center
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614674
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
m_UIIgnoredErrors: []
m_Parent: {fileID: 8926484042661614673}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614672}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: -1
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614675
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
m_UIIgnoredErrors: []
m_Parent: {fileID: 8926484042661614673}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614672}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: -1
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614676
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
m_UIIgnoredErrors: []
m_Parent: {fileID: 8926484042661614673}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614672}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: -1
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614677
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat3
m_UIIgnoredErrors: []
m_Parent: {fileID: 8926484042661614672}
m_Children:
- {fileID: 8926484042661614678}
- {fileID: 8926484042661614679}
- {fileID: 8926484042661614680}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614672}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: -1
m_Property:
name: size
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614678
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
m_UIIgnoredErrors: []
m_Parent: {fileID: 8926484042661614677}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614672}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: -1
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614679
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
m_UIIgnoredErrors: []
m_Parent: {fileID: 8926484042661614677}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614672}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: -1
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614680
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
m_UIIgnoredErrors: []
m_Parent: {fileID: 8926484042661614677}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614672}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: -1
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots: []