Misc configs

This commit is contained in:
2026-03-18 18:13:56 +08:00
parent 452d94eec7
commit 819d0b813d
8 changed files with 1595 additions and 880 deletions
+11 -3
View File
@@ -12,8 +12,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: Mobile_RPAsset m_Name: Mobile_RPAsset
m_EditorClassIdentifier: m_EditorClassIdentifier:
k_AssetVersion: 12 k_AssetVersion: 13
k_AssetPreviousVersion: 12 k_AssetPreviousVersion: 13
m_RendererType: 1 m_RendererType: 1
m_RendererData: {fileID: 0} m_RendererData: {fileID: 0}
m_RendererDataList: m_RendererDataList:
@@ -53,6 +53,7 @@ MonoBehaviour:
m_AdditionalLightsShadowResolutionTierHigh: 1024 m_AdditionalLightsShadowResolutionTierHigh: 1024
m_ReflectionProbeBlending: 1 m_ReflectionProbeBlending: 1
m_ReflectionProbeBoxProjection: 1 m_ReflectionProbeBoxProjection: 1
m_ReflectionProbeAtlas: 1
m_ShadowDistance: 50 m_ShadowDistance: 50
m_ShadowCascadeCount: 1 m_ShadowCascadeCount: 1
m_Cascade2Split: 0.25 m_Cascade2Split: 0.25
@@ -78,11 +79,11 @@ MonoBehaviour:
m_UseAdaptivePerformance: 1 m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0 m_ColorGradingMode: 0
m_ColorGradingLutSize: 32 m_ColorGradingLutSize: 32
m_AllowPostProcessAlphaOutput: 0
m_UseFastSRGBLinearConversion: 1 m_UseFastSRGBLinearConversion: 1
m_SupportDataDrivenLensFlare: 1 m_SupportDataDrivenLensFlare: 1
m_SupportScreenSpaceLensFlare: 1 m_SupportScreenSpaceLensFlare: 1
m_GPUResidentDrawerMode: 0 m_GPUResidentDrawerMode: 0
m_UseLegacyLightmaps: 0
m_SmallMeshScreenPercentage: 0 m_SmallMeshScreenPercentage: 0
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
m_ShadowType: 1 m_ShadowType: 1
@@ -109,6 +110,7 @@ MonoBehaviour:
m_PrefilterDebugKeywords: 1 m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 1 m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1 m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 0
m_PrefilterSSAODepthNormals: 1 m_PrefilterSSAODepthNormals: 1
m_PrefilterSSAOSourceDepthLow: 1 m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 0 m_PrefilterSSAOSourceDepthMedium: 0
@@ -126,8 +128,14 @@ MonoBehaviour:
m_PrefilterSoftShadowsQualityHigh: 1 m_PrefilterSoftShadowsQualityHigh: 1
m_PrefilterSoftShadows: 0 m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 1 m_PrefilterScreenCoord: 1
m_PrefilterScreenSpaceIrradiance: 0
m_PrefilterNativeRenderPass: 1 m_PrefilterNativeRenderPass: 1
m_PrefilterUseLegacyLightmaps: 0 m_PrefilterUseLegacyLightmaps: 0
m_PrefilterBicubicLightmapSampling: 0
m_PrefilterReflectionProbeRotation: 0
m_PrefilterReflectionProbeBlending: 0
m_PrefilterReflectionProbeBoxProjection: 0
m_PrefilterReflectionProbeAtlas: 0
m_ShaderVariantLogLevel: 0 m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0 m_ShadowCascades: 0
m_Textures: m_Textures:
+1 -1
View File
@@ -169,7 +169,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3} - target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[1].m_Value propertyPath: m_PropertySheet.m_Float.m_Array.Array.data[1].m_Value
value: 1 value: 1.5
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3} - target: {fileID: -973084862543737302, guid: 25c54d8c074f08447ab1c822a6a052fa, type: 3}
propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Name propertyPath: m_PropertySheet.m_Gradient.m_Array.Array.data[0].m_Name
+5 -135
View File
@@ -3,27 +3,15 @@ using Unity.Mathematics;
using UnityEngine; using UnityEngine;
using UnityEngine.VFX; using UnityEngine.VFX;
using UnityEngine.VFX.Utility; using UnityEngine.VFX.Utility;
using UnityEditor;
using UnityEditor.AssetImporters; using UnityEditor.AssetImporters;
using UnityEditor.Experimental; using UnityEditor.Experimental;
using System;
using System.IO; using System.IO;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
using UnityEditor.Rendering.LookDev;
using System.Linq; using System.Linq;
using System.Collections.Generic; using System.Collections.Generic;
using Unity.VectorGraphics;
using Unity.VisualScripting;
using System.Collections;
using Unity.Collections; using Unity.Collections;
using UnityEditor.Experimental.GraphView;
using UnityEngine.Playables;
using Unity.Android.Gradle.Manifest;
using UnityEngine.Timeline;
using Unity.Jobs; using Unity.Jobs;
using System.Xml.Schema;
using Unity.Android.Gradle;
namespace SplatVfx.Editor namespace SplatVfx.Editor
{ {
@@ -285,6 +273,10 @@ namespace SplatVfx.Editor
splatData.OpacityArray[totalElemsRead + i] = splatDataNative.opacity[i]; splatData.OpacityArray[totalElemsRead + i] = splatDataNative.opacity[i];
splatData.ScaleArray[totalElemsRead + i] = splatDataNative.scale[i]; splatData.ScaleArray[totalElemsRead + i] = splatDataNative.scale[i];
splatData.RotationArray[totalElemsRead + i] = new quaternion(splatDataNative.rotation[i]); splatData.RotationArray[totalElemsRead + i] = new quaternion(splatDataNative.rotation[i]);
for (int j = 0; j < 45; j++)
{
splatData.SHArray[(totalElemsRead + i) * 45 + j] = splatDataNative.sh[i * 45 + j];
}
} }
totalElemsRead += numElemsRead; totalElemsRead += numElemsRead;
@@ -336,7 +328,7 @@ namespace SplatVfx.Editor
for (int j = 0; j < 45; j++) for (int j = 0; j < 45; j++)
{ {
splatDataNative.sh[elemIx + j] = chunkBytes[start + headerData.ElementByteOffsets[(int)DataEnum.f_rest_0 + j]]; splatDataNative.sh[elemIx * 45 + j] = chunkBytes.ReinterpretLoad<float>(start + headerData.ElementByteOffsets[(int)DataEnum.f_rest_0 + j]);
} }
float opacity = chunkBytes.ReinterpretLoad<float>(start + headerData.ElementByteOffsets[(int)DataEnum.opacity]); float opacity = chunkBytes.ReinterpretLoad<float>(start + headerData.ElementByteOffsets[(int)DataEnum.opacity]);
@@ -363,128 +355,6 @@ namespace SplatVfx.Editor
} }
} }
SplatData ImportAsSplatData((string format, int num_element, List<(string, string)> properties) header_info, byte[] binaryData)
{
var splatData = ScriptableObject.CreateInstance<SplatData>();
var stream = new MemoryStream(binaryData);
var reader = new BinaryReader(stream);
splatData.PositionArray = new Vector3[header_info.num_element];
splatData.ScaleArray = new Vector3[header_info.num_element];
splatData.RotationArray = new Quaternion[header_info.num_element];
splatData.ColorArray = new Color[header_info.num_element];
splatData.OpacityArray = new float[header_info.num_element];
splatData.SHArray = new float[header_info.num_element * 45];
for (int i = 0; i < header_info.num_element; i++)
{
foreach ((string name, string dtype) property in header_info.properties)
{
float val = reader.ReadSingle();
switch (property.name)
{
case "x":
splatData.PositionArray[i].x = val;
break;
case "y":
splatData.PositionArray[i].y = val;
break;
case "z":
splatData.PositionArray[i].z = val;
break;
case "opacity":
splatData.OpacityArray[i] = 1 / (1 + math.exp(-val));
break;
default:
if (property.name.StartsWith("f_dc"))
{
switch (property.name[5])
{
case '0':
splatData.ColorArray[i].r = 0.5f + val * SH_C0;
break;
case '1':
splatData.ColorArray[i].g = 0.5f + val * SH_C0;
break;
case '2':
splatData.ColorArray[i].b = 0.5f + val * SH_C0;
break;
}
}
else if (property.name.StartsWith("scale"))
{
switch (property.name[6])
{
case '0':
splatData.ScaleArray[i].x = math.exp(val);
break;
case '1':
splatData.ScaleArray[i].y = math.exp(val);
break;
case '2':
splatData.ScaleArray[i].z = math.exp(val);
break;
}
}
else if (property.name.StartsWith("rot"))
{
switch (property.name[4])
{
case '0':
splatData.RotationArray[i].w = val;
break;
case '1':
splatData.RotationArray[i].x = val;
break;
case '2':
splatData.RotationArray[i].y = val;
break;
case '3':
splatData.RotationArray[i].z = val;
break;
}
}
break;
}
}
}
splatData.ReleaseGpuResources();
return splatData;
}
// struct ReadData // struct ReadData
// { // {
// public float px, py, pz; // public float px, py, pz;
File diff suppressed because it is too large Load Diff
@@ -1,57 +1,63 @@
#define sh(i) (float3)SHBuffer.Load3(Index * 45 + (i - 1) * 15) float3 CalculateSHColor(uint Index, uint Degrees, float4x4 DirClr, StructuredBuffer<float> SHBuffer) {
const float SH_C0 = 0.28209479177387814f;
const float SH_C1 = 0.4886025119029199f;
const float SH_C2[] = {
1.0925484305920792f,
-1.0925484305920792f,
0.31539156525252005f,
-1.0925484305920792f,
0.5462742152960396f
};
const float SH_C3[] = {
-0.5900435899266435f,
2.890611442640554f,
-0.4570457994644658f,
0.3731763325901154f,
-0.4570457994644658f,
1.445305721320277f,
-0.5900435899266435f
};
const float SH_C0 = 0.28209479177387814f;
const float SH_C1 = 0.4886025119029199f;
const float SH_C2[] = {
1.0925484305920792f,
-1.0925484305920792f,
0.31539156525252005f,
-1.0925484305920792f,
0.5462742152960396f
};
const float SH_C3[] = {
-0.5900435899266435f,
2.890611442640554f,
-0.4570457994644658f,
0.3731763325901154f,
-0.4570457994644658f,
1.445305721320277f,
-0.5900435899266435f
};
// float3 CalculateSHColor(uint Index, uint Degrees, float3 Direction, StructuredBuffer<float3> SHBuffer) {
float3 CalculateSHColor(uint Index, uint Degrees, float4x4 DirClr, ByteAddressBuffer SHBuffer) {
float3 dir = DirClr[0].xyz; float3 dir = DirClr[0].xyz;
float3 result = DirClr[1].xyz; float3 result = DirClr[1].xyz;
float3 sh[16];
for (int i = 1; i < 16; i++)
{
sh[i].x = SHBuffer[(Index * 45 + (i - 1) * 3) * 4];
sh[i].y = SHBuffer[(Index * 45 + (i - 1) * 3) * 4 + 1];
sh[i].z = SHBuffer[(Index * 45 + (i - 1) * 3) * 4 + 2];
}
if (Degrees > 0) if (Degrees > 0)
{ {
float x = dir.x; float x = dir.x;
float y = dir.y; float y = dir.y;
float z = dir.z; float z = dir.z;
result = result - SH_C1 * y * sh(1) + SH_C1 * z * sh(2) - SH_C1 * x * sh(3); result = result - SH_C1 * y * sh[1] + SH_C1 * z * sh[2] - SH_C1 * x * sh[3];
if (Degrees > 1) if (Degrees > 1)
{ {
float xx = x * x, yy = y * y, zz = z * z; float xx = x * x, yy = y * y, zz = z * z;
float xy = x * y, yz = y * z, xz = x * z; float xy = x * y, yz = y * z, xz = x * z;
result = result + result = result +
SH_C2[0] * xy * sh(4) + SH_C2[0] * xy * sh[4] +
SH_C2[1] * yz * sh(5) + SH_C2[1] * yz * sh[5] +
SH_C2[2] * (2.0f * zz - xx - yy) * sh(6) + SH_C2[2] * (2.0f * zz - xx - yy) * sh[6] +
SH_C2[3] * xz * sh(7) + SH_C2[3] * xz * sh[7] +
SH_C2[4] * (xx - yy) * sh(8); SH_C2[4] * (xx - yy) * sh[8];
if (Degrees > 2) if (Degrees > 2)
{ {
result = result + result = result +
SH_C3[0] * y * (3.0f * xx - yy) * sh(9) + SH_C3[0] * y * (3.0f * xx - yy) * sh[9] +
SH_C3[1] * xy * z * sh(10) + SH_C3[1] * xy * z * sh[10] +
SH_C3[2] * y * (4.0f * zz - xx - yy) * sh(11) + SH_C3[2] * y * (4.0f * zz - xx - yy) * sh[11] +
SH_C3[3] * z * (2.0f * zz - 3.0f * xx - 3.0f * yy) * sh(12) + SH_C3[3] * z * (2.0f * zz - 3.0f * xx - 3.0f * yy) * sh[12] +
SH_C3[4] * x * (4.0f * zz - xx - yy) * sh(13) + SH_C3[4] * x * (4.0f * zz - xx - yy) * sh[13] +
SH_C3[5] * z * (xx - yy) * sh(14) + SH_C3[5] * z * (xx - yy) * sh[14] +
SH_C3[6] * x * (xx - 3.0f * yy) * sh(15); SH_C3[6] * x * (xx - 3.0f * yy) * sh[15];
} }
} }
} }
+13 -16
View File
@@ -12,11 +12,13 @@ MonoBehaviour:
m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_EnablePreviewPackages: 0 m_EnablePreReleasePackages: 0
m_EnablePackageDependencies: 0
m_AdvancedSettingsExpanded: 1 m_AdvancedSettingsExpanded: 1
m_ScopedRegistriesSettingsExpanded: 1 m_ScopedRegistriesSettingsExpanded: 1
oneTimeWarningShown: 0 m_SeeAllPackageVersions: 0
m_DismissPreviewPackagesInUse: 0
oneTimeWarningShown: 1
oneTimePackageErrorsPopUpShown: 0
m_Registries: m_Registries:
- m_Id: main - m_Id: main
m_Name: m_Name:
@@ -24,20 +26,15 @@ MonoBehaviour:
m_Scopes: [] m_Scopes: []
m_IsDefault: 1 m_IsDefault: 1
m_Capabilities: 7 m_Capabilities: 7
m_ConfigSource: 0
m_Compliance:
m_Status: 0
m_Violations: []
m_UserSelectedRegistryName: m_UserSelectedRegistryName:
m_UserAddingNewScopedRegistry: 0 m_UserAddingNewScopedRegistry: 0
m_RegistryInfoDraft: m_RegistryInfoDraft:
m_ErrorMessage:
m_Original:
m_Id:
m_Name:
m_Url:
m_Scopes: []
m_IsDefault: 0
m_Capabilities: 0
m_Modified: 0 m_Modified: 0
m_Name: m_ErrorMessage:
m_Url: m_UserModificationsInstanceId: -900
m_Scopes: m_OriginalInstanceId: -902
- m_LoadAssets: 0
m_SelectedScopeIndex: 0
+121
View File
@@ -0,0 +1,121 @@
{
"templatePinStates": [],
"dependencyTypeInfos": [
{
"userAdded": false,
"type": "UnityEngine.AnimationClip",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.Animations.AnimatorController",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.AnimatorOverrideController",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.Audio.AudioMixerController",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.ComputeShader",
"defaultInstantiationMode": 1
},
{
"userAdded": false,
"type": "UnityEngine.Cubemap",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.GameObject",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.LightingDataAsset",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.LightingSettings",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Material",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.MonoScript",
"defaultInstantiationMode": 1
},
{
"userAdded": false,
"type": "UnityEngine.PhysicsMaterial",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.PhysicsMaterial2D",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Rendering.VolumeProfile",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEditor.SceneAsset",
"defaultInstantiationMode": 1
},
{
"userAdded": false,
"type": "UnityEngine.Shader",
"defaultInstantiationMode": 1
},
{
"userAdded": false,
"type": "UnityEngine.ShaderVariantCollection",
"defaultInstantiationMode": 1
},
{
"userAdded": false,
"type": "UnityEngine.Texture",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Texture2D",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.Timeline.TimelineAsset",
"defaultInstantiationMode": 0
}
],
"defaultDependencyTypeInfo": {
"userAdded": false,
"type": "<default_scene_template_dependencies>",
"defaultInstantiationMode": 1
},
"newSceneOverride": 0
}
+7 -7
View File
@@ -3,12 +3,12 @@
--- !u!937362698 &1 --- !u!937362698 &1
VFXManager: VFXManager:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_IndirectShader: {fileID: 0} m_IndirectShader: {fileID: 7200000, guid: 84a17cfa13e40ae4082ef42714f0a81c, type: 3}
m_CopyBufferShader: {fileID: 0} m_CopyBufferShader: {fileID: 7200000, guid: 23c51f21a3503f6428b527b01f8a2f4e, type: 3}
m_PrefixSumShader: {fileID: 0} m_PrefixSumShader: {fileID: 7200000, guid: 783e0fdc1a277f54bb851fd2ceab1e7f, type: 3}
m_SortShader: {fileID: 0} m_SortShader: {fileID: 7200000, guid: ea257ca3cfb12a642a5025e612af6b2a, type: 3}
m_StripUpdateShader: {fileID: 0} m_StripUpdateShader: {fileID: 7200000, guid: 8fa6c4009fe2a4d4486c62736fc30ad8, type: 3}
m_EmptyShader: {fileID: 0} m_EmptyShader: {fileID: 4800000, guid: 33a2079f6a2db4c4eb2e44b33f4ddf6b, type: 3}
m_RenderPipeSettingsPath: m_RenderPipeSettingsPath:
m_FixedTimeStep: 0.016666668 m_FixedTimeStep: 0.016666668
m_MaxDeltaTime: 0.05 m_MaxDeltaTime: 0.05
@@ -16,5 +16,5 @@ VFXManager:
m_MaxCapacity: 100000000 m_MaxCapacity: 100000000
m_CompiledVersion: 7 m_CompiledVersion: 7
m_RuntimeVersion: 39 m_RuntimeVersion: 39
m_RuntimeResources: {fileID: 0} m_RuntimeResources: {fileID: 11400000, guid: bc10b42afe3813544bffd38ae2cd893d, type: 2}
m_BatchEmptyLifetime: 300 m_BatchEmptyLifetime: 300