Add opacity import

This commit is contained in:
2026-03-06 16:42:21 +08:00
parent 06392c2f72
commit 1224da4204
4 changed files with 406 additions and 4 deletions
+1 -1
View File
@@ -74,7 +74,7 @@ namespace SplatVfx
// _cachedBuffers.scale.SetData(ScaleArray);
// _cachedBuffers.rotation.SetData(RotationArray);
// _cachedBuffers.color.SetData(ColorArray);
// _cachedBuffers.opacity.SetData(OpacityArray);
_cachedBuffers.opacity.SetData(OpacityArray);
// _cachedBuffers.sh.SetData(SHArray);
}
return _cachedBuffers;
+8
View File
@@ -30,6 +30,10 @@ namespace SplatVfx
// { get => (string)_colorBufferProperty;
// set => _colorBufferProperty = value; }
public string OpacityBufferProperty
{ get => (string)_opacityBufferProperty;
set => _opacityBufferProperty = value; }
// [VFXPropertyBinding("System.UInt32"), SerializeField]
// ExposedProperty _splatCountProperty = "SplatCount";
@@ -42,6 +46,9 @@ namespace SplatVfx
// [VFXPropertyBinding("UnityEngine.GraphicsBuffer"), SerializeField]
// ExposedProperty _colorBufferProperty = "ColorBuffer";
[VFXPropertyBinding("UnityEngine.GraphicsBuffer"), SerializeField]
ExposedProperty _opacityBufferProperty = "OpacityBuffer";
public override bool IsValid(VisualEffect component)
=> SplatData != null &&
// component.HasUInt(_splatCountProperty) &&
@@ -55,6 +62,7 @@ namespace SplatVfx
component.SetGraphicsBuffer(_positionBufferProperty, SplatData.PositionBuffer);
// component.SetGraphicsBuffer(_axisBufferProperty, SplatData.AxisBuffer);
// component.SetGraphicsBuffer(_colorBufferProperty, SplatData.ColorBuffer);
component.SetGraphicsBuffer(_opacityBufferProperty, SplatData.OpacityBuffer);
}
// public override string ToString()
+6
View File
@@ -28,6 +28,7 @@ using Unity.Collections;
5. Use a struct for header_info
6. Write handler for data other than 32 bit float
7. Pass around Span<byte> instead of byte[] for memory safety
8. Implement opacity clamping in the VFX Graph
*******************************************************************************/
namespace SplatVfx.Editor
@@ -178,6 +179,11 @@ namespace SplatVfx.Editor
case "z":
splatData.PositionArray[i].z = val;
break;
case "opacity":
splatData.OpacityArray[i] = 255 / (1 + math.exp(-val));
break;
}
}
+391 -3
View File
@@ -68,10 +68,10 @@ MonoBehaviour:
categories: []
uiBounds:
serializedVersion: 2
x: 283
x: 282
y: -492
width: 871
height: 1065
width: 872
height: 1139
--- !u!114 &114350483966674976
MonoBehaviour:
m_ObjectHideFlags: 1
@@ -93,6 +93,9 @@ MonoBehaviour:
- {fileID: 8926484042661614653}
- {fileID: 8926484042661614635}
- {fileID: 8926484042661614617}
- {fileID: 8926484042661614706}
- {fileID: 8926484042661614711}
- {fileID: 8926484042661614719}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
@@ -114,6 +117,21 @@ MonoBehaviour:
max: Infinity
enumValues: []
descendantCount: 0
- name: OpacityBuffer
path:
tooltip:
space: -1
spaceable: 0
sheetType:
realType: GraphicsBuffer
defaultValue:
m_Type:
m_SerializableType:
m_SerializableObject:
min: -Infinity
max: Infinity
enumValues: []
descendantCount: 0
m_ImportDependencies: []
m_GraphVersion: 19
m_ResourceVersion: 1
@@ -645,6 +663,7 @@ MonoBehaviour:
m_Parent: {fileID: 114350483966674976}
m_Children:
- {fileID: 8926484042661614670}
- {fileID: 8926484042661614708}
m_UIPosition: {x: 705, y: 200}
m_UICollapsed: 0
m_UISuperCollapsed: 0
@@ -1578,3 +1597,372 @@ MonoBehaviour:
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614706
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: 330e0fca1717dde4aaa144f48232aa64, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXParameter
m_UIIgnoredErrors: []
m_Parent: {fileID: 114350483966674976}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots:
- {fileID: 8926484042661614707}
m_ExposedName: OpacityBuffer
m_Exposed: 1
m_Order: 1
m_Category:
m_Min:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Max:
m_Type:
m_SerializableType:
m_SerializableObject:
m_IsOutput: 0
m_EnumValues: []
m_ValueFilter: 0
m_Tooltip:
m_Nodes:
- m_Id: 0
linkedSlots:
- outputSlot: {fileID: 8926484042661614707}
inputSlot: {fileID: 8926484042661614712}
position: {x: 310, y: 519}
expandedSlots: []
expanded: 1
supecollapsed: 1
--- !u!114 &8926484042661614707
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: d5ff4abdfc4ddb54992e15a0636f5d0e, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotGraphicsBuffer
m_UIIgnoredErrors: []
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614707}
m_MasterData:
m_Owner: {fileID: 8926484042661614706}
m_Value:
m_Type:
m_SerializableType: UnityEngine.GraphicsBuffer, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject:
m_Space: -1
m_Property:
name: o
m_serializedType:
m_SerializableType: UnityEngine.GraphicsBuffer, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_Direction: 1
m_LinkedSlots:
- {fileID: 8926484042661614712}
--- !u!114 &8926484042661614708
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: a971fa2e110a0ac42ac1d8dae408704b, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.Block.SetAttribute
m_UIIgnoredErrors: []
m_Parent: {fileID: 8926484042661614617}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 8926484042661614709}
m_OutputSlots: []
m_Disabled: 0
m_ActivationSlot: {fileID: 8926484042661614710}
attribute: alpha
Composition: 0
Source: 0
Random: 0
channels: 6
--- !u!114 &8926484042661614709
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: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614709}
m_MasterData:
m_Owner: {fileID: 8926484042661614708}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 1
m_Space: -1
m_Property:
name: _Alpha
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots:
- {fileID: 8926484042661614722}
--- !u!114 &8926484042661614710
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: b4c11ff25089a324daf359f4b0629b33, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotBool
m_UIIgnoredErrors: []
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614710}
m_MasterData:
m_Owner: {fileID: 8926484042661614708}
m_Value:
m_Type:
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: True
m_Space: -1
m_Property:
name: _vfx_enabled
m_serializedType:
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661614711
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: 2edef10e6f1ffed47bad3472a10739a6, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.Operator.SampleBuffer
m_UIIgnoredErrors: []
m_Parent: {fileID: 114350483966674976}
m_Children: []
m_UIPosition: {x: 498, y: 562}
m_UICollapsed: 0
m_UISuperCollapsed: 1
m_InputSlots:
- {fileID: 8926484042661614712}
- {fileID: 8926484042661614713}
m_OutputSlots:
- {fileID: 8926484042661614722}
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
mode: 0
--- !u!114 &8926484042661614712
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: d5ff4abdfc4ddb54992e15a0636f5d0e, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotGraphicsBuffer
m_UIIgnoredErrors: []
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614712}
m_MasterData:
m_Owner: {fileID: 8926484042661614711}
m_Value:
m_Type:
m_SerializableType: UnityEngine.GraphicsBuffer, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject:
m_Space: -1
m_Property:
name: buffer
m_serializedType:
m_SerializableType: UnityEngine.GraphicsBuffer, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_Direction: 0
m_LinkedSlots:
- {fileID: 8926484042661614707}
--- !u!114 &8926484042661614713
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: c52d920e7fff73b498050a6b3c4404ca, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotUint
m_UIIgnoredErrors: []
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614713}
m_MasterData:
m_Owner: {fileID: 8926484042661614711}
m_Value:
m_Type:
m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: -1
m_Property:
name: index
m_serializedType:
m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 0
m_LinkedSlots:
- {fileID: 8926484042661614721}
--- !u!114 &8926484042661614719
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: 486e063e1ed58c843942ea4122829ab1, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXAttributeParameter
m_UIIgnoredErrors: []
m_Parent: {fileID: 114350483966674976}
m_Children: []
m_UIPosition: {x: 282, y: 562}
m_UICollapsed: 0
m_UISuperCollapsed: 1
m_InputSlots: []
m_OutputSlots:
- {fileID: 8926484042661614721}
attribute: spawnIndex
location: 0
mask: xyz
--- !u!114 &8926484042661614721
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: c52d920e7fff73b498050a6b3c4404ca, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotUint
m_UIIgnoredErrors: []
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614721}
m_MasterData:
m_Owner: {fileID: 8926484042661614719}
m_Value:
m_Type:
m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: -1
m_Property:
name: Spawn Index
m_serializedType:
m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 1
m_LinkedSlots:
- {fileID: 8926484042661614713}
--- !u!114 &8926484042661614722
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: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661614722}
m_MasterData:
m_Owner: {fileID: 8926484042661614711}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: -1
m_Property:
name: s
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_Direction: 1
m_LinkedSlots:
- {fileID: 8926484042661614709}