Make the Bike Load on-demand, will break ModelExploder

This commit is contained in:
Tim
2025-04-27 17:22:41 +02:00
parent da48121c7c
commit 3e31a8e3cf
7 changed files with 64 additions and 583 deletions

View File

@@ -12,6 +12,11 @@
* ChildModel ("wheel", Reifenmodell)
- ...
## Adding Models
1. Add Mesh (.obj/.fbx) & Material to Assets/Resources/
2. (Optional) Add Port IDs in [Definitions.cs](/vr-configurator/Assets/Scripts/Models/Definitions.cs)
3. Define Models in [ModelList.cs](/vr-configurator/Assets/Scripts/Models/ModelList.cs)
## Contributors
- Max Luca Schmidt
- Florian Speicher

View File

@@ -25700,19 +25700,19 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
bikeParts:
- part: {fileID: 1054164786111242677}
- part: {fileID: 0}
explodeDirection: {x: 0, y: -1, z: 0}
- part: {fileID: 2865394407085681856}
- part: {fileID: 0}
explodeDirection: {x: -1, y: 0, z: 0}
- part: {fileID: 7095972245112083558}
- part: {fileID: 0}
explodeDirection: {x: 1, y: 0, z: 0}
- part: {fileID: 8979100604151245410}
- part: {fileID: 0}
explodeDirection: {x: 0, y: 1, z: 0}
- part: {fileID: 8979100604151245410}
- part: {fileID: 0}
explodeDirection: {x: 0, y: 1, z: 0}
- part: {fileID: 5156012375493846295}
- part: {fileID: 0}
explodeDirection: {x: 0, y: 0, z: -1}
- part: {fileID: 5267813504575054804}
- part: {fileID: 0}
explodeDirection: {x: 0, y: 0, z: 1}
explosionDistance: 1
explosionSpeed: 2
@@ -26695,42 +26695,6 @@ Transform:
m_Children: []
m_Father: {fileID: 1408306876}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &36843658363099064
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7095972245112083558}
- component: {fileID: 6287592808238488965}
- component: {fileID: 686021536787918075}
m_Layer: 0
m_Name: Pedal_R
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &65118634482224989
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5156012375493846295}
- component: {fileID: 8785243618755943418}
- component: {fileID: 3170635253692359686}
m_Layer: 0
m_Name: Wheel_B
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &635547659324016994
GameObject:
m_ObjectHideFlags: 0
@@ -26750,66 +26714,6 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!23 &686021536787918075
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 36843658363099064}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3f0438abbf599464ab68c0998808a76b, 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!4 &1054164786111242677
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4956684105035449024}
serializedVersion: 2
m_LocalRotation: {x: -0.0000005523351, y: -0.000000119209275, z: 0.0000000437114, w: 1}
m_LocalPosition: {x: 0.007933513, y: 0.44340572, z: -0.16142645}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4167280744235935536}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1286141610436487884
MeshFilter:
m_ObjectHideFlags: 0
@@ -26818,14 +26722,6 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6541453644100210917}
m_Mesh: {fileID: 1918613174686994728, guid: 0462c71270f87cd4ab04b49dc157d6ff, type: 3}
--- !u!33 &1721698302579877505
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8761314634276183315}
m_Mesh: {fileID: 3255905351707407981, guid: e3a436e0ac6013f41999e23f2cc91370, type: 3}
--- !u!23 &1896872467895719795
MeshRenderer:
m_ObjectHideFlags: 0
@@ -26871,52 +26767,6 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!23 &1911111898470859288
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2888342728937813527}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 04831b0bba159ed47af586ccb6e43617, type: 2}
- {fileID: 2100000, guid: 3f0438abbf599464ab68c0998808a76b, 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!23 &2570646523283659308
MeshRenderer:
m_ObjectHideFlags: 0
@@ -26963,156 +26813,6 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!23 &2799955826918749539
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4956684105035449024}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3f0438abbf599464ab68c0998808a76b, 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!4 &2865394407085681856
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8761314634276183315}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.12521766, y: 0.5490288, z: -0.31202698}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4167280744235935536}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2866941539162008038
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4034173787367650775}
m_Mesh: {fileID: -4640979610182688294, guid: e3a436e0ac6013f41999e23f2cc91370, type: 3}
--- !u!1 &2888342728937813527
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5267813504575054804}
- component: {fileID: 8993057894131717739}
- component: {fileID: 1911111898470859288}
m_Layer: 0
m_Name: Wheel_F
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!23 &3170635253692359686
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 65118634482224989}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 04831b0bba159ed47af586ccb6e43617, type: 2}
- {fileID: 2100000, guid: 3f0438abbf599464ab68c0998808a76b, 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &4034173787367650775
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8979100604151245410}
- component: {fileID: 2866941539162008038}
- component: {fileID: 5278058269548896719}
m_Layer: 0
m_Name: Steer
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4167280744235935536
Transform:
m_ObjectHideFlags: 0
@@ -27125,33 +26825,9 @@ Transform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1054164786111242677}
- {fileID: 2865394407085681856}
- {fileID: 7095972245112083558}
- {fileID: 8979100604151245410}
- {fileID: 5156012375493846295}
- {fileID: 5267813504575054804}
m_Children: []
m_Father: {fileID: 1519836176}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &4956684105035449024
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1054164786111242677}
- component: {fileID: 8606479699357494212}
- component: {fileID: 2799955826918749539}
m_Layer: 0
m_Name: Pedal
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4993107373397872358
Transform:
m_ObjectHideFlags: 0
@@ -27167,81 +26843,6 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 20, y: 180, z: 0}
--- !u!4 &5156012375493846295
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 65118634482224989}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.014312984, y: 0.46732223, z: -0.7874681}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4167280744235935536}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &5267813504575054804
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2888342728937813527}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.019842627, y: 0.4673225, z: 0.94621235}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4167280744235935536}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &5278058269548896719
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4034173787367650775}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3f0438abbf599464ab68c0998808a76b, 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &5835772783336047336
MeshFilter:
m_ObjectHideFlags: 0
@@ -27262,14 +26863,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fd4fcdc40e7716b4fb712ddf70bf60d0, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!33 &6287592808238488965
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 36843658363099064}
m_Mesh: {fileID: -1159910841360783040, guid: e3a436e0ac6013f41999e23f2cc91370, type: 3}
--- !u!1 &6541453644100210917
GameObject:
m_ObjectHideFlags: 0
@@ -27288,123 +26881,6 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7095972245112083558
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 36843658363099064}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.14108433, y: 0.3393247, z: -0.011543915}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4167280744235935536}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &8403588594932381931
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8761314634276183315}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3f0438abbf599464ab68c0998808a76b, 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &8606479699357494212
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4956684105035449024}
m_Mesh: {fileID: 8065566641825402270, guid: e3a436e0ac6013f41999e23f2cc91370, type: 3}
--- !u!1 &8761314634276183315
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2865394407085681856}
- component: {fileID: 1721698302579877505}
- component: {fileID: 8403588594932381931}
m_Layer: 0
m_Name: Pedal_L
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!33 &8785243618755943418
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 65118634482224989}
m_Mesh: {fileID: 3198540174145334802, guid: e3a436e0ac6013f41999e23f2cc91370, type: 3}
--- !u!4 &8979100604151245410
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4034173787367650775}
serializedVersion: 2
m_LocalRotation: {x: -0.26338428, y: -0, z: -0, w: 0.96469104}
m_LocalPosition: {x: 0.0029895906, y: 1.2147132, z: 0.48607054}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4167280744235935536}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8993057894131717739
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2888342728937813527}
m_Mesh: {fileID: -4163810863384186614, guid: e3a436e0ac6013f41999e23f2cc91370, type: 3}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0

View File

@@ -1,6 +1,9 @@
using JetBrains.Annotations;
public class Definitions
public class Definitions
{
public const string PORT_BIKE_SPROCKET = "bikeSprocket";
public const string PORT_BIKE_PEDAL_L = "bikePedalL";
public const string PORT_BIKE_PEDAL_R = "bikePedalR";
public const string PORT_BIKE_STEER = "bikeSteer";
public const string PORT_BIKE_WHEEL = "bikeWheel";
public const string PORT_BIKE_DRIVER = "bikeDriver";
}

View File

@@ -46,8 +46,13 @@ public class Model
// bike:wheel:num
GameObject child = new GameObject(parent.name + ":" + port.port + ":" + i);
ChildModelBehaviour cmb = child.AddComponent<ChildModelBehaviour>();
var model = cmb.GetComponent<ModelManager>().getById(port.defaultId);
var mm = Object.FindAnyObjectByType<ModelManager>();
if (mm == null)
{
Debug.LogError("ModelManager not found");
}
var model = mm.getById(port.defaultId);
if (model.mesh == null)
{

View File

@@ -52,7 +52,7 @@ public class ModelBehaviour : MonoBehaviour
public void UpdateChild(int childNum, string id)
{
var newChildModel = GetComponent<ModelManager>().getById(id);
var newChildModel = FindAnyObjectByType<ModelManager>().getById(id);
children[childNum].GetComponent<ChildModelBehaviour>().UpdateModel(newChildModel);
}

View File

@@ -11,13 +11,14 @@ public class ModelList
Resources.Load<Mesh>("Bicycle/Models/Low-Poly Bicycle # 5"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new List<Port>
{
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(10,0,0), "bike30inchAlloy"),
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(-10,0,0), "bike30inchAlloy"),
new Port("bikePedalL", new Vector3(0,10,0), "bikePedalL"),
new Port("bikePedalR", new Vector3(0,-10,0), "bikePedalR"),
new Port("bikeB", new Vector3(0f,1f,0f), new Quaternion(0f,45f,0f,0f), "name1"),
new Port("driver", new Vector3(0f,1.6f,0f), "bacteria"),
{ //please dont ask about the numbers
new Port(Definitions.PORT_BIKE_SPROCKET, new Vector3(0.007933f,0.444f,-0.1614f), "idBikeSprocket"),
new Port(Definitions.PORT_BIKE_PEDAL_L, new Vector3(-0.1252177f,0.5490288f,-0.312027f), "idBikePedalL_1"),
new Port(Definitions.PORT_BIKE_PEDAL_R, new Vector3(0.1410843f,0.3393247f, -0.01154391f), "idBikePedalR_1"),
new Port(Definitions.PORT_BIKE_STEER, new Vector3(0.002989591f,1.214713f,0.4860705f), Quaternion.Euler(-30f,0f,0f), "idBikeHandlebars"),
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(-0.01431298f,0.4673222f,-0.7874681f), "idBikeWheel_Back1"),
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(0.01984263f,0.4673225f,0.9462124f), "idBikeWheel_Front1"),
new Port(Definitions.PORT_BIKE_DRIVER, new Vector3(0f,1.25f,-0.65f), Quaternion.Euler(70f,0f,0f), "nuke"),
}
)
};
@@ -30,8 +31,8 @@ public class ModelList
null
),
new ChildModel(
"driver", "Virus", "virus",
Resources.Load<Mesh>("Plagues/Mesh/Virus"),
"driver", "ICBM", "nuke",
Resources.Load<Mesh>("Plagues/Mesh/Nuke"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
null
),
@@ -59,41 +60,35 @@ public class ModelList
{
// i love importing .fbx, maybe refactor this function some day
ChildModels.AddRange(ModelLoader.LoadChildModels(
new string[] // port
new string[6] // port
{
"bikeB",
"bikeB",
"bikeB",
"bikeB",
"bikeB",
"bikeB",
"bikeB",
"bikeB"
Definitions.PORT_BIKE_SPROCKET,
Definitions.PORT_BIKE_PEDAL_L,
Definitions.PORT_BIKE_PEDAL_R,
Definitions.PORT_BIKE_STEER,
Definitions.PORT_BIKE_WHEEL,
Definitions.PORT_BIKE_WHEEL,
},
new string[] //human name
new string[6] //human name
{
"name1",
"name2",
"name3",
"name4",
"name5",
"name6",
"name7",
"name8",
"Sprocket",
"Left Pedal",
"Right Pedal",
"Handlebars",
"Back Wheel",
"Front Wheel",
},
new string[] //id
new string[6] //id
{
"id1",
"id2",
"id3",
"id4",
"id5",
"id6",
"id7",
"id8",
"idBikeSprocket",
"idBikePedalL_1",
"idBikePedalR_1",
"idBikeHandlebars",
"idBikeWheel_Back1",
"idBikeWheel_Front1",
},
Resources.LoadAll<Mesh>("Bicycle/Models/Low-Poly Bicycle # 5"),
new Material[] //mat
new Material[6] //mat
{
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
@@ -101,10 +96,8 @@ public class ModelList
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
},
new List<Port>[] // ports
new List<Port>[6] // ports
{
null,
null,
@@ -112,9 +105,8 @@ public class ModelList
null,
null,
null,
null,
null,
}
},
1 //skip the first mesh, which is the basemodel
));
}
}

View File

@@ -11,8 +11,8 @@ public class Port
public void apply(Transform target)
{
target.position = position;
target.rotation = rotation;
target.localPosition = position;
target.localRotation = rotation;
target.localScale = scale;
}