fix raymarching depth; add old rm shaders
This commit is contained in:
parent
9034d9e2a2
commit
4695be0423
29 changed files with 2242 additions and 7 deletions
|
@ -246,7 +246,7 @@ TrailRenderer:
|
|||
textureMode: 0
|
||||
shadowBias: 0.5
|
||||
generateLightingData: 0
|
||||
m_MinVertexDistance: 0.001
|
||||
m_MinVertexDistance: 0.003
|
||||
m_Autodestruct: 0
|
||||
m_Emitting: 0
|
||||
--- !u!1 &217324300
|
||||
|
|
8
Assets/raymarched/Interactive.meta
Normal file
8
Assets/raymarched/Interactive.meta
Normal file
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6417ef9aa4572bf43b276704a8d3b794
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
81
Assets/raymarched/Interactive/Raymarch_multi.mat
Normal file
81
Assets/raymarched/Interactive/Raymarch_multi.mat
Normal file
|
@ -0,0 +1,81 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Raymarch_multi
|
||||
m_Shader: {fileID: 4800000, guid: d9b470f9858f75d04aa12fe1b15b6ccb, type: 3}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _MaxDist: 100
|
||||
- _MaxSteps: 256
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SurfDist: 0.001
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ObjectA: {r: -0.07, g: 0, b: 0, a: 1}
|
8
Assets/raymarched/Interactive/Raymarch_multi.mat.meta
Normal file
8
Assets/raymarched/Interactive/Raymarch_multi.mat.meta
Normal file
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 035a99d20f5635cd7a7cbba57b7068bc
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -13,7 +13,7 @@ Material:
|
|||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
|
@ -171,14 +171,18 @@ fragOut frag (v2f i) {
|
|||
|
||||
// col.rgb = max(dot(n, normalize(float3(1,0.5,1))), 0.05f);
|
||||
|
||||
col.rgb = lerp(0, float3(0,1,1), pow(1 - dot(-rd, n), 2));
|
||||
col.rgb = lerp(0, float3(0,1,1), pow(1 - dot(-rd, n), 3));
|
||||
|
||||
// col *= float4(d, 1, 1, 1);
|
||||
fragOut o;
|
||||
o.col = col;
|
||||
// o.col = _LightColor0;
|
||||
float4 vClipPos = mul(UNITY_MATRIX_VP, mul(unity_ObjectToWorld, float4(p, 1)));
|
||||
o.depth = (vClipPos.z / vClipPos.w + 1.0) * 0.5;
|
||||
float zDepth = vClipPos.z / vClipPos.w;
|
||||
#if !defined(UNITY_REVERSED_Z) // basically only OpenGL (unity editor on linux)
|
||||
zDepth = zDepth * 0.5 + 0.5; // remap -1 to 1 range to 0.0 to 1.0
|
||||
#endif
|
||||
o.depth = zDepth;
|
||||
return o;
|
||||
}
|
||||
|
192
Assets/raymarched/Interactive/rm_combined.shader
Normal file
192
Assets/raymarched/Interactive/rm_combined.shader
Normal file
|
@ -0,0 +1,192 @@
|
|||
Shader "CrispyPin/RaymarchMultiObject"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[Header(Object positions)]
|
||||
_ObjectA ("Object A", Vector) = (0, 0, 0)
|
||||
[Header(Raymarcher Properties)]
|
||||
_MaxSteps ("Max steps", Int) = 256
|
||||
_MaxDist ("Max distance", Float) = 100
|
||||
_SurfDist ("Surface distance threshold", Range(0.00001, 0.05)) = 0.001
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
Tags { "RenderType"="Opaque" }
|
||||
Cull Off
|
||||
LOD 100
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityLightingCommon.cginc"
|
||||
|
||||
struct appdata
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : SV_POSITION;
|
||||
float3 ro : TEXCOORD1;
|
||||
float3 hitPos : TEXCOORD2;
|
||||
};
|
||||
|
||||
struct fragOut
|
||||
{
|
||||
fixed4 col : SV_Target;
|
||||
float depth : SV_Depth;
|
||||
};
|
||||
|
||||
int _MaxSteps;
|
||||
float _MaxDist;
|
||||
float _SurfDist;
|
||||
float3 _ObjectA;
|
||||
|
||||
v2f vert (appdata v) {
|
||||
v2f o;
|
||||
o.vertex = UnityObjectToClipPos(v.vertex);
|
||||
//object space
|
||||
o.ro = mul(unity_WorldToObject, float4(_WorldSpaceCameraPos, 1));
|
||||
o.hitPos = v.vertex;
|
||||
//world space
|
||||
//o.ro = _WorldSpaceCameraPos;
|
||||
//o.hitPos = mul(unity_ObjectToWorld, v.vertex);
|
||||
return o;
|
||||
}
|
||||
|
||||
float smin(float a, float b, float k) {
|
||||
return min(a, b) - pow(max(k - abs(a-b), 0), 3)/(6*k*k);
|
||||
}
|
||||
|
||||
float sdSphere(float3 p, float3 o, float r) {
|
||||
return length(p - o) - r;
|
||||
}
|
||||
|
||||
float sdBox(float3 p, float3 dim) {
|
||||
return length(float3(
|
||||
max(abs(p.x) - dim.x/2.0, 0),
|
||||
max(abs(p.y) - dim.y/2.0, 0),
|
||||
max(abs(p.z) - dim.z/2.0, 0)));
|
||||
}
|
||||
|
||||
float sdLine(float3 p, float3 a, float3 b, float r) {
|
||||
float3 pa = p - a;
|
||||
float3 ba = b - a;
|
||||
float h = clamp(dot(pa, ba) / dot(ba, ba), 0, 1);
|
||||
return length(pa - ba * h) - r;
|
||||
}
|
||||
|
||||
float sdCappedTorus( float3 p, float2 sc, float ra, float rb) {
|
||||
p.x = abs(p.x);
|
||||
float k = (sc.y*p.x>sc.x*p.y) ? dot(p.xy,sc) : length(p.xy);
|
||||
return sqrt( dot(p,p) + ra*ra - 2.0*ra*k ) - rb;
|
||||
}
|
||||
|
||||
float3 RotateY(float3 p, float a) {
|
||||
return mul(float3x3(cos(a), 0, sin(a), 0, 1, 0, -sin(a), 0, cos(a)), p);
|
||||
}
|
||||
|
||||
float Kijetesantakalu(float3 p, float r) {
|
||||
float d = sdSphere(p, float3(0, 0, 0.2f), r);// left eye
|
||||
d = min(d, sdSphere(p, float3(0.15f, 0, 0.2f), r)); // right eye
|
||||
d = min(d, sdLine(p, float3(0, 0, -0.4f), float3(-0.35f, 0, -0.4f), r)); // bottom line
|
||||
d = smin(d, sdLine(p, float3(0, 0, -0.4f), float3(-0.1f, 0, -0.15f), r), 0.003f); // leg hook
|
||||
d = min(d, sdLine(p, float3(0.15f, 0, -0.4f), float3(0.15f, 0, -0.1f), r)); // middle leg
|
||||
d = min(d, sdLine(p, float3(0.3f, 0, -0.4f), float3(0.3f, 0, 0), r)); // front leg
|
||||
d = smin(d, sdLine(p, float3(0.45f, 0, 0.1f), float3(0.3f, 0, 0), r), 0.003f); // lower snout
|
||||
d = smin(d, sdLine(p, float3(0.45f, 0, 0.1f), float3(0.2f, 0, 0.35f), r), 0.003f); // upper snout
|
||||
d = smin(d, sdLine(p, float3(0.2f, 0, 0.45f), float3(0.2f, 0, 0.35f), r), 0.003f); // ear
|
||||
float an = 0.9;
|
||||
d = smin(d, sdCappedTorus((RotateY(p, 0.8f) - float3(0.15f, 0, -0.05f)).xzy, float2(sin(an),cos(an)), 0.4, r), 0.003f); // ear
|
||||
d = smin(d, sdLine(p, float3(-0.25f, 0, 0), float3(-0.25f, 0, -0.4f), r), 0.003f); // back
|
||||
d = smin(d, sdLine(p, float3(-0.25f, 0, -0.1f), float3(-0.35f, 0, -0.1f), r), 0.003f); // tail top
|
||||
d = smin(d, sdLine(p, float3(-0.35f, 0, -0.1f), float3(-0.35f, 0, -0.4f), r), 0.003f); // stripe
|
||||
an = 3.1415f*0.5;
|
||||
d = smin(d, sdCappedTorus((RotateY(p, an) - float3(-0.25f, 0, 0.35f)).xzy, float2(sin(an),cos(an)), 0.15f, r), 0.003f); // tail
|
||||
|
||||
return d;
|
||||
}
|
||||
|
||||
float FirstShape(float3 p) {
|
||||
return Kijetesantakalu(p, 0.05f);
|
||||
}
|
||||
|
||||
float SecondShape(float3 p) {
|
||||
// return sdBox(p, 0.3f) - 0.01f;
|
||||
// return Kijetesantakalu(p, 0.04f) - 0.01f;
|
||||
return sdSphere(p, 0, 0.3f);
|
||||
}
|
||||
|
||||
|
||||
float GetDist(float3 p) {
|
||||
|
||||
float first = FirstShape(p);
|
||||
// float3 second_pos = mul(unity_WorldToObject, _WorldSpaceLightPos0);
|
||||
float second = SecondShape(p - _ObjectA);
|
||||
return smin(first, second, 0.15f);
|
||||
|
||||
}
|
||||
|
||||
//marches a ray through the scene
|
||||
float Raymarch(float3 ro, float3 rd) {
|
||||
float rayLen = 0;// total distance marched / distance from origin
|
||||
float dist; // distance from the raymarched scene
|
||||
for ( int i = 0; i < _MaxSteps; i++)
|
||||
{
|
||||
//position = origin + distance * direction
|
||||
float3 p = ro + rayLen * rd;
|
||||
dist = GetDist(p);
|
||||
rayLen += dist;// move forward
|
||||
if (dist < _SurfDist || rayLen > _MaxDist) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return rayLen;
|
||||
}
|
||||
|
||||
float3 GetNormal(float3 p) {
|
||||
float2 e = float2(0.001, 0);
|
||||
float3 n = GetDist(p) - float3(
|
||||
GetDist(p-e.xyy),
|
||||
GetDist(p-e.yxy),
|
||||
GetDist(p-e.yyx));
|
||||
return normalize(n);
|
||||
}
|
||||
|
||||
fragOut frag (v2f i) {
|
||||
float3 ro = i.ro;
|
||||
float3 rd = normalize(i.hitPos - ro);
|
||||
|
||||
float d = Raymarch(ro, rd);
|
||||
fixed4 col = 1;
|
||||
|
||||
if (d >= _MaxDist)
|
||||
{
|
||||
discard;
|
||||
}
|
||||
float3 p = ro + rd * d;
|
||||
float3 n = GetNormal(p);
|
||||
|
||||
// col.rgb = max(dot(n, normalize(float3(1,0.5,1))), 0.05f);
|
||||
|
||||
col.rgb = lerp(0, float3(0,1,1), pow(1 - dot(-rd, n), 2));
|
||||
|
||||
// col *= float4(d, 1, 1, 1);
|
||||
fragOut o;
|
||||
o.col = col;
|
||||
// o.col = _LightColor0;
|
||||
float4 vClipPos = mul(UNITY_MATRIX_VP, mul(unity_ObjectToWorld, float4(p, 1)));
|
||||
o.depth = (vClipPos.z / vClipPos.w + 1.0) * 0.5;
|
||||
return o;
|
||||
}
|
||||
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
9
Assets/raymarched/Interactive/rm_combined.shader.meta
Normal file
9
Assets/raymarched/Interactive/rm_combined.shader.meta
Normal file
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d9b470f9858f75d04aa12fe1b15b6ccb
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -121,6 +121,133 @@ NavMeshSettings:
|
|||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &453749071
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 453749072}
|
||||
- component: {fileID: 453749075}
|
||||
- component: {fileID: 453749074}
|
||||
- component: {fileID: 453749073}
|
||||
- component: {fileID: 453749077}
|
||||
- component: {fileID: 453749076}
|
||||
m_Layer: 0
|
||||
m_Name: Cube (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &453749072
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 453749071}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0.623, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 779234489}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!65 &453749073
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 453749071}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 1
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &453749074
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 453749071}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &453749075
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 453749071}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!114 &453749076
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 453749071}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 39d87b8783794dfd81ce396483019cbb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
type: RaymarcherObjectA
|
||||
--- !u!114 &453749077
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 453749071}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 12974925555b471580cacf5d2d5fa9e3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
gripType: 1
|
||||
gripOrigin: {fileID: 0}
|
||||
disallowTheft: 0
|
||||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!1 &695617482
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -213,6 +340,84 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &779234488
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 779234489}
|
||||
- component: {fileID: 779234491}
|
||||
- component: {fileID: 779234490}
|
||||
m_Layer: 0
|
||||
m_Name: MultiObject
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &779234489
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 779234488}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0.044, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 453749072}
|
||||
- {fileID: 884043982}
|
||||
- {fileID: 2089960366}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &779234490
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 779234488}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 990f6f4efb7f4ec98ad99f6dff1bc6f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: d51b36f3-30c8-4e23-9277-34168a3024b4
|
||||
--- !u!114 &779234491
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 779234488}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a37fd8d654d5c2840a0ab3a5ad65a5ae, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
spawnHeight: 0
|
||||
useAdditionalValues: 1
|
||||
syncValues:
|
||||
- name:
|
||||
startValue: 0
|
||||
updatedBy: 0
|
||||
updateMethod: 1
|
||||
animator: {fileID: 0}
|
||||
animatorParameterName: -none-
|
||||
propPrivacy: 1
|
||||
subSyncs:
|
||||
- transform: {fileID: 453749072}
|
||||
syncedValues: 0
|
||||
precision: 4
|
||||
syncBoundary: 0.5
|
||||
spawnableType: 0
|
||||
preGeneratedInstanceId:
|
||||
--- !u!1 &845829380
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -305,6 +510,99 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 124.6, y: -30, z: 0}
|
||||
--- !u!1 &884043981
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 884043982}
|
||||
- component: {fileID: 884043985}
|
||||
- component: {fileID: 884043984}
|
||||
- component: {fileID: 884043983}
|
||||
m_Layer: 0
|
||||
m_Name: Main
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &884043982
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 884043981}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 779234489}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!135 &884043983
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 884043981}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 1
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &884043984
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 884043981}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 035a99d20f5635cd7a7cbba57b7068bc, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &884043985
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 884043981}
|
||||
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!1 &1450495540
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -449,7 +747,7 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1450495540}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.844, y: -0.907, z: 0.117}
|
||||
m_LocalPosition: {x: 0.844, y: 0.389, z: 0.117}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
|
@ -602,7 +900,7 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1485771011}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.452, y: 0.221, z: -0.124}
|
||||
m_LocalPosition: {x: -0.452, y: 0.221, z: -0.984}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
|
@ -833,9 +1131,68 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1651833084}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.265, y: -0.757, z: 0}
|
||||
m_LocalPosition: {x: 0.525, y: 0.463, z: -0.326}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2089960365
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2089960366}
|
||||
- component: {fileID: 2089960367}
|
||||
m_Layer: 0
|
||||
m_Name: GameObject
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2089960366
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2089960365}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 779234489}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2089960367
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2089960365}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 81194749cc874e87b95c7b486517c3a9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
areaSize: {x: 10, y: 0.05, z: 0}
|
||||
areaOffset: {x: 0, y: 0, z: 0}
|
||||
settingIndex: -1
|
||||
settingValue: 0
|
||||
useAdvancedTrigger: 1
|
||||
allowedTypes:
|
||||
- RaymarcherObjectA
|
||||
allowParticleInteraction: 0
|
||||
enterTasks: []
|
||||
exitTasks: []
|
||||
stayTasks:
|
||||
- settingIndex: -1
|
||||
minValue: 0
|
||||
maxValue: 1
|
||||
updateMethod: 1
|
||||
sampleDirection: 0
|
||||
|
|
92
Assets/test/Demo3.shader
Normal file
92
Assets/test/Demo3.shader
Normal file
|
@ -0,0 +1,92 @@
|
|||
Shader "Demo/pulsating"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[Header(Lighting)]
|
||||
_SunPos ("Sun position", Vector) = (8, 4, 2)
|
||||
|
||||
[Header(Raymarcher Properties)]
|
||||
_MaxSteps ("Max steps", Int) = 256
|
||||
_MaxDist ("Max distance", Float) = 256
|
||||
_SurfDist ("Surface distance threshold", Range(0.00001, 0.05)) = 0.001
|
||||
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
Tags { "RenderType"="Opaque" }
|
||||
Cull Off
|
||||
LOD 100
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
// #define USE_WORLD_SPACE
|
||||
#define DYNAMIC_QUALITY
|
||||
#define USE_REFLECTIONS
|
||||
// #define CONSTRAIN_TO_MESH
|
||||
#define MAX_REFLECTIONS 1
|
||||
#include "RayMarchLib.cginc"
|
||||
|
||||
float3 _SunPos;
|
||||
|
||||
sdfData gyroid(float3 p, float scale, float bias, material mat = DEFMAT)
|
||||
{
|
||||
sdfData o;
|
||||
o.dist = abs(dot(sin(p * scale), cos(p.zxy * scale))+bias) - 0.2;
|
||||
o.dist *= .75 / scale;
|
||||
o.mat = mat;
|
||||
return o;
|
||||
}
|
||||
|
||||
|
||||
sdfData scene(float3 p)
|
||||
{
|
||||
sdfData o;
|
||||
material mRed = mat(.12, 0.01, 0.01, sin(_Time*100)*0.1+0.6);
|
||||
float3 bias = -pow(sin(_Time*60 + p.y*0.1), 8)*.5+1.3;
|
||||
o = gyroid(p, .5, bias, mRed);
|
||||
//o = sdfTorus(p, 10 + pow(sin(_Time*50), 4)*5, bias+sin(100*_Time + .1*p.x)*0.5+.5, cRed);
|
||||
float3 gp = p + sin(_Time + p*0.1);
|
||||
o.dist -= gyroid(gp, 1.63, .5).dist * 0.3;
|
||||
o.dist += gyroid(gp, 3.327, 0).dist * 0.1;
|
||||
o.dist += gyroid(gp, 7.351, .5).dist * 0.1;
|
||||
o.dist -= gyroid(gp, 17.351, .5).dist * 0.05;
|
||||
o.dist -= gyroid(gp, 23.521, .2).dist * 0.05;
|
||||
o = sdfAdd(p, o, sdfSphere(p, 6 + bias*3, mRed), 5);
|
||||
|
||||
// o = sdfInter(p, o, sdfSphere(p, 50, mat(0.04, 0.005, 0.035)), 1.1);
|
||||
o = sdfInter(p, o, sdfBox(p, 20, mRed));
|
||||
//sdfData bobby = sdfSphere(p, 51, col(0.5, 0.25, 0.001));
|
||||
//bobby = sdfAdd(p, bobby, sdfSphere(p, 50.5, col(.5,.01,.01)));
|
||||
//bobby = sdfSub(p, bobby, sdfSphere(p, 50));
|
||||
//o = sdfAdd(p, o, bobby);
|
||||
//o = sdfAdd(p, o, sdfPlane(p, -50));
|
||||
return o;
|
||||
}
|
||||
|
||||
fixed4 lightPoint(rayData ray)
|
||||
{
|
||||
float3 vSunDir = normalize(_SunPos);
|
||||
|
||||
if (ray.bMissed)
|
||||
{
|
||||
return 0.1;
|
||||
}
|
||||
|
||||
fixed4 col = 0;
|
||||
|
||||
col = ray.mat.col * lightSun(ray.vNorm, vSunDir, col(5, 2, 0.1));
|
||||
col += ray.mat.col * lightSky(ray.vNorm, 1);
|
||||
col *= lightAO(ray.vHit, ray.vNorm, 0.05);
|
||||
|
||||
col = pow(col, 0.7);
|
||||
//col = lightFog(col, col(0.3, .17, 0.001), ray.dist, 0, 48);
|
||||
return col;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
9
Assets/test/Demo3.shader.meta
Normal file
9
Assets/test/Demo3.shader.meta
Normal file
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 26b714026d4c6e2dc8fefdbcf28344fd
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
79
Assets/test/Demo4.shader
Normal file
79
Assets/test/Demo4.shader
Normal file
|
@ -0,0 +1,79 @@
|
|||
Shader "Demo/Spinny thing"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[Header(Lighting)]
|
||||
_SunPos ("Sun position", Vector) = (8, 4, 2)
|
||||
|
||||
[Header(Raymarcher Properties)]
|
||||
_MaxSteps ("Max steps", Int) = 256
|
||||
_MaxDist ("Max distance", Float) = 256
|
||||
_SurfDist ("Surface distance threshold", Range(0.00001, 0.05)) = 0.001
|
||||
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
Tags { "RenderType"="Opaque" }
|
||||
Cull Off
|
||||
LOD 100
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#define USE_DYNAMIC_QUALITY
|
||||
// #define USE_WORLD_SPACE
|
||||
#define USE_REFLECTIONS
|
||||
#define MAX_REFLECTIONS 5
|
||||
#define DISCARD_ON_MISS
|
||||
//#define CONSTRAIN_TO_MESH
|
||||
#include "RayMarchLib.cginc"
|
||||
|
||||
float3 _SunPos;
|
||||
|
||||
sdfData scene(float3 p)
|
||||
{
|
||||
sdfData o;
|
||||
const material mGrass = mat(0.001, 0.1, 0.001, 0.7);
|
||||
o = sdfPlane(p, 0, mGrass);
|
||||
material mDirt = mat(0.1, 0.04, 0.01, 1);
|
||||
o = sdfInter(p, o, sdfSphere(p, 9, mDirt), 0.5);
|
||||
|
||||
const material mMetal = mat(0.1, 0);
|
||||
|
||||
o = sdfAdd(p, o, sdfSphere(p - V_Y*2, 2, mMetal));
|
||||
material m = mat(0.05, 0.1, 0.2, 1);
|
||||
o = sdfAdd(p, o, sdfTorus(rotX(p, _Time* 40+UNITY_PI/2), 5, 0.5, m), 0.5);
|
||||
o = sdfAdd(p, o, sdfTorus(rotZ(p, _Time* 40+UNITY_PI/2), 5, 0.5, m), 0.5);
|
||||
o = sdfAdd(p, o, sdfTorus(rotX(p, _Time* 40), 5, 0.5, m), 0.5);
|
||||
o = sdfAdd(p, o, sdfTorus(rotZ(p, _Time* 40), 5, 0.5, m), 0.5);
|
||||
|
||||
o = sdfAdd(p, o, sdfSphere(abs(rotY(p, -20 * _Time)) - float3(1.5,2,1.5), 1, mMetal), 0.2);
|
||||
return o;
|
||||
}
|
||||
|
||||
fixed4 lightPoint(rayData ray)
|
||||
{
|
||||
float3 vSunDir = normalize(_SunPos);
|
||||
|
||||
if (ray.bMissed)
|
||||
{
|
||||
return sky(ray.vRayDir);
|
||||
}
|
||||
|
||||
fixed4 col = 0;
|
||||
|
||||
col = ray.mat.col * lightSun(ray.vNorm, vSunDir);
|
||||
col *= lightShadow(ray.vHit, vSunDir, 50);
|
||||
col += ray.mat.col * lightSky(ray.vNorm, 1);
|
||||
col *= lightAO(ray.vHit, ray.vNorm);
|
||||
|
||||
col = pow(col, 0.5);
|
||||
return col;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
9
Assets/test/Demo4.shader.meta
Normal file
9
Assets/test/Demo4.shader.meta
Normal file
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d83b23d955f9dc5739d0827cd507a63e
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
1044
Assets/test/RayMarchLib.cginc
Normal file
1044
Assets/test/RayMarchLib.cginc
Normal file
File diff suppressed because it is too large
Load diff
9
Assets/test/RayMarchLib.cginc.meta
Normal file
9
Assets/test/RayMarchLib.cginc.meta
Normal file
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6691ccbed7402e2f7a9c3257607bb75c
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -657,6 +657,154 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 124.6, y: -30, z: 0}
|
||||
--- !u!1 &889393501
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 889393508}
|
||||
- component: {fileID: 889393507}
|
||||
- component: {fileID: 889393506}
|
||||
- component: {fileID: 889393504}
|
||||
- component: {fileID: 889393503}
|
||||
- component: {fileID: 889393502}
|
||||
- component: {fileID: 889393505}
|
||||
m_Layer: 0
|
||||
m_Name: Sphere (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &889393502
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 889393501}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 990f6f4efb7f4ec98ad99f6dff1bc6f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
type: 3
|
||||
objectId: 4e7f3dcf-e925-473a-89e2-dfe6cfe7eac5
|
||||
--- !u!114 &889393503
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 889393501}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a37fd8d654d5c2840a0ab3a5ad65a5ae, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
spawnHeight: 0
|
||||
useAdditionalValues: 0
|
||||
syncValues: []
|
||||
propPrivacy: 1
|
||||
subSyncs: []
|
||||
spawnableType: 0
|
||||
preGeneratedInstanceId:
|
||||
--- !u!114 &889393504
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 889393501}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 12974925555b471580cacf5d2d5fa9e3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
gripType: 1
|
||||
gripOrigin: {fileID: 0}
|
||||
disallowTheft: 0
|
||||
maximumGrabDistance: 0
|
||||
snappingReferences: []
|
||||
autoHold: 0
|
||||
ikReference: {fileID: 0}
|
||||
--- !u!65 &889393505
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 889393501}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 1
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 20, y: 20, z: 20}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &889393506
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 889393501}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: c6c9534ef89e9c77cb3f6307bc66dde4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &889393507
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 889393501}
|
||||
m_Mesh: {fileID: -5495902117074765545, guid: 85702488cb92b9182a44437d143f9fc4, type: 3}
|
||||
--- !u!4 &889393508
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 889393501}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.6295098, y: 0.42811045, z: 0.014560541}
|
||||
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &927649070
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
BIN
Assets/test/large_box.fbx
Normal file
BIN
Assets/test/large_box.fbx
Normal file
Binary file not shown.
97
Assets/test/large_box.fbx.meta
Normal file
97
Assets/test/large_box.fbx.meta
Normal file
|
@ -0,0 +1,97 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 85702488cb92b9182a44437d143f9fc4
|
||||
ModelImporter:
|
||||
serializedVersion: 19301
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 1
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
81
Assets/test/spinny.mat
Normal file
81
Assets/test/spinny.mat
Normal file
|
@ -0,0 +1,81 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: spinny
|
||||
m_Shader: {fileID: 4800000, guid: 26b714026d4c6e2dc8fefdbcf28344fd, type: 3}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _MaxDist: 256
|
||||
- _MaxSteps: 219.31
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SurfDist: 0.001
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SunPos: {r: 8, g: 4, b: 2, a: 1}
|
8
Assets/test/spinny.mat.meta
Normal file
8
Assets/test/spinny.mat.meta
Normal file
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c6c9534ef89e9c77cb3f6307bc66dde4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Reference in a new issue