diff --git a/Assets/AssetCaches.asset b/Assets/AssetCaches.asset index 03932e299..39ef4b5fd 100644 --- a/Assets/AssetCaches.asset +++ b/Assets/AssetCaches.asset @@ -18628,411 +18628,6 @@ MonoBehaviour: - {fileID: 102900000, guid: 60ac19fbbe20cec48add96b79332c113, type: 3} FilterEnum: 0 Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/chwytak.prefab - Address: Plyaer/chwytak - Type: GameObject - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Material/ekran.mat - Address: Plyaer/ekran - Type: Material - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Material/hak.mat - Address: Plyaer/hak - Type: Material - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Material/panel.mat - Address: Plyaer/panel - Type: Material - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Material/plastik.mat - Address: Plyaer/plastik - Type: Material - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Material/uchwyt.mat - Address: Plyaer/uchwyt - Type: Material - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Mesh/Box001_18.mesh - Address: Plyaer/Box001_18 - Type: Mesh - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Mesh/Box002_6.mesh - Address: Plyaer/Box002_6 - Type: Mesh - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Mesh/Box003_0.mesh - Address: Plyaer/Box003_0 - Type: Mesh - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Mesh/Cylinder001_7.mesh - Address: Plyaer/Cylinder001_7 - Type: Mesh - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Mesh/ekran.mesh - Address: Plyaer/ekran - Type: Mesh - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Mesh/srubka 2.mesh - Address: Plyaer/srubka 2 - Type: Mesh - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Mesh/Tube001_0.mesh - Address: Plyaer/Tube001_0 - Type: Mesh - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_ekran_MetallicSmoothness.png - Address: Plyaer/chwytak ufs_ekran_MetallicSmoothness - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_hak_AlbedoTransparency.png - Address: Plyaer/chwytak ufs_hak_AlbedoTransparency - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_hak_MetallicSmoothness.png - Address: Plyaer/chwytak ufs_hak_MetallicSmoothness - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_hak_Normal.png - Address: Plyaer/chwytak ufs_hak_Normal - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_panel_AlbedoTransparency.png - Address: Plyaer/chwytak ufs_panel_AlbedoTransparency - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_panel_MetallicSmoothness.png - Address: Plyaer/chwytak ufs_panel_MetallicSmoothness - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_panel_Normal.png - Address: Plyaer/chwytak ufs_panel_Normal - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_plastik_AlbedoTransparency.png - Address: Plyaer/chwytak ufs_plastik_AlbedoTransparency - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_plastik_MetallicSmoothness.png - Address: Plyaer/chwytak ufs_plastik_MetallicSmoothness - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_plastik_Normal.png - Address: Plyaer/chwytak ufs_plastik_Normal - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/chwytak ufs_uchwyt_Normal.png - Address: Plyaer/chwytak ufs_uchwyt_Normal - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/chwytak/Texture2D/kategoria selected.png - Address: Plyaer/kategoria selected - Type: Texture2D - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/FFishingLine_0.prefab - Address: Plyaer/FFishingLine_0 - Type: GameObject - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - - Path: Assets/ResRaw/Prefabs/FFishingLine_1.prefab - Address: Plyaer/FFishingLine_1 - Type: GameObject - Bundle: main/plyaer.bundle - Tags: - Group: - Name: Plyaer - Enable: 1 - BundleMode: 0 - AddressMode: 2 - Tags: - Collectors: - - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} - FilterEnum: 0 - Filter: '*' - Path: Assets/ResRaw/Prefabs/Line/fishing line float set.prefab Address: Plyaer/fishing line float set Type: GameObject @@ -19078,6 +18673,21 @@ MonoBehaviour: - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} FilterEnum: 0 Filter: '*' + - Path: Assets/ResRaw/Prefabs/Line/FishingRopeLong2.asset + Address: Plyaer/FishingRopeLong2 + Type: ObiRopeBlueprint + Bundle: main/plyaer.bundle + Tags: + Group: + Name: Plyaer + Enable: 1 + BundleMode: 0 + AddressMode: 2 + Tags: + Collectors: + - {fileID: 102900000, guid: aa3f5467c0c153642ac320466aee0ec1, type: 3} + FilterEnum: 0 + Filter: '*' - Path: Assets/ResRaw/Prefabs/Line/FishingRopeShort.asset Address: Plyaer/FishingRopeShort Type: ObiRopeBlueprint diff --git a/Assets/Enviro 3 - Sky and Weather/Profiles/Weather Types/Clear Sky.asset b/Assets/Enviro 3 - Sky and Weather/Profiles/Weather Types/Clear Sky.asset index 138e05b92..f1ca925ed 100644 --- a/Assets/Enviro 3 - Sky and Weather/Profiles/Weather Types/Clear Sky.asset +++ b/Assets/Enviro 3 - Sky and Weather/Profiles/Weather Types/Clear Sky.asset @@ -12,15 +12,15 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5cbac6e678443724c9bd2baf5d564c1d, type: 3} m_Name: Clear Sky m_EditorClassIdentifier: - showEditor: 0 + showEditor: 1 showEffectControls: 0 showCloudControls: 0 showFlatCloudControls: 1 showFogControls: 0 - showSkyControls: 1 + showSkyControls: 0 showLightingControls: 0 showAuroraControls: 0 - showEnvironmentControls: 0 + showEnvironmentControls: 1 showAudioControls: 0 showAmbientAudioControls: 0 showWeatherAudioControls: 0 @@ -118,7 +118,7 @@ MonoBehaviour: temperatureWeatherMod: 0 wetnessTarget: 0 snowTarget: 0 - windDirectionX: 1 - windDirectionY: 0 - windSpeed: 0.25 - windTurbulence: 0.25 + windDirectionX: -1 + windDirectionY: -1 + windSpeed: 1 + windTurbulence: 0 diff --git a/Assets/ResRaw/Prefabs/Line/FishingRopeLong2.asset b/Assets/ResRaw/Prefabs/Line/FishingRopeLong2.asset new file mode 100644 index 000000000..eb7cc850a --- /dev/null +++ b/Assets/ResRaw/Prefabs/Line/FishingRopeLong2.asset @@ -0,0 +1,6227 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8895068982669596001 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p24 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 18000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-8878948054908091933 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p38 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 26000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-8812903714714478896 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p47 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 2f000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-8606517710351259800 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p41 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 29000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-8578589765873132875 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p20 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 14000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-8360986081424222008 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p12 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 0c000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-7235706726117828774 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p48 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 30000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-6506362155496508246 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p49 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 31000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-6433235804403489237 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p32 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 20000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-6174037360766076421 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p30 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 1e000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-5825983775554012127 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p42 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 2a000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-5738391374231751024 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p4 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 04000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-5608062032252897923 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p44 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 2c000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-5603994811688899424 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p13 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 0d000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-5210734541318015828 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p46 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 2e000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-4476295712075569777 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p22 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 16000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-4377608594441260682 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p27 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 1b000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-3884754478719091469 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p31 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 1f000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-3805403371179938492 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p43 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 2b000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-3469052088802741369 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p37 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 25000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-3378586095176626162 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p34 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 22000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-3153313806403117672 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p2 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 02000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-2853661704139525027 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p39 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 27000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-2044417394281714964 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p11 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 0b000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-2017693364427496192 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p6 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 06000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-1579512932266808908 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p45 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 2d000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-984104748831767089 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p9 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 09000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &-683409572099964813 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p1 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 01000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &11400000 +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: 8f7e67b5626124d0db9886e6cd2aacff, type: 3} + m_Name: FishingRopeLong2 + m_EditorClassIdentifier: Obi::Obi.ObiRopeBlueprint + m_Checksum: 4048054191 + m_Empty: 0 + m_Edited: 0 + m_ActiveParticleCount: 50 + m_InitialActiveParticleCount: 50 + _bounds: + m_Center: {x: 0, y: -0.5, z: 0} + m_Extent: {x: 0, y: 0.5, z: 0} + positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: -0.04, z: 0} + - {x: 0, y: -0.06, z: 0} + - {x: 0, y: -0.08, z: 0} + - {x: 0, y: -0.1, z: 0} + - {x: 0, y: -0.12, z: 0} + - {x: 0, y: -0.14, z: 0} + - {x: 0, y: -0.16, z: 0} + - {x: 0, y: -0.18, z: 0} + - {x: 0, y: -0.2, z: 0} + - {x: 0, y: -0.22, z: 0} + - {x: 0, y: -0.24, z: 0} + - {x: 0, y: -0.26, z: 0} + - {x: 0, y: -0.28, z: 0} + - {x: 0, y: -0.3, z: 0} + - {x: 0, y: -0.32, z: 0} + - {x: 0, y: -0.34, z: 0} + - {x: 0, y: -0.36, z: 0} + - {x: 0, y: -0.38, z: 0} + - {x: 0, y: -0.4, z: 0} + - {x: 0, y: -0.42, z: 0} + - {x: 0, y: -0.44, z: 0} + - {x: 0, y: -0.46, z: 0} + - {x: 0, y: -0.48, z: 0} + - {x: 0, y: -0.5, z: 0} + - {x: 0, y: -0.52, z: 0} + - {x: 0, y: -0.54, z: 0} + - {x: 0, y: -0.56, z: 0} + - {x: 0, y: -0.58, z: 0} + - {x: 0, y: -0.6, z: 0} + - {x: 0, y: -0.62, z: 0} + - {x: 0, y: -0.64, z: 0} + - {x: 0, y: -0.66, z: 0} + - {x: 0, y: -0.68, z: 0} + - {x: 0, y: -0.7, z: 0} + - {x: 0, y: -0.72, z: 0} + - {x: 0, y: -0.74, z: 0} + - {x: 0, y: -0.76, z: 0} + - {x: 0, y: -0.78, z: 0} + - {x: 0, y: -0.8, z: 0} + - {x: 0, y: -0.82, z: 0} + - {x: 0, y: -0.84, z: 0} + - {x: 0, y: -0.86, z: 0} + - {x: 0, y: -0.88, z: 0} + - {x: 0, y: -0.9, z: 0} + - {x: 0, y: -0.92, z: 0} + - {x: 0, y: -0.94, z: 0} + - {x: 0, y: -0.96, z: 0} + - {x: 0, y: -0.98, z: 0} + - {x: 0, y: -1, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + restPositions: + - {x: 0, y: 0, z: 0, w: 1} + - {x: 0, y: -0.04, z: 0, w: 1} + - {x: 0, y: -0.06, z: 0, w: 1} + - {x: 0, y: -0.08, z: 0, w: 1} + - {x: 0, y: -0.1, z: 0, w: 1} + - {x: 0, y: -0.12, z: 0, w: 1} + - {x: 0, y: -0.14, z: 0, w: 1} + - {x: 0, y: -0.16, z: 0, w: 1} + - {x: 0, y: -0.18, z: 0, w: 1} + - {x: 0, y: -0.2, z: 0, w: 1} + - {x: 0, y: -0.22, z: 0, w: 1} + - {x: 0, y: -0.24, z: 0, w: 1} + - {x: 0, y: -0.26, z: 0, w: 1} + - {x: 0, y: -0.28, z: 0, w: 1} + - {x: 0, y: -0.3, z: 0, w: 1} + - {x: 0, y: -0.32, z: 0, w: 1} + - {x: 0, y: -0.34, z: 0, w: 1} + - {x: 0, y: -0.36, z: 0, w: 1} + - {x: 0, y: -0.38, z: 0, w: 1} + - {x: 0, y: -0.4, z: 0, w: 1} + - {x: 0, y: -0.42, z: 0, w: 1} + - {x: 0, y: -0.44, z: 0, w: 1} + - {x: 0, y: -0.46, z: 0, w: 1} + - {x: 0, y: -0.48, z: 0, w: 1} + - {x: 0, y: -0.5, z: 0, w: 1} + - {x: 0, y: -0.52, z: 0, w: 1} + - {x: 0, y: -0.54, z: 0, w: 1} + - {x: 0, y: -0.56, z: 0, w: 1} + - {x: 0, y: -0.58, z: 0, w: 1} + - {x: 0, y: -0.6, z: 0, w: 1} + - {x: 0, y: -0.62, z: 0, w: 1} + - {x: 0, y: -0.64, z: 0, w: 1} + - {x: 0, y: -0.66, z: 0, w: 1} + - {x: 0, y: -0.68, z: 0, w: 1} + - {x: 0, y: -0.7, z: 0, w: 1} + - {x: 0, y: -0.72, z: 0, w: 1} + - {x: 0, y: -0.74, z: 0, w: 1} + - {x: 0, y: -0.76, z: 0, w: 1} + - {x: 0, y: -0.78, z: 0, w: 1} + - {x: 0, y: -0.8, z: 0, w: 1} + - {x: 0, y: -0.82, z: 0, w: 1} + - {x: 0, y: -0.84, z: 0, w: 1} + - {x: 0, y: -0.86, z: 0, w: 1} + - {x: 0, y: -0.88, z: 0, w: 1} + - {x: 0, y: -0.9, z: 0, w: 1} + - {x: 0, y: -0.92, z: 0, w: 1} + - {x: 0, y: -0.94, z: 0, w: 1} + - {x: 0, y: -0.96, z: 0, w: 1} + - {x: 0, y: -0.98, z: 0, w: 1} + - {x: 0, y: -1, z: 0, w: 1} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + - {x: 0, y: 0, z: 0, w: 0} + restNormals: [] + orientations: [] + restOrientations: [] + velocities: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + angularVelocities: [] + invMasses: + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 100 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + invRotationalMasses: [] + filters: 0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + principalRadii: + - {x: 0.0007, y: 0.0007, z: 0.0007} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0006999999, y: 0.0006999999, z: 0.0006999999} + - {x: 0.0007, y: 0.0007, z: 0.0007} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + colors: + - {r: 1, g: 1, b: 1, a: 1} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 1, g: 1, b: 1, a: 1} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + - {r: 0, g: 0, b: 0, a: 0} + points: + edges: 000000000100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000a0000000a0000000b0000000b0000000c0000000c0000000d0000000d0000000e0000000e0000000f0000000f00000010000000100000001100000011000000120000001200000013000000130000001400000014000000150000001500000016000000160000001700000017000000180000001800000019000000190000001a0000001a0000001b0000001b0000001c0000001c0000001d0000001d0000001e0000001e0000001f0000001f00000020000000200000002100000021000000220000002200000023000000230000002400000024000000250000002500000026000000260000002700000027000000280000002800000029000000290000002a0000002a0000002b0000002b0000002c0000002c0000002d0000002d0000002e0000002e0000002f0000002f000000300000003000000031000000 + triangles: + distanceConstraintsData: + batches: + - m_IDs: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c000000 + m_IDToIndex: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c000000 + m_ConstraintCount: 125 + m_ActiveConstraintCount: 25 + m_InitialActiveConstraintCount: 25 + particleIndices: + serializedContents: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f00000030000000310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_AlignBytes: 16 + lambdas: + serializedContents: [] + m_AlignBytes: 16 + restLengths: + serializedContents: + - 0.04 + - 0.02 + - 0.019999996 + - 0.019999996 + - 0.019999996 + - 0.019999996 + - 0.02000001 + - 0.01999998 + - 0.02000001 + - 0.02000001 + - 0.02000001 + - 0.01999998 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + m_AlignBytes: 16 + stiffnesses: + serializedContents: + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + m_AlignBytes: 16 + - m_IDs: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b000000 + m_IDToIndex: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b000000 + m_ConstraintCount: 124 + m_ActiveConstraintCount: 24 + m_InitialActiveConstraintCount: 24 + particleIndices: + serializedContents: 0100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_AlignBytes: 16 + lambdas: + serializedContents: [] + m_AlignBytes: 16 + restLengths: + serializedContents: + - 0.02 + - 0.020000003 + - 0.020000003 + - 0.02000001 + - 0.019999996 + - 0.019999996 + - 0.02000001 + - 0.02000001 + - 0.01999998 + - 0.01999998 + - 0.02000001 + - 0.02000001 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + m_AlignBytes: 16 + stiffnesses: + serializedContents: + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + m_AlignBytes: 16 + bendConstraintsData: + batches: + - m_IDs: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000 + m_IDToIndex: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000 + m_ConstraintCount: 83 + m_ActiveConstraintCount: 16 + m_InitialActiveConstraintCount: 16 + particleIndices: + serializedContents: 000000000200000001000000030000000500000004000000060000000800000007000000090000000b0000000a0000000c0000000e0000000d0000000f0000001100000010000000120000001400000013000000150000001700000016000000180000001a000000190000001b0000001d0000001c0000001e000000200000001f0000002100000023000000220000002400000026000000250000002700000029000000280000002a0000002c0000002b0000002d0000002f0000002e000000300000003200000031000000330000003500000034000000360000003800000037000000390000003b0000003a0000003c0000003e0000003d0000003f0000004100000040000000420000004400000043000000450000004700000046000000480000004a000000490000004b0000004d0000004c0000004e000000500000004f0000005100000053000000520000005400000056000000550000005700000059000000580000005a0000005c0000005b0000005d0000005f0000005e000000600000006200000061000000630000006500000064000000660000006800000067000000690000006b0000006a0000006c0000006e0000006d0000006f0000007100000070000000720000007400000073000000750000007700000076000000780000007a000000790000007b0000007d0000007c0000007e000000800000007f0000008100000083000000820000008400000086000000850000008700000089000000880000008a0000008c0000008b0000008d0000008f0000008e000000900000009200000091000000930000009500000094000000960000009800000097000000990000009b0000009a0000009c0000009e0000009d0000009f000000a1000000a0000000a2000000a4000000a3000000a5000000a7000000a6000000a8000000aa000000a9000000ab000000ad000000ac000000ae000000b0000000af000000b1000000b3000000b2000000b4000000b6000000b5000000b7000000b9000000b8000000ba000000bc000000bb000000bd000000bf000000be000000c0000000c2000000c1000000c3000000c5000000c4000000c6000000c8000000c7000000c9000000cb000000ca000000cc000000ce000000cd000000cf000000d1000000d0000000d2000000d4000000d3000000d5000000d7000000d6000000d8000000da000000d9000000db000000dd000000dc000000de000000e0000000df000000e1000000e3000000e2000000e4000000e6000000e5000000e7000000e9000000e8000000ea000000ec000000eb000000ed000000ef000000ee000000f0000000f2000000f1000000f3000000f5000000f4000000f6000000f8000000f7000000 + m_AlignBytes: 16 + lambdas: + serializedContents: [] + m_AlignBytes: 16 + restBends: + serializedContents: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + m_AlignBytes: 16 + bendingStiffnesses: + serializedContents: + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + m_AlignBytes: 16 + plasticity: + serializedContents: + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + m_AlignBytes: 16 + - m_IDs: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000 + m_IDToIndex: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000 + m_ConstraintCount: 83 + m_ActiveConstraintCount: 16 + m_InitialActiveConstraintCount: 16 + particleIndices: + serializedContents: 0100000003000000020000000400000006000000050000000700000009000000080000000a0000000c0000000b0000000d0000000f0000000e000000100000001200000011000000130000001500000014000000160000001800000017000000190000001b0000001a0000001c0000001e0000001d0000001f0000002100000020000000220000002400000023000000250000002700000026000000280000002a000000290000002b0000002d0000002c0000002e000000300000002f0000003100000033000000320000003400000036000000350000003700000039000000380000003a0000003c0000003b0000003d0000003f0000003e000000400000004200000041000000430000004500000044000000460000004800000047000000490000004b0000004a0000004c0000004e0000004d0000004f0000005100000050000000520000005400000053000000550000005700000056000000580000005a000000590000005b0000005d0000005c0000005e000000600000005f0000006100000063000000620000006400000066000000650000006700000069000000680000006a0000006c0000006b0000006d0000006f0000006e000000700000007200000071000000730000007500000074000000760000007800000077000000790000007b0000007a0000007c0000007e0000007d0000007f0000008100000080000000820000008400000083000000850000008700000086000000880000008a000000890000008b0000008d0000008c0000008e000000900000008f0000009100000093000000920000009400000096000000950000009700000099000000980000009a0000009c0000009b0000009d0000009f0000009e000000a0000000a2000000a1000000a3000000a5000000a4000000a6000000a8000000a7000000a9000000ab000000aa000000ac000000ae000000ad000000af000000b1000000b0000000b2000000b4000000b3000000b5000000b7000000b6000000b8000000ba000000b9000000bb000000bd000000bc000000be000000c0000000bf000000c1000000c3000000c2000000c4000000c6000000c5000000c7000000c9000000c8000000ca000000cc000000cb000000cd000000cf000000ce000000d0000000d2000000d1000000d3000000d5000000d4000000d6000000d8000000d7000000d9000000db000000da000000dc000000de000000dd000000df000000e1000000e0000000e2000000e4000000e3000000e5000000e7000000e6000000e8000000ea000000e9000000eb000000ed000000ec000000ee000000f0000000ef000000f1000000f3000000f2000000f4000000f6000000f5000000f7000000f9000000f8000000 + m_AlignBytes: 16 + lambdas: + serializedContents: [] + m_AlignBytes: 16 + restBends: + serializedContents: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + m_AlignBytes: 16 + bendingStiffnesses: + serializedContents: + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + m_AlignBytes: 16 + plasticity: + serializedContents: + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + m_AlignBytes: 16 + - m_IDs: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f0000005000000051000000 + m_IDToIndex: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f0000005000000051000000 + m_ConstraintCount: 82 + m_ActiveConstraintCount: 16 + m_InitialActiveConstraintCount: 16 + particleIndices: + serializedContents: 020000000400000003000000050000000700000006000000080000000a000000090000000b0000000d0000000c0000000e000000100000000f0000001100000013000000120000001400000016000000150000001700000019000000180000001a0000001c0000001b0000001d0000001f0000001e000000200000002200000021000000230000002500000024000000260000002800000027000000290000002b0000002a0000002c0000002e0000002d0000002f0000003100000030000000320000003400000033000000350000003700000036000000380000003a000000390000003b0000003d0000003c0000003e000000400000003f0000004100000043000000420000004400000046000000450000004700000049000000480000004a0000004c0000004b0000004d0000004f0000004e000000500000005200000051000000530000005500000054000000560000005800000057000000590000005b0000005a0000005c0000005e0000005d0000005f0000006100000060000000620000006400000063000000650000006700000066000000680000006a000000690000006b0000006d0000006c0000006e000000700000006f0000007100000073000000720000007400000076000000750000007700000079000000780000007a0000007c0000007b0000007d0000007f0000007e000000800000008200000081000000830000008500000084000000860000008800000087000000890000008b0000008a0000008c0000008e0000008d0000008f0000009100000090000000920000009400000093000000950000009700000096000000980000009a000000990000009b0000009d0000009c0000009e000000a00000009f000000a1000000a3000000a2000000a4000000a6000000a5000000a7000000a9000000a8000000aa000000ac000000ab000000ad000000af000000ae000000b0000000b2000000b1000000b3000000b5000000b4000000b6000000b8000000b7000000b9000000bb000000ba000000bc000000be000000bd000000bf000000c1000000c0000000c2000000c4000000c3000000c5000000c7000000c6000000c8000000ca000000c9000000cb000000cd000000cc000000ce000000d0000000cf000000d1000000d3000000d2000000d4000000d6000000d5000000d7000000d9000000d8000000da000000dc000000db000000dd000000df000000de000000e0000000e2000000e1000000e3000000e5000000e4000000e6000000e8000000e7000000e9000000eb000000ea000000ec000000ee000000ed000000ef000000f1000000f0000000f2000000f4000000f3000000f5000000f7000000f6000000 + m_AlignBytes: 16 + lambdas: + serializedContents: [] + m_AlignBytes: 16 + restBends: + serializedContents: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + m_AlignBytes: 16 + bendingStiffnesses: + serializedContents: + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + m_AlignBytes: 16 + plasticity: + serializedContents: + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + - {x: 0, y: 0} + m_AlignBytes: 16 + skinConstraintsData: + batches: [] + tetherConstraintsData: + batches: [] + stretchShearConstraintsData: + batches: [] + bendTwistConstraintsData: + batches: [] + shapeMatchingConstraintsData: + batches: [] + aerodynamicConstraintsData: + batches: + - m_IDs: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c0000007d0000007e0000007f000000800000008100000082000000830000008400000085000000860000008700000088000000890000008a0000008b0000008c0000008d0000008e0000008f000000900000009100000092000000930000009400000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f000000a0000000a1000000a2000000a3000000a4000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000ad000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba000000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d4000000d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000ee000000ef000000f0000000f1000000f2000000f3000000f4000000f5000000f6000000f7000000f8000000f9000000 + m_IDToIndex: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c0000007d0000007e0000007f000000800000008100000082000000830000008400000085000000860000008700000088000000890000008a0000008b0000008c0000008d0000008e0000008f000000900000009100000092000000930000009400000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f000000a0000000a1000000a2000000a3000000a4000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000ad000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba000000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d4000000d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000ee000000ef000000f0000000f1000000f2000000f3000000f4000000f5000000f6000000f7000000f8000000f9000000 + m_ConstraintCount: 250 + m_ActiveConstraintCount: 50 + m_InitialActiveConstraintCount: 50 + particleIndices: + serializedContents: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c0000007d0000007e0000007f000000800000008100000082000000830000008400000085000000860000008700000088000000890000008a0000008b0000008c0000008d0000008e0000008f000000900000009100000092000000930000009400000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f000000a0000000a1000000a2000000a3000000a4000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000ad000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba000000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d4000000d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000ee000000ef000000f0000000f1000000f2000000f3000000f4000000f5000000f6000000f7000000f8000000f9000000 + m_AlignBytes: 16 + lambdas: + serializedContents: [] + m_AlignBytes: 16 + aerodynamicCoeffs: + serializedContents: + - 0.0014 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0013999998 + - 1 + - 1 + - 0.0014 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + - 0 + - 1 + - 1 + m_AlignBytes: 16 + chainConstraintsData: + batches: [] + volumeConstraintsData: + batches: [] + groups: + - {fileID: 5356683708585918033} + - {fileID: -683409572099964813} + - {fileID: -3153313806403117672} + - {fileID: 6474530038147832095} + - {fileID: -5738391374231751024} + - {fileID: 460195745473698420} + - {fileID: -2017693364427496192} + - {fileID: 67709194264687420} + - {fileID: 5235348351035319175} + - {fileID: -984104748831767089} + - {fileID: 5864741759467773053} + - {fileID: -2044417394281714964} + - {fileID: -8360986081424222008} + - {fileID: -5603994811688899424} + - {fileID: 1766637912813151312} + - {fileID: 8218432548761523030} + - {fileID: 7303162662584375431} + - {fileID: 1035980269659598200} + - {fileID: 287939991765058668} + - {fileID: 4591736560844859121} + - {fileID: -8578589765873132875} + - {fileID: 2651645560330673569} + - {fileID: -4476295712075569777} + - {fileID: 2169038883279017432} + - {fileID: -8895068982669596001} + - {fileID: 262816939400952877} + - {fileID: 4354245337937157894} + - {fileID: -4377608594441260682} + - {fileID: 3799096459669799552} + - {fileID: 998006996089684737} + - {fileID: -6174037360766076421} + - {fileID: -3884754478719091469} + - {fileID: -6433235804403489237} + - {fileID: 6738822463604952025} + - {fileID: -3378586095176626162} + - {fileID: 7179065444333116801} + - {fileID: 6895270607169468957} + - {fileID: -3469052088802741369} + - {fileID: -8878948054908091933} + - {fileID: -2853661704139525027} + - {fileID: 1141882874415177823} + - {fileID: -8606517710351259800} + - {fileID: -5825983775554012127} + - {fileID: -3805403371179938492} + - {fileID: -5608062032252897923} + - {fileID: -1579512932266808908} + - {fileID: -5210734541318015828} + - {fileID: -8812903714714478896} + - {fileID: -7235706726117828774} + - {fileID: -6506362155496508246} + path: + m_Names: + - p0 + - p1 + - p2 + - p3 + - p4 + - p5 + - p6 + - p7 + - p8 + - p9 + - p10 + - p11 + - p12 + - p13 + - p14 + - p15 + - p16 + - p17 + - p18 + - p19 + - p20 + - p21 + - p22 + - p23 + - p24 + - p25 + - p26 + - p27 + - p28 + - p29 + - p30 + - p31 + - p32 + - p33 + - p34 + - p35 + - p36 + - p37 + - p38 + - p39 + - p40 + - p41 + - p42 + - p43 + - p44 + - p45 + - p46 + - p47 + - p48 + - p49 + m_Points: + data: + - tangentMode: 0 + inTangent: {x: -0, y: -0, z: -0} + position: {x: 0, y: 0, z: 0} + outTangent: {x: 0, y: 0, z: 0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.04, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.06, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.08, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.1, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.12, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: -0, z: -0} + position: {x: 0, y: -0.14, z: 0} + outTangent: {x: 0, y: 0, z: 0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.16, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.18, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.2, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: -0, z: -0} + position: {x: 0, y: -0.22, z: 0} + outTangent: {x: 0, y: 0, z: 0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.24, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.26, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.28, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.3, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.32, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.34, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: -0, z: -0} + position: {x: 0, y: -0.36, z: 0} + outTangent: {x: 0, y: 0, z: 0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.38, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.4, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.42, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.44, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.46, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.48, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.5, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.52, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: -0, z: -0} + position: {x: 0, y: -0.54, z: 0} + outTangent: {x: 0, y: 0, z: 0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.56, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.58, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.6, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.62, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.64, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.66, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.68, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.7, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: -0, z: -0} + position: {x: 0, y: -0.72, z: 0} + outTangent: {x: 0, y: 0, z: 0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.74, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.76, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.78, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.8, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.82, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.84, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.86, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.88, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.9, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.92, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.94, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: -0, y: 0, z: -0} + position: {x: 0, y: -0.96, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: 0, y: 0, z: 0} + position: {x: 0, y: -0.98, z: 0} + outTangent: {x: -0, y: -0, z: -0} + - tangentMode: 0 + inTangent: {x: 0, y: 0, z: 0} + position: {x: 0, y: -1, z: 0} + outTangent: {x: -0, y: -0, z: -0} + m_Normals: + data: + - {x: 0, y: 1, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 0.99999994, z: 0} + - {x: 0, y: 1, z: 0} + m_Colors: + data: + - {r: 1, g: 1, b: 1, a: 1} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 0.99999994, g: 0.99999994, b: 0.99999994, a: 0.99999994} + - {r: 1, g: 1, b: 1, a: 1} + m_Thickness: + data: + - 0.0007 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0006999999 + - 0.0007 + m_Masses: + data: + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + m_RotationalMasses: + data: + - 1 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 0.99999994 + - 1 + m_Filters: + data: 0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff0200ffff + m_Closed: 0 + m_ArcLengthTable: + - 0 + - 0.00026347046 + - 0.0010193284 + - 0.0022157435 + - 0.0038008853 + - 0.0057229237 + - 0.007930029 + - 0.01037037 + - 0.012992117 + - 0.015743438 + - 0.018572506 + - 0.02142749 + - 0.024256557 + - 0.02700788 + - 0.029629625 + - 0.032069966 + - 0.03427707 + - 0.036199108 + - 0.03778425 + - 0.038980663 + - 0.03973652 + - 0.03999999 + - 0.040131725 + - 0.040509656 + - 0.041107863 + - 0.041900434 + - 0.042861454 + - 0.043965008 + - 0.04518518 + - 0.046496052 + - 0.047871713 + - 0.049286246 + - 0.05071374 + - 0.052128274 + - 0.053503934 + - 0.054814808 + - 0.05603498 + - 0.057138532 + - 0.058099553 + - 0.058892123 + - 0.05949033 + - 0.059868257 + - 0.05999999 + - 0.060131725 + - 0.060509656 + - 0.061107863 + - 0.061900433 + - 0.06286145 + - 0.063965 + - 0.065185174 + - 0.066496044 + - 0.067871705 + - 0.06928624 + - 0.070713736 + - 0.07212827 + - 0.073503934 + - 0.074814804 + - 0.07603498 + - 0.07713853 + - 0.07809955 + - 0.07889212 + - 0.07949033 + - 0.07986826 + - 0.07999999 + - 0.080131724 + - 0.080509655 + - 0.08110786 + - 0.08190043 + - 0.08286145 + - 0.083965 + - 0.08518518 + - 0.08649605 + - 0.08787171 + - 0.089286245 + - 0.09071374 + - 0.09212828 + - 0.09350394 + - 0.09481481 + - 0.09603498 + - 0.09713853 + - 0.09809955 + - 0.09889212 + - 0.09949033 + - 0.09986826 + - 0.099999994 + - 0.10013173 + - 0.10050966 + - 0.101107866 + - 0.101900436 + - 0.10286146 + - 0.10396501 + - 0.10518517 + - 0.10649604 + - 0.107871704 + - 0.109286234 + - 0.11071373 + - 0.11212826 + - 0.11350392 + - 0.11481479 + - 0.116034955 + - 0.117138505 + - 0.118099526 + - 0.118892096 + - 0.1194903 + - 0.119868234 + - 0.11999997 + - 0.1201317 + - 0.12050963 + - 0.12110784 + - 0.12190041 + - 0.12286143 + - 0.12396498 + - 0.12518515 + - 0.12649602 + - 0.12787168 + - 0.12928621 + - 0.1307137 + - 0.13212824 + - 0.1335039 + - 0.13481477 + - 0.13603494 + - 0.13713849 + - 0.1380995 + - 0.13889208 + - 0.13949029 + - 0.13986821 + - 0.13999996 + - 0.1401317 + - 0.14050962 + - 0.14110783 + - 0.1419004 + - 0.14286143 + - 0.14396498 + - 0.14518514 + - 0.14649601 + - 0.14787167 + - 0.14928621 + - 0.1507137 + - 0.15212823 + - 0.1535039 + - 0.15481476 + - 0.15603493 + - 0.15713848 + - 0.1580995 + - 0.15889208 + - 0.15949029 + - 0.15986821 + - 0.15999995 + - 0.1601317 + - 0.16050962 + - 0.16110782 + - 0.1619004 + - 0.16286142 + - 0.16396497 + - 0.16518514 + - 0.16649601 + - 0.16787167 + - 0.1692862 + - 0.1707137 + - 0.17212823 + - 0.17350389 + - 0.17481476 + - 0.17603493 + - 0.17713848 + - 0.1780995 + - 0.17889208 + - 0.17949028 + - 0.1798682 + - 0.17999995 + - 0.18013169 + - 0.18050961 + - 0.18110782 + - 0.1819004 + - 0.18286142 + - 0.18396497 + - 0.18518513 + - 0.186496 + - 0.18787166 + - 0.1892862 + - 0.19071369 + - 0.19212823 + - 0.19350389 + - 0.19481476 + - 0.19603492 + - 0.19713847 + - 0.1980995 + - 0.19889207 + - 0.19949028 + - 0.1998682 + - 0.19999994 + - 0.20013168 + - 0.20050961 + - 0.20110781 + - 0.2019004 + - 0.20286141 + - 0.20396496 + - 0.20518513 + - 0.206496 + - 0.20787166 + - 0.2092862 + - 0.21071368 + - 0.21212822 + - 0.21350388 + - 0.21481475 + - 0.21603492 + - 0.21713847 + - 0.21809949 + - 0.21889207 + - 0.21949027 + - 0.2198682 + - 0.21999994 + - 0.22013168 + - 0.2205096 + - 0.22110781 + - 0.22190039 + - 0.22286141 + - 0.22396496 + - 0.22518513 + - 0.226496 + - 0.22787166 + - 0.2292862 + - 0.23071368 + - 0.23212822 + - 0.23350388 + - 0.23481475 + - 0.23603491 + - 0.23713847 + - 0.23809949 + - 0.23889206 + - 0.23949027 + - 0.2398682 + - 0.23999994 + - 0.24013168 + - 0.2405096 + - 0.2411078 + - 0.24190038 + - 0.2428614 + - 0.24396496 + - 0.24518512 + - 0.24649599 + - 0.24787165 + - 0.24928619 + - 0.25071368 + - 0.2521282 + - 0.2535039 + - 0.25481477 + - 0.25603494 + - 0.2571385 + - 0.2580995 + - 0.25889206 + - 0.25949028 + - 0.2598682 + - 0.25999993 + - 0.26013166 + - 0.26050958 + - 0.2611078 + - 0.26190037 + - 0.26286137 + - 0.26396492 + - 0.2651851 + - 0.26649597 + - 0.26787165 + - 0.2692862 + - 0.2707137 + - 0.27212822 + - 0.2735039 + - 0.27481478 + - 0.27603495 + - 0.2771385 + - 0.2780995 + - 0.27889207 + - 0.2794903 + - 0.27986822 + - 0.27999994 + - 0.28013167 + - 0.2805096 + - 0.2811078 + - 0.28190038 + - 0.28286138 + - 0.28396493 + - 0.2851851 + - 0.28649598 + - 0.28787166 + - 0.2892862 + - 0.2907137 + - 0.29212824 + - 0.2935039 + - 0.2948148 + - 0.29603496 + - 0.2971385 + - 0.29809952 + - 0.29889208 + - 0.2994903 + - 0.29986823 + - 0.29999995 + - 0.30013168 + - 0.3005096 + - 0.3011078 + - 0.30190036 + - 0.30286136 + - 0.3039649 + - 0.30518508 + - 0.30649596 + - 0.3078716 + - 0.30928615 + - 0.31071365 + - 0.3121282 + - 0.31350383 + - 0.31481472 + - 0.31603488 + - 0.31713843 + - 0.31809944 + - 0.318892 + - 0.3194902 + - 0.31986812 + - 0.31999984 + - 0.32013157 + - 0.3205095 + - 0.32110772 + - 0.32190028 + - 0.32286128 + - 0.32396483 + - 0.325185 + - 0.3264959 + - 0.32787156 + - 0.3292861 + - 0.3307136 + - 0.33212814 + - 0.3335038 + - 0.3348147 + - 0.33603486 + - 0.3371384 + - 0.33809942 + - 0.33889198 + - 0.3394902 + - 0.33986813 + - 0.33999985 + - 0.34013158 + - 0.3405095 + - 0.34110773 + - 0.3419003 + - 0.3428613 + - 0.34396484 + - 0.345185 + - 0.3464959 + - 0.34787157 + - 0.3492861 + - 0.3507136 + - 0.35212815 + - 0.35350382 + - 0.3548147 + - 0.35603487 + - 0.35713843 + - 0.35809943 + - 0.358892 + - 0.35949022 + - 0.35986814 + - 0.35999987 + - 0.3601316 + - 0.3605095 + - 0.3611077 + - 0.36190027 + - 0.36286128 + - 0.36396483 + - 0.365185 + - 0.36649588 + - 0.36787152 + - 0.36928606 + - 0.37071356 + - 0.3721281 + - 0.37350374 + - 0.37481463 + - 0.3760348 + - 0.37713835 + - 0.37809935 + - 0.37889192 + - 0.3794901 + - 0.37986803 + - 0.37999976 + - 0.38013148 + - 0.3805094 + - 0.38110763 + - 0.3819002 + - 0.3828612 + - 0.38396475 + - 0.3851849 + - 0.3864958 + - 0.38787147 + - 0.389286 + - 0.3907135 + - 0.39212805 + - 0.39350373 + - 0.3948146 + - 0.39603478 + - 0.39713833 + - 0.39809933 + - 0.3988919 + - 0.39949012 + - 0.39986804 + - 0.39999977 + - 0.4001315 + - 0.40050942 + - 0.4011076 + - 0.40190017 + - 0.40286118 + - 0.40396473 + - 0.4051849 + - 0.40649578 + - 0.40787143 + - 0.40928596 + - 0.41071346 + - 0.412128 + - 0.41350365 + - 0.41481453 + - 0.4160347 + - 0.41713825 + - 0.41809925 + - 0.41889182 + - 0.41949 + - 0.41986793 + - 0.41999966 + - 0.4201314 + - 0.4205093 + - 0.42110753 + - 0.4219001 + - 0.4228611 + - 0.42396465 + - 0.42518482 + - 0.4264957 + - 0.42787138 + - 0.4292859 + - 0.43071342 + - 0.43212795 + - 0.43350363 + - 0.4348145 + - 0.43603468 + - 0.43713823 + - 0.43809924 + - 0.4388918 + - 0.43949002 + - 0.43986794 + - 0.43999967 + - 0.4401314 + - 0.44050932 + - 0.44110754 + - 0.4419001 + - 0.4428611 + - 0.44396466 + - 0.44518483 + - 0.4464957 + - 0.4478714 + - 0.44928592 + - 0.45071343 + - 0.45212796 + - 0.45350364 + - 0.45481452 + - 0.4560347 + - 0.45713824 + - 0.45809925 + - 0.4588918 + - 0.45949003 + - 0.45986795 + - 0.45999968 + - 0.4601314 + - 0.46050933 + - 0.46110752 + - 0.4619001 + - 0.4628611 + - 0.46396464 + - 0.4651848 + - 0.4664957 + - 0.46787134 + - 0.46928588 + - 0.47071338 + - 0.4721279 + - 0.47350356 + - 0.47481444 + - 0.4760346 + - 0.47713816 + - 0.47809917 + - 0.47889173 + - 0.47948992 + - 0.47986785 + - 0.47999957 + - 0.4801313 + - 0.48050922 + - 0.48110744 + - 0.4819 + - 0.482861 + - 0.48396456 + - 0.48518473 + - 0.4864956 + - 0.4878713 + - 0.48928583 + - 0.49071333 + - 0.49212787 + - 0.49350354 + - 0.49481443 + - 0.4960346 + - 0.49713814 + - 0.49809915 + - 0.4988917 + - 0.49948993 + - 0.49986786 + - 0.49999958 + - 0.5001313 + - 0.50050926 + - 0.50110745 + - 0.5019 + - 0.502861 + - 0.5039646 + - 0.50518477 + - 0.50649565 + - 0.5078713 + - 0.50928587 + - 0.51071334 + - 0.5121279 + - 0.51350355 + - 0.51481444 + - 0.5160346 + - 0.5171382 + - 0.5180992 + - 0.51889175 + - 0.51948994 + - 0.5198679 + - 0.5199996 + - 0.52013135 + - 0.5205093 + - 0.5211075 + - 0.52190006 + - 0.52286106 + - 0.52396464 + - 0.5251848 + - 0.5264957 + - 0.5278714 + - 0.5292859 + - 0.5307134 + - 0.5321279 + - 0.5335036 + - 0.5348145 + - 0.53603464 + - 0.5371382 + - 0.5380992 + - 0.5388918 + - 0.53949 + - 0.53986794 + - 0.53999966 + - 0.5401314 + - 0.54050934 + - 0.54110754 + - 0.5419001 + - 0.5428611 + - 0.5439647 + - 0.54518485 + - 0.54649574 + - 0.5478714 + - 0.54928595 + - 0.5507134 + - 0.55212796 + - 0.55350363 + - 0.5548145 + - 0.5560347 + - 0.55713826 + - 0.55809927 + - 0.55889183 + - 0.55949 + - 0.559868 + - 0.5599997 + - 0.56013143 + - 0.5605094 + - 0.5611076 + - 0.56190014 + - 0.56286114 + - 0.5639647 + - 0.5651849 + - 0.5664958 + - 0.56787145 + - 0.569286 + - 0.57071346 + - 0.572128 + - 0.5735037 + - 0.57481456 + - 0.5760347 + - 0.5771383 + - 0.5780993 + - 0.5788919 + - 0.57949007 + - 0.579868 + - 0.57999974 + - 0.5801315 + - 0.5805094 + - 0.5811076 + - 0.5819002 + - 0.5828612 + - 0.58396477 + - 0.58518493 + - 0.5864958 + - 0.5878715 + - 0.589286 + - 0.5907135 + - 0.59212804 + - 0.5935037 + - 0.5948146 + - 0.59603477 + - 0.59713835 + - 0.59809935 + - 0.5988919 + - 0.5994901 + - 0.59986806 + - 0.5999998 + - 0.6001315 + - 0.60050946 + - 0.60110766 + - 0.6019002 + - 0.6028612 + - 0.6039648 + - 0.605185 + - 0.60649586 + - 0.60787153 + - 0.60928607 + - 0.61071354 + - 0.6121281 + - 0.61350375 + - 0.61481464 + - 0.6160348 + - 0.6171384 + - 0.6180994 + - 0.61889195 + - 0.61949015 + - 0.6198681 + - 0.6199998 + - 0.62013155 + - 0.6205095 + - 0.6211077 + - 0.62190026 + - 0.62286127 + - 0.62396485 + - 0.625185 + - 0.6264959 + - 0.6278716 + - 0.6292861 + - 0.6307136 + - 0.6321281 + - 0.6335038 + - 0.6348147 + - 0.63603485 + - 0.6371384 + - 0.63809943 + - 0.638892 + - 0.6394902 + - 0.63986814 + - 0.63999987 + - 0.6401316 + - 0.64050955 + - 0.64110774 + - 0.6419003 + - 0.6428613 + - 0.6439649 + - 0.64518505 + - 0.64649594 + - 0.6478716 + - 0.64928615 + - 0.6507136 + - 0.65212816 + - 0.65350384 + - 0.6548147 + - 0.6560349 + - 0.65713847 + - 0.6580995 + - 0.65889204 + - 0.6594902 + - 0.6598682 + - 0.6599999 + - 0.66013163 + - 0.6605096 + - 0.6611078 + - 0.66190034 + - 0.66286135 + - 0.6639649 + - 0.6651851 + - 0.666496 + - 0.66787165 + - 0.6692862 + - 0.67071366 + - 0.6721282 + - 0.6735039 + - 0.67481476 + - 0.6760349 + - 0.6771385 + - 0.6780995 + - 0.6788921 + - 0.67949027 + - 0.6798682 + - 0.67999995 + - 0.6801317 + - 0.6805096 + - 0.6811078 + - 0.6819004 + - 0.6828614 + - 0.68396497 + - 0.68518513 + - 0.686496 + - 0.6878717 + - 0.68928623 + - 0.6907137 + - 0.69212824 + - 0.6935039 + - 0.6948148 + - 0.69603497 + - 0.69713855 + - 0.69809955 + - 0.6988921 + - 0.6994903 + - 0.69986826 + - 0.7 + - 0.7001317 + - 0.70050967 + - 0.70110786 + - 0.7019004 + - 0.7028614 + - 0.703965 + - 0.7051852 + - 0.70649606 + - 0.70787174 + - 0.7092863 + - 0.71071374 + - 0.7121283 + - 0.71350396 + - 0.71481484 + - 0.716035 + - 0.7171386 + - 0.7180996 + - 0.71889216 + - 0.71949035 + - 0.7198683 + - 0.72 + - 0.72013175 + - 0.7205097 + - 0.7211079 + - 0.72190046 + - 0.72286147 + - 0.72396505 + - 0.7251852 + - 0.7264961 + - 0.7278718 + - 0.7292863 + - 0.7307138 + - 0.7321283 + - 0.733504 + - 0.7348149 + - 0.73603505 + - 0.7371386 + - 0.73809963 + - 0.7388922 + - 0.7394904 + - 0.73986834 + - 0.74000007 + - 0.7401318 + - 0.74050975 + - 0.74110794 + - 0.7419005 + - 0.7428615 + - 0.7439651 + - 0.74518526 + - 0.74649614 + - 0.7478718 + - 0.74928635 + - 0.7507138 + - 0.75212836 + - 0.75350404 + - 0.7548149 + - 0.7560351 + - 0.75713867 + - 0.7580997 + - 0.75889224 + - 0.75949043 + - 0.7598684 + - 0.7600001 + - 0.76013184 + - 0.7605098 + - 0.761108 + - 0.76190054 + - 0.76286155 + - 0.76396513 + - 0.7651853 + - 0.7664962 + - 0.76787186 + - 0.7692864 + - 0.77071387 + - 0.7721284 + - 0.7735041 + - 0.77481496 + - 0.77603513 + - 0.7771387 + - 0.7780997 + - 0.7788923 + - 0.7794905 + - 0.7798684 + - 0.78000015 + - 0.7801319 + - 0.7805098 + - 0.781108 + - 0.7819006 + - 0.7828616 + - 0.7839652 + - 0.78518534 + - 0.7864962 + - 0.7878719 + - 0.78928643 + - 0.7907139 + - 0.79212844 + - 0.7935041 + - 0.794815 + - 0.7960352 + - 0.79713875 + - 0.79809976 + - 0.7988923 + - 0.7994905 + - 0.79986846 + - 0.8000002 + - 0.8001319 + - 0.80050987 + - 0.80110806 + - 0.8019006 + - 0.80286163 + - 0.8039652 + - 0.8051854 + - 0.80649626 + - 0.80787194 + - 0.8092865 + - 0.81071395 + - 0.8121285 + - 0.81350416 + - 0.81481504 + - 0.8160352 + - 0.8171388 + - 0.8180998 + - 0.81889236 + - 0.81949055 + - 0.8198685 + - 0.82000023 + - 0.82013196 + - 0.8205099 + - 0.8211081 + - 0.82190067 + - 0.8228617 + - 0.82396525 + - 0.8251854 + - 0.8264963 + - 0.827872 + - 0.8292865 + - 0.830714 + - 0.8321285 + - 0.8335042 + - 0.8348151 + - 0.83603525 + - 0.83713883 + - 0.83809984 + - 0.8388924 + - 0.8394906 + - 0.83986855 + - 0.8400003 + - 0.840132 + - 0.84050995 + - 0.84110814 + - 0.8419007 + - 0.8428617 + - 0.8439653 + - 0.84518546 + - 0.84649634 + - 0.847872 + - 0.84928656 + - 0.850714 + - 0.85212857 + - 0.85350424 + - 0.8548151 + - 0.8560353 + - 0.8571389 + - 0.8580999 + - 0.85889244 + - 0.85949063 + - 0.8598686 + - 0.8600003 + - 0.86013204 + - 0.86051 + - 0.8611082 + - 0.86190075 + - 0.86286175 + - 0.86396533 + - 0.8651855 + - 0.8664964 + - 0.86787206 + - 0.8692866 + - 0.87071407 + - 0.8721286 + - 0.8735043 + - 0.87481517 + - 0.87603533 + - 0.8771389 + - 0.8780999 + - 0.8788925 + - 0.8794907 + - 0.8798686 + - 0.88000035 + - 0.8801321 + - 0.88051003 + - 0.8811082 + - 0.8819008 + - 0.8828618 + - 0.8839654 + - 0.88518554 + - 0.8864964 + - 0.8878721 + - 0.88928664 + - 0.8907141 + - 0.89212865 + - 0.8935043 + - 0.8948152 + - 0.8960354 + - 0.89713895 + - 0.89809996 + - 0.8988925 + - 0.8994907 + - 0.89986867 + - 0.9000004 + - 0.9001321 + - 0.9005101 + - 0.90110826 + - 0.9019008 + - 0.90286183 + - 0.9039654 + - 0.9051856 + - 0.90649647 + - 0.90787214 + - 0.9092867 + - 0.91071415 + - 0.9121287 + - 0.91350436 + - 0.91481525 + - 0.9160354 + - 0.917139 + - 0.9181 + - 0.91889256 + - 0.91949075 + - 0.9198687 + - 0.92000043 + - 0.92013216 + - 0.9205101 + - 0.9211083 + - 0.92190087 + - 0.9228619 + - 0.92396545 + - 0.9251856 + - 0.9264965 + - 0.9278722 + - 0.9292867 + - 0.9307142 + - 0.9321287 + - 0.9335044 + - 0.9348153 + - 0.93603545 + - 0.93713903 + - 0.93810004 + - 0.9388926 + - 0.9394908 + - 0.93986875 + - 0.9400005 + - 0.9401322 + - 0.94051015 + - 0.94110835 + - 0.9419009 + - 0.9428619 + - 0.9439655 + - 0.94518566 + - 0.94649655 + - 0.9478722 + - 0.94928676 + - 0.95071423 + - 0.95212877 + - 0.95350444 + - 0.9548153 + - 0.9560355 + - 0.9571391 + - 0.9581001 + - 0.95889264 + - 0.95949084 + - 0.9598688 + - 0.9600005 + - 0.96013224 + - 0.9605102 + - 0.9611084 + - 0.96190095 + - 0.96286196 + - 0.96396554 + - 0.9651857 + - 0.9664966 + - 0.96787226 + - 0.9692868 + - 0.9707143 + - 0.9721288 + - 0.9735045 + - 0.97481537 + - 0.97603554 + - 0.9771391 + - 0.9781001 + - 0.9788927 + - 0.9794909 + - 0.9798688 + - 0.98000056 + - 0.9801323 + - 0.98051023 + - 0.9811084 + - 0.981901 + - 0.982862 + - 0.9839656 + - 0.98518574 + - 0.9864966 + - 0.9878723 + - 0.98928684 + - 0.9907143 + - 0.99212885 + - 0.9935045 + - 0.9948154 + - 0.9960356 + - 0.99713916 + - 0.99810016 + - 0.9988927 + - 0.9994909 + - 0.99986887 + - 1.0000006 + m_TotalSplineLenght: 1.0000006 + OnPathChanged: + m_PersistentCalls: + m_Calls: [] + OnControlPointAdded: + m_PersistentCalls: + m_Calls: [] + OnControlPointRemoved: + m_PersistentCalls: + m_Calls: [] + OnControlPointRenamed: + m_PersistentCalls: + m_Calls: [] + thickness: 1 + resolution: 1 + m_InterParticleDistance: 0.020408176 + totalParticles: 250 + m_RestLength: 5.0816307 + deformableEdges: 000000000100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000a0000000a0000000b0000000b0000000c0000000c0000000d0000000d0000000e0000000e0000000f0000000f00000010000000100000001100000011000000120000001200000013000000130000001400000014000000150000001500000016000000160000001700000017000000180000001800000019000000190000001a0000001a0000001b0000001b0000001c0000001c0000001d0000001d0000001e0000001e0000001f0000001f00000020000000200000002100000021000000220000002200000023000000230000002400000024000000250000002500000026000000260000002700000027000000280000002800000029000000290000002a0000002a0000002b0000002b0000002c0000002c0000002d0000002d0000002e0000002e0000002f0000002f000000300000003000000031000000 + restLengths: + - 0.04 + - 0.02 + - 0.02 + - 0.020000003 + - 0.019999996 + - 0.020000003 + - 0.019999996 + - 0.02000001 + - 0.019999996 + - 0.019999996 + - 0.019999996 + - 0.019999996 + - 0.02000001 + - 0.02000001 + - 0.01999998 + - 0.02000001 + - 0.02000001 + - 0.01999998 + - 0.02000001 + - 0.01999998 + - 0.02000001 + - 0.02000001 + - 0.01999998 + - 0.02000001 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.01999998 + - 0.02000004 + - 0.01999998 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0.020408176 + - 0 + pooledParticles: 200 +--- !u!114 &67709194264687420 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p7 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 07000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &262816939400952877 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p25 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 19000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &287939991765058668 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p18 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 12000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &460195745473698420 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p5 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 05000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &998006996089684737 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p29 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 1d000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &1035980269659598200 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p17 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 11000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &1141882874415177823 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p40 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 28000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &1766637912813151312 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p14 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 0e000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &2169038883279017432 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p23 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 17000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &2651645560330673569 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p21 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 15000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &3799096459669799552 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p28 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 1c000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &4354245337937157894 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p26 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 1a000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &4591736560844859121 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p19 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 13000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &5235348351035319175 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p8 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 08000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &5356683708585918033 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p0 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 00000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &5864741759467773053 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p10 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 0a000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &6474530038147832095 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p3 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 03000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &6738822463604952025 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p33 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 21000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &6895270607169468957 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p36 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 24000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &7179065444333116801 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p35 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 23000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &7303162662584375431 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p16 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 10000000 + m_Blueprint: {fileID: 11400000} +--- !u!114 &8218432548761523030 +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: 775ad4994fda946d1a5936c7e2dfc785, type: 3} + m_Name: p15 + m_EditorClassIdentifier: Obi::Obi.ObiParticleGroup + particleIndices: 0f000000 + m_Blueprint: {fileID: 11400000} diff --git a/Assets/ResRaw/Prefabs/Line/FishingRopeLong2.asset.meta b/Assets/ResRaw/Prefabs/Line/FishingRopeLong2.asset.meta new file mode 100644 index 000000000..5b4c1c21f --- /dev/null +++ b/Assets/ResRaw/Prefabs/Line/FishingRopeLong2.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 90165a559e0af984497f40ee19419ea5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResRaw/Prefabs/Line/fishing line float set.prefab b/Assets/ResRaw/Prefabs/Line/fishing line float set.prefab index db0fd1cac..d2be6ef7f 100644 --- a/Assets/ResRaw/Prefabs/Line/fishing line float set.prefab +++ b/Assets/ResRaw/Prefabs/Line/fishing line float set.prefab @@ -316,7 +316,7 @@ MonoBehaviour: _aerodynamicsEnabled: 1 _drag: 0.05 _lift: 0.02 - m_RopeBlueprint: {fileID: 11400000, guid: c29a67f2195883840b049b2c2a54a55c, type: 2} + m_RopeBlueprint: {fileID: 11400000, guid: 90165a559e0af984497f40ee19419ea5, type: 2} tearingEnabled: 0 tearResistanceMultiplier: 1000 tearRate: 1 @@ -325,9 +325,9 @@ MonoBehaviour: _stretchCompliance: 0 _maxCompression: 0 _bendConstraintsEnabled: 1 - _bendCompliance: 0 - _maxBending: 0.05 - _plasticYield: 0 + _bendCompliance: 0.5 + _maxBending: 0.5 + _plasticYield: 0.1 _plasticCreep: 0 --- !u!23 &23649574223012002 MeshRenderer: @@ -413,7 +413,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c4747da60837c44f9ba4b4a86879bcc8, type: 3} m_Name: m_EditorClassIdentifier: - material: {fileID: 0} + material: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} renderParameters: layer: 0 lightProbeUsage: 1 @@ -441,7 +441,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Actor: {fileID: 114612983243751934} m_Target: {fileID: 0} - m_ParticleGroup: {fileID: -5395693579433732326, guid: c29a67f2195883840b049b2c2a54a55c, type: 2} + m_ParticleGroup: {fileID: 5356683708585918033, guid: 90165a559e0af984497f40ee19419ea5, type: 2} m_AttachmentType: 0 m_ConstrainOrientation: 0 m_Projection: 0 @@ -461,7 +461,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Actor: {fileID: 114612983243751934} m_Target: {fileID: 4530253318796540} - m_ParticleGroup: {fileID: -2515171973132415257, guid: c29a67f2195883840b049b2c2a54a55c, type: 2} + m_ParticleGroup: {fileID: -6506362155496508246, guid: 90165a559e0af984497f40ee19419ea5, type: 2} m_AttachmentType: 0 m_ConstrainOrientation: 0 m_Projection: 0 @@ -550,7 +550,7 @@ Transform: m_GameObject: {fileID: 1035052809208993} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalPosition: {x: 0, y: -1.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -804,7 +804,7 @@ Transform: m_GameObject: {fileID: 1858052053854210} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.5, z: 0} + m_LocalPosition: {x: 0, y: -1, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -988,7 +988,7 @@ Transform: m_GameObject: {fileID: 1933124697579601} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.5, z: 0} + m_LocalPosition: {x: 0, y: -1, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -1148,9 +1148,9 @@ MonoBehaviour: _stretchCompliance: 0 _maxCompression: 0 _bendConstraintsEnabled: 1 - _bendCompliance: 0 - _maxBending: 0.05 - _plasticYield: 0 + _bendCompliance: 0.5 + _maxBending: 0.5 + _plasticYield: 0.1 _plasticCreep: 0 --- !u!23 &23047835326758575 MeshRenderer: @@ -1236,7 +1236,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c4747da60837c44f9ba4b4a86879bcc8, type: 3} m_Name: m_EditorClassIdentifier: - material: {fileID: 0} + material: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} renderParameters: layer: 0 lightProbeUsage: 1 diff --git a/Assets/Scenes/RopeTest.unity b/Assets/Scenes/RopeTest.unity index f2c5d24e9..ec950c43d 100644 --- a/Assets/Scenes/RopeTest.unity +++ b/Assets/Scenes/RopeTest.unity @@ -119,6 +119,52 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &190947007 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 190947009} + - component: {fileID: 190947008} + m_Layer: 0 + m_Name: BurstCollisionWorld + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &190947008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 190947007} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f1a161c4294214a4fbcb7e9e94800494, type: 3} + m_Name: + m_EditorClassIdentifier: Obi::Obi.BurstColliderWorld + cellSpans: + m_AlignBytes: 16 +--- !u!4 &190947009 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 190947007} + serializedVersion: 2 + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &203844586 GameObject: m_ObjectHideFlags: 0 @@ -246,7 +292,7 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &369175578 +--- !u!1 &204056484 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -254,36 +300,565 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 369175580} - - component: {fileID: 369175579} + - component: {fileID: 204056485} + - component: {fileID: 204056488} + - component: {fileID: 204056487} + - component: {fileID: 204056486} m_Layer: 0 - m_Name: BurstCollisionWorld + m_Name: Obi Rope m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &369175579 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 369175578} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f1a161c4294214a4fbcb7e9e94800494, type: 3} - m_Name: - m_EditorClassIdentifier: Obi::Obi.BurstColliderWorld - cellSpans: - m_AlignBytes: 16 ---- !u!4 &369175580 +--- !u!4 &204056485 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 369175578} + m_GameObject: {fileID: 204056484} + serializedVersion: 2 + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1601278529} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &204056486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 204056484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c4747da60837c44f9ba4b4a86879bcc8, type: 3} + m_Name: + m_EditorClassIdentifier: Obi::Obi.ObiRopeExtrudedRenderer + material: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + renderParameters: + layer: 0 + lightProbeUsage: 1 + reflectionProbeUsage: 1 + shadowCastingMode: 1 + receiveShadows: 1 + motionVectors: 0 + renderingLayerMask: 4294967295 + uvAnchor: 0 + uvScale: {x: 1, y: 1} + normalizeV: 1 + section: {fileID: 11400000, guid: a0bc36a59515f413e90e10895929c938, type: 2} + thicknessScale: 0.8 +--- !u!114 &204056487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 204056484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 958c969cfb16745f192d4d7bd28b7178, type: 3} + m_Name: + m_EditorClassIdentifier: Obi::Obi.ObiPathSmoother + decimation: 0 + smoothing: 0 + twist: 0 + indexInSystem: 0 +--- !u!114 &204056488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 204056484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 61104f33a3f344db9b7e0d0cda41a9fb, type: 3} + m_Name: + m_EditorClassIdentifier: Obi::Obi.ObiRope + solverIndices: + serializedContents: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c0000007d0000007e0000007f000000800000008100000082000000830000008400000085000000860000008700000088000000890000008a0000008b0000008c0000008d0000008e0000008f000000900000009100000092000000930000009400000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f000000a0000000a1000000a2000000a3000000a4000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000ad000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba000000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d4000000d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000ee000000ef000000f0000000f1000000f2000000f3000000f4000000f5000000f6000000f7000000f8000000f9000000 + m_AlignBytes: 16 + groupID: 1 + m_CollisionMaterial: {fileID: 0} + m_SurfaceCollisions: 0 + m_MassScale: 1 + m_SelfCollisions: 0 + restLength_: 1 + elements: + - particle1: 0 + particle2: 1 + restLength: 0.04 + constraintForce: 0 + tearResistance: 1 + - particle1: 1 + particle2: 2 + restLength: 0.02 + constraintForce: 0 + tearResistance: 1 + - particle1: 2 + particle2: 3 + restLength: 0.02 + constraintForce: 0 + tearResistance: 1 + - particle1: 3 + particle2: 4 + restLength: 0.020000003 + constraintForce: 0 + tearResistance: 1 + - particle1: 4 + particle2: 5 + restLength: 0.019999996 + constraintForce: 0 + tearResistance: 1 + - particle1: 5 + particle2: 6 + restLength: 0.020000003 + constraintForce: 0 + tearResistance: 1 + - particle1: 6 + particle2: 7 + restLength: 0.019999996 + constraintForce: 0 + tearResistance: 1 + - particle1: 7 + particle2: 8 + restLength: 0.02000001 + constraintForce: 0 + tearResistance: 1 + - particle1: 8 + particle2: 9 + restLength: 0.019999996 + constraintForce: 0 + tearResistance: 1 + - particle1: 9 + particle2: 10 + restLength: 0.019999996 + constraintForce: 0 + tearResistance: 1 + - particle1: 10 + particle2: 11 + restLength: 0.019999996 + constraintForce: 0 + tearResistance: 1 + - particle1: 11 + particle2: 12 + restLength: 0.019999996 + constraintForce: 0 + tearResistance: 1 + - particle1: 12 + particle2: 13 + restLength: 0.02000001 + constraintForce: 0 + tearResistance: 1 + - particle1: 13 + particle2: 14 + restLength: 0.02000001 + constraintForce: 0 + tearResistance: 1 + - particle1: 14 + particle2: 15 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 15 + particle2: 16 + restLength: 0.02000001 + constraintForce: 0 + tearResistance: 1 + - particle1: 16 + particle2: 17 + restLength: 0.02000001 + constraintForce: 0 + tearResistance: 1 + - particle1: 17 + particle2: 18 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 18 + particle2: 19 + restLength: 0.02000001 + constraintForce: 0 + tearResistance: 1 + - particle1: 19 + particle2: 20 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 20 + particle2: 21 + restLength: 0.02000001 + constraintForce: 0 + tearResistance: 1 + - particle1: 21 + particle2: 22 + restLength: 0.02000001 + constraintForce: 0 + tearResistance: 1 + - particle1: 22 + particle2: 23 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 23 + particle2: 24 + restLength: 0.02000001 + constraintForce: 0 + tearResistance: 1 + - particle1: 24 + particle2: 25 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 25 + particle2: 26 + restLength: 0.02000004 + constraintForce: 0 + tearResistance: 1 + - particle1: 26 + particle2: 27 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 27 + particle2: 28 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 28 + particle2: 29 + restLength: 0.02000004 + constraintForce: 0 + tearResistance: 1 + - particle1: 29 + particle2: 30 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 30 + particle2: 31 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 31 + particle2: 32 + restLength: 0.02000004 + constraintForce: 0 + tearResistance: 1 + - particle1: 32 + particle2: 33 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 33 + particle2: 34 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 34 + particle2: 35 + restLength: 0.02000004 + constraintForce: 0 + tearResistance: 1 + - particle1: 35 + particle2: 36 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 36 + particle2: 37 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 37 + particle2: 38 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 38 + particle2: 39 + restLength: 0.02000004 + constraintForce: 0 + tearResistance: 1 + - particle1: 39 + particle2: 40 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 40 + particle2: 41 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 41 + particle2: 42 + restLength: 0.02000004 + constraintForce: 0 + tearResistance: 1 + - particle1: 42 + particle2: 43 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 43 + particle2: 44 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 44 + particle2: 45 + restLength: 0.02000004 + constraintForce: 0 + tearResistance: 1 + - particle1: 45 + particle2: 46 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 46 + particle2: 47 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + - particle1: 47 + particle2: 48 + restLength: 0.02000004 + constraintForce: 0 + tearResistance: 1 + - particle1: 48 + particle2: 49 + restLength: 0.01999998 + constraintForce: 0 + tearResistance: 1 + _aerodynamicsEnabled: 1 + _drag: 0.05 + _lift: 0.02 + m_RopeBlueprint: {fileID: 11400000, guid: 90165a559e0af984497f40ee19419ea5, type: 2} + tearingEnabled: 0 + tearResistanceMultiplier: 1000 + tearRate: 1 + _distanceConstraintsEnabled: 1 + _stretchingScale: 1 + _stretchCompliance: 0 + _maxCompression: 0 + _bendConstraintsEnabled: 1 + _bendCompliance: 0 + _maxBending: 0.025 + _plasticYield: 0 + _plasticCreep: 0 +--- !u!1 &337505875 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 337505879} + - component: {fileID: 337505878} + - component: {fileID: 337505877} + - component: {fileID: 337505876} + m_Layer: 0 + m_Name: FloatRope + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &337505876 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 337505875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8d8b3d7293da4ed8736330164944ddd3, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::PhysicsTools.Rope + ropeGameplayType: 0 + startJointSpringy: 0 + startJtSpring: + spring: 30000 + damper: 30000 + endJointSpringy: 0 + endJtSpring: + spring: 30000 + damper: 30000 + strStaticBones: + ropeMaterial: {fileID: 0} + lstComponentsCreated: [] + HideChildren: 0 + loggingType: 1 + ropeType: 0 + numControlPoints: 2 + controlPoints: + - obj: {fileID: 0} + localPos: {x: 0, y: 0, z: 0} + slackFraction: 1 + attached: 1 + - obj: {fileID: 0} + localPos: {x: 0, y: 0, z: 0} + slackFraction: 1 + attached: 1 + startPosition: {fileID: 0} + rate: 0 + gravity: 1 + kinematic: 0 + firstBone: {fileID: 0} + lastBone: {fileID: 0} + sendRopeEvents: 0 + rendererType: 1 + linkMesh: + modifiedMesh: {fileID: 0} + transform: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + defaultMesh: {fileID: 0} + defaultMeshMaterial: {fileID: 0} + defaultTransform: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} + meshMaterial: {fileID: 0} + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0} + scale: {x: 1, y: 1, z: 1} + continuousMaterial: {fileID: 2100000, guid: 7d04b7fb130c2c843a3545164f56e8f4, type: 2} + meshRenderer: {fileID: 0} + meshFilter: {fileID: 0} + useColliders: 1 + radiusFactor: 0.1 + segmentBordersScaleFactor: 1.75 + useSegmentBordersOffset: 1 + segPropertyType: 0 + segPropertiesBox: + massPerUnitLength: 10 + solverCount: 255 + length: 1 + linearDamping: 0.01 + angularDamping: 0.01 + width: 0.05 + height: 0.2 + segPropertiesCylinder: + massPerUnitLength: 0.1 + solverCount: 255 + length: 0.2 + linearDamping: 0.1 + angularDamping: 1 + radius: 0.03 + jointProp: + type: 0 + twistLimitDeg: 180 + swingLimitDeg: 70 + offsetScale: 0 + twistOffsetDeg: 0 + breakingForce: 0 + projectionDistance: 0.02 + projectionDistanceFirst: 0.02 + totalLengthGet: 0 + tensionGet: 0 + totalLength: 0 + totalLengthColliders: 0 + ropeStretchThreshold: -1 + textureLength: 0.33 +--- !u!23 &337505877 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 337505875} + 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_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &337505878 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 337505875} + m_Mesh: {fileID: 0} +--- !u!4 &337505879 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 337505875} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -429,6 +1004,222 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1264227897 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1264227901} + - component: {fileID: 1264227900} + - component: {fileID: 1264227899} + - component: {fileID: 1264227898} + m_Layer: 0 + m_Name: NormalRope + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1264227898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1264227897} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8d8b3d7293da4ed8736330164944ddd3, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::PhysicsTools.Rope + ropeGameplayType: 0 + startJointSpringy: 0 + startJtSpring: + spring: 30000 + damper: 30000 + endJointSpringy: 0 + endJtSpring: + spring: 30000 + damper: 30000 + strStaticBones: + ropeMaterial: {fileID: 0} + lstComponentsCreated: [] + HideChildren: 0 + loggingType: 1 + ropeType: 0 + numControlPoints: 2 + controlPoints: + - obj: {fileID: 0} + localPos: {x: 0, y: 0, z: 0} + slackFraction: 1 + attached: 1 + - obj: {fileID: 0} + localPos: {x: 0, y: 0, z: 0} + slackFraction: 1 + attached: 1 + startPosition: {fileID: 2055159199} + rate: 0 + gravity: 5 + kinematic: 0 + firstBone: {fileID: 0} + lastBone: {fileID: 0} + sendRopeEvents: 0 + rendererType: 1 + linkMesh: + modifiedMesh: {fileID: 0} + transform: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + defaultMesh: {fileID: 0} + defaultMeshMaterial: {fileID: 0} + defaultTransform: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} + meshMaterial: {fileID: 0} + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0} + scale: {x: 1, y: 1, z: 1} + continuousMaterial: {fileID: 2100000, guid: 7d04b7fb130c2c843a3545164f56e8f4, type: 2} + meshRenderer: {fileID: 1264227899} + meshFilter: {fileID: 1264227900} + useColliders: 0 + radiusFactor: 0.1 + segmentBordersScaleFactor: 0.5 + useSegmentBordersOffset: 1 + segPropertyType: 0 + segPropertiesBox: + massPerUnitLength: 10 + solverCount: 255 + length: 1 + linearDamping: 0.01 + angularDamping: 0.01 + width: 0.05 + height: 0.2 + segPropertiesCylinder: + massPerUnitLength: 0.05 + solverCount: 255 + length: 0.75 + linearDamping: 1 + angularDamping: 4 + radius: 0.03 + jointProp: + type: 0 + twistLimitDeg: 180 + swingLimitDeg: 10 + offsetScale: 0 + twistOffsetDeg: 0 + breakingForce: 0 + projectionDistance: 0.04 + projectionDistanceFirst: 0.002 + totalLengthGet: 0 + tensionGet: 0 + totalLength: 0 + totalLengthColliders: 0 + ropeStretchThreshold: -1 + textureLength: 0.33 +--- !u!23 &1264227899 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1264227897} + 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_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1264227900 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1264227897} + m_Mesh: {fileID: 0} +--- !u!4 &1264227901 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1264227897} + serializedVersion: 2 + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1482833884 GameObject: m_ObjectHideFlags: 0 @@ -540,6 +1331,189 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1482833884} m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1601278527 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1601278529} + - component: {fileID: 1601278528} + m_Layer: 0 + m_Name: Obi Solver + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1601278528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601278527} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9d174fab52f0c4b8399f25d5c3ea524c, type: 3} + m_Name: + m_EditorClassIdentifier: Obi::Obi.ObiSolver + simulateWhenInvisible: 1 + m_Backend: 1 + substeps: 4 + maxStepsPerFrame: 1 + synchronization: 0 + parameters: + mode: 0 + interpolation: 0 + gravity: {x: 0, y: -9.81, z: 0} + ambientWind: {x: 0, y: 0, z: 0} + foamGravityScale: 1 + damping: 0 + maxAnisotropy: 3 + sleepThreshold: 0.0005 + maxVelocity: 50 + maxAngularVelocity: 20 + collisionMargin: 0.02 + maxDepenetration: 10 + colliderCCD: 1 + particleCCD: 0 + shockPropagation: 0 + surfaceCollisionIterations: 8 + surfaceCollisionTolerance: 0.005 + diffusionMask: {x: 1, y: 1, z: 1, w: 1} + m_MaxSurfaceChunks: 32768 + maxQueryResults: 8192 + maxFoamParticles: 8192 + maxParticleNeighbors: 128 + maxParticleContacts: 6 + useLimits: 0 + killOffLimitsParticles: 0 + boundaryLimits: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 5, y: 5, z: 5} + gravity: {x: 0, y: -9.81, z: 0} + gravitySpace: 1 + ambientWind: {x: 0, y: 0, z: 0} + windSpace: 1 + foamSubsteps: 1 + foamMinNeighbors: 3 + foamCollisions: 0 + maxFoamVelocityStretch: 0.3 + foamRadiusScale: 1 + foamFade: {x: 0.05, y: 0.8} + foamAccelAgingRange: {x: 0.5, y: 0.8} + foamAccelAging: 4 + foamVolumeDensity: 0.1 + foamAmbientDensity: 0.02 + foamScatterColor: {r: 0.8, g: 0.75, b: 0.7, a: 1} + foamAmbientColor: {r: 0.4, g: 0.5, b: 0.6, a: 1} + worldLinearInertiaScale: 0 + worldAngularInertiaScale: 0 + synchronousSpatialQueries: 0 + distanceConstraintParameters: + evaluationOrder: 0 + iterations: 1 + SORFactor: 1 + enabled: 1 + bendingConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + particleCollisionConstraintParameters: + evaluationOrder: 0 + iterations: 1 + SORFactor: 1 + enabled: 1 + particleFrictionConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + collisionConstraintParameters: + evaluationOrder: 0 + iterations: 1 + SORFactor: 1 + enabled: 1 + frictionConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + skinConstraintParameters: + evaluationOrder: 0 + iterations: 1 + SORFactor: 1 + enabled: 1 + volumeConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + shapeMatchingConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + tetherConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + pinConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + pinholeConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + stitchConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + densityConstraintParameters: + evaluationOrder: 1 + iterations: 1 + SORFactor: 1 + enabled: 1 + stretchShearConstraintParameters: + evaluationOrder: 0 + iterations: 1 + SORFactor: 1 + enabled: 1 + bendTwistConstraintParameters: + evaluationOrder: 0 + iterations: 1 + SORFactor: 1 + enabled: 1 + chainConstraintParameters: + evaluationOrder: 0 + iterations: 1 + SORFactor: 1 + enabled: 0 +--- !u!4 &1601278529 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601278527} + serializedVersion: 2 + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 204056485} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1694612696 GameObject: m_ObjectHideFlags: 0 @@ -891,6 +1865,10 @@ PrefabInstance: propertyPath: m_Name value: LineSolver objectReference: {fileID: 0} + - target: {fileID: 3385956386580495472, guid: 865b58fce3190254c8f19f70f294a0da, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: @@ -1283,7 +2261,7 @@ Transform: m_GameObject: {fileID: 6842031574826573826} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.5, z: 0} + m_LocalPosition: {x: 0, y: -1, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -1490,7 +2468,7 @@ Transform: m_GameObject: {fileID: 6841953815286540369} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.5, z: 0} + m_LocalPosition: {x: 0, y: -1, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -1772,20 +2750,15 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: solverIndices: - serializedContents: 7d0000007e0000007f000000800000008100000082000000830000008400000085000000860000008700000088000000890000008a0000008b0000008c0000008d0000008e0000008f000000900000009100000092000000930000009400000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f000000a0000000a1000000a2000000a3000000a4000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000ad000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba000000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d4000000d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000ee000000ef000000f0000000f1000000f2000000f3000000f4000000f5000000f6000000f7000000f8000000f9000000fa000000fb000000fc000000fd000000fe000000ff000000000100000101000002010000030100000401000005010000060100000701000008010000090100000a0100000b0100000c0100000d0100000e0100000f01000010010000110100001201000013010000 + serializedContents: m_AlignBytes: 16 groupID: 2 m_CollisionMaterial: {fileID: 0} m_SurfaceCollisions: 0 m_MassScale: 1 m_SelfCollisions: 0 - restLength_: 0.5 + restLength_: 1 elements: - - particle1: 125 - particle2: 126 - restLength: 0.01 - constraintForce: 0 - tearResistance: 1 - particle1: 126 particle2: 127 restLength: 0.01 @@ -1803,32 +2776,32 @@ MonoBehaviour: tearResistance: 1 - particle1: 129 particle2: 130 - restLength: 0.010000002 + restLength: 0.01 constraintForce: 0 tearResistance: 1 - particle1: 130 particle2: 131 - restLength: 0.009999998 + restLength: 0.010000002 constraintForce: 0 tearResistance: 1 - particle1: 131 particle2: 132 - restLength: 0.010000002 + restLength: 0.009999998 constraintForce: 0 tearResistance: 1 - particle1: 132 particle2: 133 - restLength: 0.009999998 + restLength: 0.010000002 constraintForce: 0 tearResistance: 1 - particle1: 133 particle2: 134 - restLength: 0.010000005 + restLength: 0.009999998 constraintForce: 0 tearResistance: 1 - particle1: 134 particle2: 135 - restLength: 0.009999998 + restLength: 0.010000005 constraintForce: 0 tearResistance: 1 - particle1: 135 @@ -1848,7 +2821,7 @@ MonoBehaviour: tearResistance: 1 - particle1: 138 particle2: 139 - restLength: 0.010000005 + restLength: 0.009999998 constraintForce: 0 tearResistance: 1 - particle1: 139 @@ -1858,12 +2831,12 @@ MonoBehaviour: tearResistance: 1 - particle1: 140 particle2: 141 - restLength: 0.00999999 + restLength: 0.010000005 constraintForce: 0 tearResistance: 1 - particle1: 141 particle2: 142 - restLength: 0.010000005 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 142 @@ -1873,22 +2846,22 @@ MonoBehaviour: tearResistance: 1 - particle1: 143 particle2: 144 - restLength: 0.00999999 + restLength: 0.010000005 constraintForce: 0 tearResistance: 1 - particle1: 144 particle2: 145 - restLength: 0.010000005 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 145 particle2: 146 - restLength: 0.00999999 + restLength: 0.010000005 constraintForce: 0 tearResistance: 1 - particle1: 146 particle2: 147 - restLength: 0.010000005 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 147 @@ -1898,27 +2871,27 @@ MonoBehaviour: tearResistance: 1 - particle1: 148 particle2: 149 - restLength: 0.00999999 + restLength: 0.010000005 constraintForce: 0 tearResistance: 1 - particle1: 149 particle2: 150 - restLength: 0.010000005 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 150 particle2: 151 - restLength: 0.00999999 + restLength: 0.010000005 constraintForce: 0 tearResistance: 1 - particle1: 151 particle2: 152 - restLength: 0.01000002 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 152 particle2: 153 - restLength: 0.00999999 + restLength: 0.01000002 constraintForce: 0 tearResistance: 1 - particle1: 153 @@ -1928,12 +2901,12 @@ MonoBehaviour: tearResistance: 1 - particle1: 154 particle2: 155 - restLength: 0.01000002 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 155 particle2: 156 - restLength: 0.00999999 + restLength: 0.01000002 constraintForce: 0 tearResistance: 1 - particle1: 156 @@ -1943,12 +2916,12 @@ MonoBehaviour: tearResistance: 1 - particle1: 157 particle2: 158 - restLength: 0.01000002 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 158 particle2: 159 - restLength: 0.00999999 + restLength: 0.01000002 constraintForce: 0 tearResistance: 1 - particle1: 159 @@ -1958,12 +2931,12 @@ MonoBehaviour: tearResistance: 1 - particle1: 160 particle2: 161 - restLength: 0.01000002 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 161 particle2: 162 - restLength: 0.00999999 + restLength: 0.01000002 constraintForce: 0 tearResistance: 1 - particle1: 162 @@ -1978,12 +2951,12 @@ MonoBehaviour: tearResistance: 1 - particle1: 164 particle2: 165 - restLength: 0.01000002 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 165 particle2: 166 - restLength: 0.00999999 + restLength: 0.01000002 constraintForce: 0 tearResistance: 1 - particle1: 166 @@ -1993,12 +2966,12 @@ MonoBehaviour: tearResistance: 1 - particle1: 167 particle2: 168 - restLength: 0.01000002 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 168 particle2: 169 - restLength: 0.00999999 + restLength: 0.01000002 constraintForce: 0 tearResistance: 1 - particle1: 169 @@ -2008,12 +2981,12 @@ MonoBehaviour: tearResistance: 1 - particle1: 170 particle2: 171 - restLength: 0.01000002 + restLength: 0.00999999 constraintForce: 0 tearResistance: 1 - particle1: 171 particle2: 172 - restLength: 0.00999999 + restLength: 0.01000002 constraintForce: 0 tearResistance: 1 - particle1: 172 @@ -2023,18 +2996,118 @@ MonoBehaviour: tearResistance: 1 - particle1: 173 particle2: 174 - restLength: 0.01000002 + restLength: 0.02412942 constraintForce: 0 tearResistance: 1 - particle1: 174 particle2: 175 - restLength: 0.00999999 + restLength: 0.024689138 + constraintForce: 0 + tearResistance: 1 + - particle1: 175 + particle2: 176 + restLength: 0.024504185 + constraintForce: 0 + tearResistance: 1 + - particle1: 176 + particle2: 177 + restLength: 0.024640024 + constraintForce: 0 + tearResistance: 1 + - particle1: 177 + particle2: 178 + restLength: 0.024379015 + constraintForce: 0 + tearResistance: 1 + - particle1: 178 + particle2: 179 + restLength: 0.024438322 + constraintForce: 0 + tearResistance: 1 + - particle1: 179 + particle2: 180 + restLength: 0.024568558 + constraintForce: 0 + tearResistance: 1 + - particle1: 180 + particle2: 181 + restLength: 0.024623036 + constraintForce: 0 + tearResistance: 1 + - particle1: 181 + particle2: 182 + restLength: 0.024484038 + constraintForce: 0 + tearResistance: 1 + - particle1: 182 + particle2: 183 + restLength: 0.024544239 + constraintForce: 0 + tearResistance: 1 + - particle1: 183 + particle2: 184 + restLength: 0.0245471 + constraintForce: 0 + tearResistance: 1 + - particle1: 184 + particle2: 185 + restLength: 0.024483979 + constraintForce: 0 + tearResistance: 1 + - particle1: 185 + particle2: 186 + restLength: 0.024620295 + constraintForce: 0 + tearResistance: 1 + - particle1: 186 + particle2: 187 + restLength: 0.024568498 + constraintForce: 0 + tearResistance: 1 + - particle1: 187 + particle2: 188 + restLength: 0.024438322 + constraintForce: 0 + tearResistance: 1 + - particle1: 188 + particle2: 189 + restLength: 0.024379075 + constraintForce: 0 + tearResistance: 1 + - particle1: 189 + particle2: 190 + restLength: 0.02464205 + constraintForce: 0 + tearResistance: 1 + - particle1: 190 + particle2: 191 + restLength: 0.024502158 + constraintForce: 0 + tearResistance: 1 + - particle1: 191 + particle2: 192 + restLength: 0.024687767 + constraintForce: 0 + tearResistance: 1 + - particle1: 192 + particle2: 193 + restLength: 0.024130762 + constraintForce: 0 + tearResistance: 1 + - particle1: 193 + particle2: 194 + restLength: 0.02000004 + constraintForce: 0 + tearResistance: 1 + - particle1: 194 + particle2: 195 + restLength: 0.01999998 constraintForce: 0 tearResistance: 1 _aerodynamicsEnabled: 1 _drag: 0.05 _lift: 0.02 - m_RopeBlueprint: {fileID: 11400000, guid: c29a67f2195883840b049b2c2a54a55c, type: 2} + m_RopeBlueprint: {fileID: 0} tearingEnabled: 0 tearResistanceMultiplier: 1000 tearRate: 1 @@ -2106,7 +3179,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: solverIndices: - serializedContents: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f000000700000007100000072000000730000007400000075000000760000007700000078000000790000007a0000007b0000007c000000 + serializedContents: m_AlignBytes: 16 groupID: 1 m_CollisionMaterial: {fileID: 0} @@ -2342,4 +3415,7 @@ SceneRoots: - {fileID: 203844589} - {fileID: 2055159199} - {fileID: 5634959157749674791} - - {fileID: 369175580} + - {fileID: 1264227901} + - {fileID: 337505879} + - {fileID: 1601278529} + - {fileID: 190947009} diff --git a/Assets/Scripts/Fishing/Player/FPlayer.cs b/Assets/Scripts/Fishing/Player/FPlayer.cs index 2a4c729ac..224d7e276 100644 --- a/Assets/Scripts/Fishing/Player/FPlayer.cs +++ b/Assets/Scripts/Fishing/Player/FPlayer.cs @@ -144,5 +144,15 @@ namespace NBF } #endregion + + /// + /// 线断了 + /// + /// + /// + public void LineBreak(string msg, float loseBaitChance) + { + + } } } \ No newline at end of file diff --git a/Assets/Scripts/Fishing/Tackle/FRod.cs b/Assets/Scripts/Fishing/Tackle/FRod.cs index 7a03f6c1b..a8104e34c 100644 --- a/Assets/Scripts/Fishing/Tackle/FRod.cs +++ b/Assets/Scripts/Fishing/Tackle/FRod.cs @@ -49,12 +49,12 @@ namespace NBF /// /// 线长度 /// - public float lineLength = 1; + public float lineLength = 1.5f; /// /// 浮漂线长度 /// - public float floatLength = 0.1f; + public float floatLength = 0.5f; public float Tension { diff --git a/Assets/Scripts/PhysicsTools.meta b/Assets/Scripts/PhysicsTools.meta new file mode 100644 index 000000000..91a820e83 --- /dev/null +++ b/Assets/Scripts/PhysicsTools.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47fc822e51a6b074bb4b6bd67e69a457 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/Bezier.cs b/Assets/Scripts/PhysicsTools/Bezier.cs new file mode 100644 index 000000000..24f8b16da --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Bezier.cs @@ -0,0 +1,176 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace PhysicsTools +{ + public class Bezier + { + private Vector3[] knots; + + private Vector3[] firstControlPts; + + private Vector3[] secondControlPts; + + private int lastIndex = 1; + + private float lengthCovered; + + private float indexedLength; + + private float totalLength; + + public Bezier(List points) + { + Vector3[] array = new Vector3[points.Count]; + for (int i = 0; i < points.Count; i++) + { + array[i] = points[i].pos; + } + init(array); + } + + public Bezier(Vector3[] points) + { + init(points); + } + + private void init(Vector3[] points) + { + knots = new Vector3[points.Length]; + for (int i = 0; i < points.Length; i++) + { + knots[i] = points[i]; + if (i != 0) + { + totalLength += (knots[i] - knots[i - 1]).magnitude; + } + } + GetCurveControlPoints(knots, out firstControlPts, out secondControlPts); + indexedLength = (knots[1] - knots[0]).magnitude; + } + + public float TotalLength() + { + return totalLength; + } + + public PosOri getNext(float deltaLen) + { + return new PosOri(getNextPos(deltaLen), Quaternion.identity); + } + + public Vector3 getNextPos(float deltaLen) + { + bool flag = false; + float num = indexedLength; + float num2 = indexedLength; + while (!flag) + { + num = indexedLength; + num2 = indexedLength - (knots[lastIndex] - knots[lastIndex - 1]).magnitude; + if (lengthCovered + deltaLen > num) + { + lastIndex++; + if (lastIndex == knots.Length) + { + flag = true; + deltaLen = num - lengthCovered; + lastIndex = knots.Length - 1; + } + else + { + indexedLength += (knots[lastIndex] - knots[lastIndex - 1]).magnitude; + } + continue; + } + break; + } + float num3 = (lengthCovered + deltaLen - num2) / (num - num2); + Vector3 result = (float)Math.Pow(1f - num3, 3.0) * knots[lastIndex - 1] + 3f * (float)Math.Pow(1f - num3, 2.0) * num3 * firstControlPts[lastIndex - 1] + 3f * (1f - num3) * num3 * num3 * secondControlPts[lastIndex - 1] + num3 * num3 * num3 * knots[lastIndex]; + lengthCovered += deltaLen; + return result; + } + + private void GetCurveControlPoints(Vector3[] knots, out Vector3[] firstControlPoints, out Vector3[] secondControlPoints) + { + if (knots == null) + { + throw new ArgumentNullException("knots"); + } + int num = knots.Length - 1; + if (num < 1) + { + throw new ArgumentException("At least two knot points required", "knots"); + } + if (num == 1) + { + firstControlPoints = new Vector3[1]; + firstControlPoints[0].x = (2f * knots[0].x + knots[1].x) / 3f; + firstControlPoints[0].y = (2f * knots[0].y + knots[1].y) / 3f; + firstControlPoints[0].z = (2f * knots[0].z + knots[1].z) / 3f; + secondControlPoints = new Vector3[1]; + secondControlPoints[0].x = 2f * firstControlPoints[0].x - knots[0].x; + secondControlPoints[0].y = 2f * firstControlPoints[0].y - knots[0].y; + secondControlPoints[0].z = 2f * firstControlPoints[0].z - knots[0].z; + return; + } + float[] array = new float[num]; + for (int i = 1; i < num - 1; i++) + { + array[i] = 4f * knots[i].x + 2f * knots[i + 1].x; + } + array[0] = knots[0].x + 2f * knots[1].x; + array[num - 1] = (8f * knots[num - 1].x + knots[num].x) / 2f; + float[] firstControlPoints2 = GetFirstControlPoints(array); + for (int j = 1; j < num - 1; j++) + { + array[j] = 4f * knots[j].y + 2f * knots[j + 1].y; + } + array[0] = knots[0].y + 2f * knots[1].y; + array[num - 1] = (8f * knots[num - 1].y + knots[num].y) / 2f; + float[] firstControlPoints3 = GetFirstControlPoints(array); + for (int k = 1; k < num - 1; k++) + { + array[k] = 4f * knots[k].z + 2f * knots[k + 1].z; + } + array[0] = knots[0].z + 2f * knots[1].z; + array[num - 1] = (8f * knots[num - 1].z + knots[num].z) / 2f; + float[] firstControlPoints4 = GetFirstControlPoints(array); + firstControlPoints = new Vector3[num]; + secondControlPoints = new Vector3[num]; + for (int l = 0; l < num; l++) + { + firstControlPoints[l] = new Vector3(firstControlPoints2[l], firstControlPoints3[l], firstControlPoints4[l]); + if (l < num - 1) + { + secondControlPoints[l] = new Vector3(2f * knots[l + 1].x - firstControlPoints2[l + 1], 2f * knots[l + 1].y - firstControlPoints3[l + 1], 2f * knots[l + 1].z - firstControlPoints4[l + 1]); + } + else + { + secondControlPoints[l] = new Vector3((knots[num].x + firstControlPoints2[num - 1]) / 2f, (knots[num].y + firstControlPoints3[num - 1]) / 2f, (knots[num].z + firstControlPoints4[num - 1]) / 2f); + } + } + } + + private float[] GetFirstControlPoints(float[] rhs) + { + int num = rhs.Length; + float[] array = new float[num]; + float[] array2 = new float[num]; + float num2 = 2f; + array[0] = rhs[0] / num2; + for (int i = 1; i < num; i++) + { + array2[i] = 1f / num2; + num2 = ((i >= num - 1) ? 3.5f : 4f) - array2[i]; + array[i] = (rhs[i] - array[i - 1]) / num2; + } + for (int j = 1; j < num; j++) + { + array[num - j - 1] -= array2[num - j] * array[num - j]; + } + return array; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/Bezier.cs.meta b/Assets/Scripts/PhysicsTools/Bezier.cs.meta new file mode 100644 index 000000000..f2043f5bd --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Bezier.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9c65206b6e7283d4396bb4c47f4ddf88 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/BoneSegment.cs b/Assets/Scripts/PhysicsTools/BoneSegment.cs new file mode 100644 index 000000000..9ead86ac7 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/BoneSegment.cs @@ -0,0 +1,18 @@ +using UnityEngine; + +namespace PhysicsTools +{ + internal class BoneSegment : Segment + { + public GameObject bone; + + public Matrix4x4 initTransform; + + public BoneSegment(string name, float len, Vector3 pos, Quaternion q, SegmentPropertiesBase segProperties, Rope r, GameObject b) + : base(name, len, pos, q, segProperties, r) + { + bone = b; + initTransform = seg.transform.worldToLocalMatrix * bone.transform.localToWorldMatrix; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/BoneSegment.cs.meta b/Assets/Scripts/PhysicsTools/BoneSegment.cs.meta new file mode 100644 index 000000000..760ca6d72 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/BoneSegment.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 265d31d4ce3243c4cadb3a8ba8c80dae +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/ControlPoint.cs b/Assets/Scripts/PhysicsTools/ControlPoint.cs new file mode 100644 index 000000000..acfdc67ab --- /dev/null +++ b/Assets/Scripts/PhysicsTools/ControlPoint.cs @@ -0,0 +1,62 @@ +using System; +using UnityEngine; + +namespace PhysicsTools +{ + [Serializable] + public class ControlPoint + { + [Tooltip("Optional: Object")] + public GameObject obj; + + [Tooltip("Position through which rope will pass... If Object is specified then it is the local to the object otherwise it is global position")] + public Vector3 localPos; + + [Range(1f, 5f)] + [Tooltip("SlackFraction: How much of the rope length should be created between two control points... If it is more than 1 then a catenary is formed between the control points")] + public float slackFraction; + + [Tooltip("Specify whether it is attached to the control point or not")] + public bool attached; + + public ControlPoint() + { + obj = null; + slackFraction = 1f; + attached = true; + } + + public override string ToString() + { + return ((!(obj != null)) ? "Object: null" : ("Object:" + obj.ToString())) + ", Position: " + localPos.ToString() + ", SlackFraction: " + slackFraction + ", Attached: " + attached; + } + + public bool compare(ControlPoint rhs) + { + if (obj != rhs.obj || localPos != rhs.localPos || slackFraction != rhs.slackFraction || attached != rhs.attached) + { + return false; + } + return true; + } + + public ControlPoint clone() + { + ControlPoint controlPoint = new ControlPoint(); + controlPoint.obj = obj; + controlPoint.localPos = localPos; + controlPoint.slackFraction = slackFraction; + controlPoint.attached = attached; + return controlPoint; + } + + public Vector3 globalPos(Rope rope) + { + if (obj != null) + { + return obj.transform.TransformPoint(localPos); + } + return rope.transform.TransformPoint(localPos); + } + } +} diff --git a/Assets/Scripts/PhysicsTools/ControlPoint.cs.meta b/Assets/Scripts/PhysicsTools/ControlPoint.cs.meta new file mode 100644 index 000000000..bfbc2046e --- /dev/null +++ b/Assets/Scripts/PhysicsTools/ControlPoint.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 4c3919bd67247ecf47ac8b5970b70372 +timeCreated: 1771646562 +licenseType: Free +MonoImporter: + serializedVersion: 2 + name: + externalObjects: {} + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/Joint.cs b/Assets/Scripts/PhysicsTools/Joint.cs new file mode 100644 index 000000000..3a1d70e71 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Joint.cs @@ -0,0 +1,142 @@ +using UnityEngine; + +namespace PhysicsTools +{ + public class Joint + { + public UnityEngine.Joint joint; + + public Joint(Segment seg1, Segment seg2, JointProperties prop, SegmentPropertiesBase segProperties, Quaternion twistOffset) + { + if (seg2 == null) + { + } + seg2.seg.transform.rotation = seg2.seg.transform.rotation * twistOffset; + switch (prop.type) + { + case JointProperties.Type.HINGE_JOINT: + { + HingeJoint hingeJoint = seg1.seg.AddComponent(); + hingeJoint.autoConfigureConnectedAnchor = false; + joint = hingeJoint; + JointLimits limits = new JointLimits + { + min = 0f - prop.swingLimitDeg, + max = prop.swingLimitDeg + }; + joint.axis = new Vector3(0f, 0f, 1f); + hingeJoint.limits = limits; + break; + } + case JointProperties.Type.CONFIGURABLE_JOINT: + { + ConfigurableJoint configurableJoint = seg1.seg.AddComponent(); + configurableJoint.enableCollision = false; + configurableJoint.xMotion = ConfigurableJointMotion.Locked; + configurableJoint.yMotion = ConfigurableJointMotion.Locked; + configurableJoint.zMotion = ConfigurableJointMotion.Locked; + configurableJoint.angularXMotion = ConfigurableJointMotion.Limited; + configurableJoint.angularYMotion = ConfigurableJointMotion.Limited; + configurableJoint.angularZMotion = ConfigurableJointMotion.Limited; + configurableJoint.autoConfigureConnectedAnchor = false; + configurableJoint.lowAngularXLimit = new SoftJointLimit + { + limit = 0f - prop.twistLimitDeg + }; + configurableJoint.highAngularXLimit = new SoftJointLimit + { + limit = prop.twistLimitDeg + }; + configurableJoint.projectionMode = JointProjectionMode.PositionAndRotation; + configurableJoint.projectionDistance = prop.projectionDistance; + SoftJointLimit softJointLimit = new SoftJointLimit + { + limit = prop.swingLimitDeg + }; + configurableJoint.angularYLimit = softJointLimit; + configurableJoint.angularZLimit = softJointLimit; + joint = configurableJoint; + joint.axis = new Vector3(0f, 1f, 0f); + if (prop.breakingForce != 0f) + { + configurableJoint.breakForce = prop.breakingForce; + } + configurableJoint.enablePreprocessing = false; + break; + } + } + if (segProperties is SegmentPropertiesCylinder) + { + joint.anchor = new Vector3(0f, 1f - prop.offsetScale, 0f); + joint.connectedAnchor = new Vector3(0f, -1f + prop.offsetScale, 0f); + } + else + { + joint.anchor = new Vector3(0f, (1f - prop.offsetScale) / 2f, 0f); + joint.connectedAnchor = new Vector3(0f, (-1f + prop.offsetScale) / 2f, 0f); + } + joint.connectedBody = seg2.seg.GetComponent(); + } + + public Joint(GameObject seg1, GameObject seg2, Vector3 vGlobalAnchor, Vector3 vGlobalAxis, JointProperties prop, Rope r, int jtPos) + { + ConfigurableJoint configurableJoint = seg1.AddComponent(); + configurableJoint.enableCollision = false; + configurableJoint.xMotion = ConfigurableJointMotion.Limited; + configurableJoint.yMotion = ConfigurableJointMotion.Limited; + configurableJoint.zMotion = ConfigurableJointMotion.Limited; + configurableJoint.angularXMotion = ConfigurableJointMotion.Limited; + configurableJoint.angularYMotion = ConfigurableJointMotion.Free; + configurableJoint.angularZMotion = ConfigurableJointMotion.Free; + configurableJoint.anchor = seg1.transform.InverseTransformPoint(vGlobalAnchor); + configurableJoint.axis = seg1.transform.InverseTransformDirection(vGlobalAxis); + if (seg2 != null) + { + configurableJoint.connectedBody = seg2.GetComponent(); + } + SoftJointLimit linearLimit = new SoftJointLimit + { + limit = 0.01f + }; + SoftJointLimitSpring linearLimitSpring = default(SoftJointLimitSpring); + switch (jtPos) + { + case 0: + linearLimitSpring = r.getStartJtSpring(); + break; + case 1: + linearLimitSpring = r.getEndJtSpring(); + break; + default: + { + float damper = (linearLimitSpring.spring = 0f); + linearLimitSpring.damper = damper; + break; + } + } + if (linearLimitSpring.spring == 0f) + { + linearLimit.limit = 0f; + } + configurableJoint.linearLimitSpring = linearLimitSpring; + configurableJoint.linearLimit = linearLimit; + configurableJoint.projectionMode = JointProjectionMode.PositionAndRotation; + configurableJoint.projectionDistance = prop.projectionDistanceFirst; + configurableJoint.lowAngularXLimit = new SoftJointLimit + { + limit = 0f - prop.twistLimitDeg + }; + configurableJoint.highAngularXLimit = new SoftJointLimit + { + limit = prop.twistLimitDeg + }; + if (prop.breakingForce != 0f) + { + configurableJoint.breakForce = prop.breakingForce; + } + joint = configurableJoint; + configurableJoint.autoConfigureConnectedAnchor = false; + configurableJoint.enablePreprocessing = false; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/Joint.cs.meta b/Assets/Scripts/PhysicsTools/Joint.cs.meta new file mode 100644 index 000000000..64eeed7ec --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Joint.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 3e680fa725d3066a2472a42dc6f1ba88 +timeCreated: 1771646562 +licenseType: Free +MonoImporter: + serializedVersion: 2 + name: + externalObjects: {} + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/JointProperties.cs b/Assets/Scripts/PhysicsTools/JointProperties.cs new file mode 100644 index 000000000..4d7e2124b --- /dev/null +++ b/Assets/Scripts/PhysicsTools/JointProperties.cs @@ -0,0 +1,48 @@ +using System; +using UnityEngine; + +namespace PhysicsTools +{ + [Serializable] + public class JointProperties + { + [Serializable] + public enum Type + { + CONFIGURABLE_JOINT = 0, + HINGE_JOINT = 1 + } + + public Type type; + + [Range(0f, 180f)] + public float twistLimitDeg; + + [Range(0f, 180f)] + public float swingLimitDeg; + + [Range(0f, 0.5f)] + public float offsetScale; + + [Range(0f, 90f)] + public float twistOffsetDeg; + + public float breakingForce; + + public float projectionDistance; + + public float projectionDistanceFirst; + + public JointProperties() + { + type = Type.CONFIGURABLE_JOINT; + twistLimitDeg = 10f; + swingLimitDeg = 50f; + offsetScale = 0f; + twistOffsetDeg = 0f; + breakingForce = 0f; + projectionDistance = 0.1f; + projectionDistanceFirst = 0.001f; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/JointProperties.cs.meta b/Assets/Scripts/PhysicsTools/JointProperties.cs.meta new file mode 100644 index 000000000..849038ca7 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/JointProperties.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a0a2d569b86ab9e4f96ae4345b0340de +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/LinkMesh.cs b/Assets/Scripts/PhysicsTools/LinkMesh.cs new file mode 100644 index 000000000..dab64351a --- /dev/null +++ b/Assets/Scripts/PhysicsTools/LinkMesh.cs @@ -0,0 +1,89 @@ +using System; +using UnityEngine; + +namespace PhysicsTools +{ + [Serializable] + public class LinkMesh + { + [HideInInspector] + public Mesh modifiedMesh; + + [HideInInspector] + public Matrix4x4 transform; + + [HideInInspector] + public Mesh defaultMesh; + + [HideInInspector] + public Material defaultMeshMaterial; + + [HideInInspector] + public Matrix4x4 defaultTransform; + + public Mesh mesh; + + public Material meshMaterial; + + public Vector3 position; + + public Vector3 rotation; + + public Vector3 scale; + + public LinkMesh() + { + mesh = null; + position = new Vector3(0f, 0f, 0f); + rotation = new Vector3(0f, 0f, 0f); + scale = new Vector3(1f, 1f, 1f); + defaultTransform = default(Matrix4x4); + defaultTransform.SetTRS(position, Quaternion.Euler(rotation), scale); + transform = default(Matrix4x4); + transform.SetTRS(position, Quaternion.Euler(rotation), scale); + } + + public void update() + { + if (mesh == null) + { + mesh = defaultMesh; + transform = defaultTransform; + Quaternion rot; + Utility.MatrixToTRS(transform, out position, out rot, out scale); + rotation = rot.eulerAngles; + } + if (mesh != null) + { + modifiedMesh = UnityEngine.Object.Instantiate(mesh); + } + if (modifiedMesh != null) + { + transform.SetTRS(position, Quaternion.Euler(rotation), scale); + ScaleMesh(); + } + } + + public void ScaleMesh() + { + Vector3[] vertices = modifiedMesh.vertices; + for (int i = 0; i < vertices.Length; i++) + { + Vector3 point = vertices[i]; + point = transform.MultiplyPoint(point); + vertices[i] = point; + } + modifiedMesh.vertices = vertices; + } + + public Mesh getMesh() + { + return modifiedMesh; + } + + public Material getMaterial() + { + return null; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/LinkMesh.cs.meta b/Assets/Scripts/PhysicsTools/LinkMesh.cs.meta new file mode 100644 index 000000000..914d43d24 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/LinkMesh.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 88218b6dac3a1d87d3867523046c804d +timeCreated: 1771646562 +licenseType: Free +MonoImporter: + serializedVersion: 2 + name: + externalObjects: {} + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/PosOri.cs b/Assets/Scripts/PhysicsTools/PosOri.cs new file mode 100644 index 000000000..76c910095 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/PosOri.cs @@ -0,0 +1,19 @@ +using System; +using UnityEngine; + +namespace PhysicsTools +{ + [Serializable] + public class PosOri + { + public Vector3 pos; + + public Quaternion rot; + + public PosOri(Vector3 p, Quaternion q) + { + pos = p; + rot = q; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/PosOri.cs.meta b/Assets/Scripts/PhysicsTools/PosOri.cs.meta new file mode 100644 index 000000000..958aa1ffe --- /dev/null +++ b/Assets/Scripts/PhysicsTools/PosOri.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0da6209e0750de846b70cb074a64d5bc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/Rope.cs b/Assets/Scripts/PhysicsTools/Rope.cs new file mode 100644 index 000000000..c74bb87f2 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Rope.cs @@ -0,0 +1,1530 @@ +using System; +using System.Collections.Generic; +using NBF; +// using UltimateWater; +using UnityEngine; +using UnityEngine.Rendering; + +namespace PhysicsTools +{ + [RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))] + public class Rope : MonoBehaviour + { + public enum RopeGameplayType + { + NORMAL = 0, + ICE = 1, + FLOAT = 2 + } + + [Serializable] + public enum LOGGING + { + NONE = 0, + INFO = 1, + DEBUG = 2 + } + + [Serializable] + public enum RopeType + { + Procedural = 0, + FromBones = 1 + } + + [Serializable] + public enum RendererType + { + None = 0, + Continuous = 1, + Segment = 2 + } + + public delegate void BrokenHandler(object sender); + + public delegate void CreateHandler(object sender); + + public delegate void DeleteHandler(object sender); + + public RopeGameplayType ropeGameplayType; + + private List prevControlPoints = new List(); + + private bool prevKinematic = true; + + private bool prevHideChildren = true; + + private RendererType prevRendererType = RendererType.Continuous; + + public bool startJointSpringy; + + public SerializedSoftJointLimitSpring startJtSpring; + + public bool endJointSpringy; + + public SerializedSoftJointLimitSpring endJtSpring; + + private string prevStrStaticBones; + + public string strStaticBones; + + private HashSet staticBones = new HashSet(); + + public PhysicsMaterial ropeMaterial; + + private GameObject springHolder; + + private Joint springJoint; + + [HideInInspector] public List lstComponentsCreated = new List(); + + public bool HideChildren = true; + + public LOGGING loggingType = LOGGING.INFO; + + public RopeType ropeType; + + public int numControlPoints = 2; + + public List controlPoints = new List(); + + public Transform startPosition; + + public float rate; + + [Range(0f, 10f)] public float gravity = 1f; + + public bool kinematic = true; + + private GameObject prevFirstBone; + + private GameObject prevLastBone; + + public GameObject firstBone; + + public GameObject lastBone; + + public bool sendRopeEvents; + + public RendererType rendererType = RendererType.Continuous; + + public LinkMesh linkMesh = new LinkMesh(); + + public Material continuousMaterial; + + public MeshRenderer meshRenderer; + + public MeshFilter meshFilter; + + public bool useColliders = true; + + public float radiusFactor = 1f; + + public float segmentBordersScaleFactor = 1f; + + public bool useSegmentBordersOffset; + + public SegmentProperties.Type segPropertyType; + + public SegmentPropertiesBox segPropertiesBox = new SegmentPropertiesBox(); + + public SegmentPropertiesCylinder segPropertiesCylinder = new SegmentPropertiesCylinder(); + + public JointProperties jointProp = new JointProperties(); + + private int initialNumSegemnts; + + public List lstSegments = new List(); + + private Mesh mesh; + + private Vector3[] vertexBuffer; + + private Vector2[] uv; + + private int[] indexBuffer; + + private Vector4[] tangents; + + public float totalLengthGet; + + public float tensionGet; + + public float totalLength; + + public float totalLengthColliders; + + public float ropeStretchThreshold = -1f; + + public float textureLength = 0.33f; + + private int numCirclePt = 3; + + public event BrokenHandler Broken; + + public event CreateHandler Created; + + public event DeleteHandler Deleted; + + public void setStartJointSpring(SoftJointLimitSpring sp) + { + startJtSpring = (SerializedSoftJointLimitSpring)sp; + if (springJoint != null) + { + ConfigurableJoint configurableJoint = (ConfigurableJoint)springJoint.joint; + if (configurableJoint != null) + { + configurableJoint.linearLimitSpring = getStartJtSpring(); + configurableJoint.linearLimit = new SoftJointLimit + { + limit = 0.01f + }; + } + } + } + + public void setEndJointSpring(SoftJointLimitSpring sp) + { + endJtSpring = (SerializedSoftJointLimitSpring)sp; + if (lstSegments.Count != 0) + { + ConfigurableJoint configurableJoint = ((lstSegments[lstSegments.Count - 1].next == null) + ? null + : ((ConfigurableJoint)lstSegments[lstSegments.Count - 1].next.joint)); + if (configurableJoint != null) + { + configurableJoint.linearLimitSpring = getEndJtSpring(); + configurableJoint.linearLimit = new SoftJointLimit + { + limit = 0.01f + }; + } + } + } + + public SegmentPropertiesBase getSegmentProperties() + { + switch (segPropertyType) + { + case SegmentProperties.Type.BOX: + return segPropertiesBox; + case SegmentProperties.Type.CYLINDER: + return segPropertiesCylinder; + default: + return segPropertiesCylinder; + } + } + + public void setPhysicsMaterial(PhysicsMaterial mat) + { + foreach (Segment lstSegment in lstSegments) + { + lstSegment.capsuleCollider.sharedMaterial = mat; + } + } + + private void Debug(string msg, LOGGING type) + { + if (type <= loggingType) + { + UnityEngine.Debug.Log(msg, this); + } + } + + private void OnJointBreak(float breakForce) + { + if (sendRopeEvents && this.Broken != null) + { + this.Broken(this); + } + } + + public void setContinuousMaterialMapping(float f) + { + textureLength = f; + } + + public void setFirstBone(GameObject bone) + { + firstBone = bone; + } + + public void setLastBone(GameObject bone) + { + lastBone = bone; + } + + public List getSegments() + { + return lstSegments; + } + + public void setStaticBoneList(string str) + { + staticBones.Clear(); + str.Trim(); + if (str != string.Empty) + { + string[] array = str.Split(','); + string[] array2 = array; + foreach (string text in array2) + { + string[] array3 = text.Split('-'); + if (array3.Length == 1) + { + staticBones.Add(int.Parse(array3[0])); + } + else if (array3.Length == 2) + { + int num = int.Parse(array3[0]); + int num2 = int.Parse(array3[1]); + for (int j = num; j <= num2; j++) + { + staticBones.Add(j); + } + } + } + } + + strStaticBones = str; + prevStrStaticBones = str; + } + + public bool setControlPoints(List lstControlPoints) + { + if (numControlPoints < 2 && ropeType == RopeType.Procedural) + { + throw new ArgumentException("Control points should be more than 1"); + } + + bool flag = false; + if (numControlPoints != lstControlPoints.Count) + { + while (lstControlPoints.Count < numControlPoints) + { + lstControlPoints.Add(new ControlPoint()); + } + + while (lstControlPoints.Count > numControlPoints) + { + lstControlPoints.RemoveAt(lstControlPoints.Count - 1); + } + + flag = true; + } + + for (int i = 0; i < lstControlPoints.Count; i++) + { + if (i < prevControlPoints.Count && !lstControlPoints[i].compare(prevControlPoints[i])) + { + flag = true; + break; + } + } + + prevControlPoints.Clear(); + for (int j = 0; j < lstControlPoints.Count; j++) + { + prevControlPoints.Add(lstControlPoints[j].clone()); + } + + if (flag) + { + controlPoints.Clear(); + for (int k = 0; k < prevControlPoints.Count; k++) + { + controlPoints.Add(prevControlPoints[k].clone()); + } + } + + numControlPoints = lstControlPoints.Count; + return flag; + } + + public SoftJointLimitSpring getStartJtSpring() + { + SoftJointLimitSpring result = default(SoftJointLimitSpring); + if (startJointSpringy) + { + result.spring = startJtSpring.spring; + result.damper = startJtSpring.damper; + } + else + { + float spring = (result.damper = 0f); + result.spring = spring; + } + + return result; + } + + public SoftJointLimitSpring getEndJtSpring() + { + SoftJointLimitSpring result = default(SoftJointLimitSpring); + if (endJointSpringy) + { + result.spring = endJtSpring.spring; + result.damper = endJtSpring.damper; + } + else + { + float spring = (result.damper = 0f); + result.spring = spring; + } + + return result; + } + + public void RefreshJointSpring() + { + setStartJointSpring(startJtSpring); + setEndJointSpring(endJtSpring); + } + + public void RefreshProperties(bool bForce) + { + Debug("Refreshing Properties Force = " + bForce, LOGGING.INFO); + bool flag = bForce; + if (numControlPoints < 2) + { + numControlPoints = 2; + } + + bool flag2 = setControlPoints(controlPoints); + flag = flag || flag2; + if (prevStrStaticBones != strStaticBones) + { + setStaticBoneList(strStaticBones); + flag = true; + } + + if (flag) + { + regenerateRope(true); + } + + if (prevHideChildren != HideChildren) + { + HideChildrenObjects(HideChildren); + } + + if (prevKinematic != kinematic) + { + changeToKinematic(kinematic); + } + + if (prevRendererType != rendererType) + { + setRendererType(rendererType); + } + + linkMesh.update(); + setLinkMesh(linkMesh); + if (rendererType == RendererType.Continuous) + { + generateOverallMesh(); + } + + Debug("Refreshing Properties Done", LOGGING.INFO); + } + + public void setBreakingForce(float force) + { + Debug("Setting breaking force to " + force, LOGGING.INFO); + foreach (Segment lstSegment in lstSegments) + { + if (lstSegment.next != null) + { + if (force != 0f) + { + lstSegment.next.joint.breakForce = force; + } + else + { + lstSegment.next.joint.breakForce = 1E+10f; + } + } + } + + jointProp.breakingForce = force; + Debug("Setting breaking force done", LOGGING.INFO); + } + + public void setRendererType(RendererType rType) + { + Debug("Setting Renderer Type to " + rType, LOGGING.INFO); + switch (rType) + { + case RendererType.Continuous: + enableRendering(true); + enableSegmentRendering(false); + break; + case RendererType.Segment: + enableRendering(false); + enableSegmentRendering(true); + break; + case RendererType.None: + enableRendering(false); + enableSegmentRendering(false); + break; + } + + rendererType = rType; + prevRendererType = rType; + } + + public void setLinkMesh(LinkMesh lMesh) + { + if (lMesh != null && lMesh.getMesh() != null) + { + foreach (Segment lstSegment in lstSegments) + { + lstSegment.meshFilter.sharedMesh = lMesh.getMesh(); + lstSegment.meshRenderer.sharedMaterial = lMesh.meshMaterial; + } + } + + linkMesh = lMesh; + } + + public void applyGravity(float f) + { + if (f == -1f) + { + return; + } + + foreach (Segment lstSegment in lstSegments) + { + lstSegment.body.AddForce((0f - (1f - f)) * lstSegment.body.mass * Physics.gravity); + } + } + + public void updateMass(float m) + { + getSegmentProperties().massPerUnitLength = m; + float mass = getSegmentProperties().massPerUnitLength * getSegmentProperties().length; + foreach (Segment lstSegment in lstSegments) + { + lstSegment.body.mass = mass; + } + } + + private void HideChildrenObjects(bool bHide) + { + foreach (Segment lstSegment in lstSegments) + { + if (bHide) + { + lstSegment.seg.hideFlags = HideFlags.HideInHierarchy; + } + else + { + lstSegment.seg.hideFlags = HideFlags.None; + } + } + + prevHideChildren = bHide; + } + + public List> getTrajectory() + { + List> list = new List>(); + float num = segmentBordersScaleFactor; + float num2 = ((!useSegmentBordersOffset || lstSegments.Count <= 0) + ? 0f + : lstSegments[0].capsuleCollider.radius); + num2 *= num; + float num3 = 1f; + int num4 = lstSegments.Count; + // if (num4 > 30 && GameController.Instance.useFastRopeDraw) + //TODO : Change + if (num4 > 30) + { + num4 = 30; + } + + List list2 = new List(); + int num5 = 0; + if (lstSegments.Count > 0) + { + foreach (Segment lstSegment in lstSegments) + { + if (list2.Count == 0) + { + PosOri posOri = + new PosOri( + lstSegment.seg.transform.TransformPoint(new Vector3(0f, + 0f - getSegmentProperties().length - num2, 0f)), lstSegment.seg.transform.rotation); + posOri.pos = startPosition.position; + list2.Add(posOri); + } + + PosOri item = new PosOri(lstSegment.seg.transform.position, lstSegment.seg.transform.rotation); + list2.Add(item); + if (lstSegment.next == null && num5 < num4 - 1) + { + PosOri item2 = + new PosOri( + lstSegment.seg.transform.TransformPoint(new Vector3(0f, + getSegmentProperties().length * num3, 0f)), lstSegment.seg.transform.rotation); + list2.Add(item2); + list.Add(list2); + list2 = new List(); + } + + num5++; + if (num5 > num4) + { + break; + } + } + + PosOri item3 = + new PosOri( + lstSegments[Mathf.Min(num4, lstSegments.Count) - 1].seg.transform + .TransformPoint(new Vector3(0f, getSegmentProperties().length + num2, 0f)), + lstSegments[0].seg.transform.rotation); + list2.Add(item3); + } + + list.Add(list2); + return list; + } + + private void generateMeshForTrajectory(List trajectory, Bezier interpolator, float totalLen, + ref float lengthCovered, ref int lastVertId, ref int lastIndexID) + { + float num = ((segPropertyType != SegmentProperties.Type.CYLINDER) + ? segPropertiesBox.width + : segPropertiesCylinder.radius); + num *= radiusFactor; + float num2 = 6.28318f / (float)numCirclePt; + Vector3[] array = new Vector3[numCirclePt]; + Vector3[] array2 = new Vector3[numCirclePt]; + for (int i = 0; i < numCirclePt; i++) + { + array[i] = new Vector3((float)((double)num * Math.Cos((float)i * num2)), 0f, + (float)((double)num * Math.Sin((float)i * num2))); + array2[i] = new Vector3((float)((double)(0f - num) * Math.Sin((float)i * num2)), 0f, + (float)((double)num * Math.Cos((float)i * num2))); + array2[i].Normalize(); + } + + int num3 = lastVertId; + Vector3 v = new Vector3(0f, 0f, 1f); + Vector3 vector = new Vector3(1f, 1f, 1f); + Vector3 vector2 = new Vector3(0.3f, 1f, 0.3f); + Vector3 s = new Vector3(0.2f, 1f, 0.2f); + float num4 = 0f; + Vector3 vector3 = trajectory[0].pos; + int num5 = trajectory.Count * 4; + float deltaLen = totalLen / (float)(num5 - 1); + for (int j = 0; j < num5; j++) + { + Vector3 vector4 = ((j != 0) ? interpolator.getNext(deltaLen).pos : trajectory[0].pos); + if (j != 0) + { + v = vector4 - vector3; + v.Normalize(); + } + else if (j == 0 && trajectory.Count > 1) + { + v = trajectory[1].pos - vector4; + v.Normalize(); + } + + Vector3 vector5 = vector4 - vector3; + vector3 = vector4; + Matrix4x4 matrix4x = default(Matrix4x4); + for (int k = 0; k < numCirclePt; k++) + { + Quaternion q = Utility.createOrientation(v); + //TODO : Change + + // if (GameController.Instance.fishingPlayer.currentHands.fishingLine.lineType == FishingLine.LineType.FLY && j >= num5 - 8) + // { + // matrix4x.SetTRS(vector4, q, s); + // } + // else + { + matrix4x.SetTRS(vector4, q, (!(vector4.y < 0f)) ? vector : vector2); + } + vertexBuffer[num3] = base.transform.InverseTransformPoint(matrix4x.MultiplyPoint(array[k])); + if (j == 0) + { + } + + Vector3 vector6 = base.transform.InverseTransformDirection(matrix4x.MultiplyVector(array2[k])); + tangents[num3] = new Vector4(vector6.x, vector6.y, vector6.z, -1f); + if (j == 1) + { + } + + uv[num3] = new Vector2((float)k * 1f / (float)numCirclePt, (totalLen - num4) / textureLength); + num3++; + } + + num4 += vector5.magnitude; + } + + if (true) + { + int num6 = lastIndexID; + for (int l = 0; l < num5 - 1; l++) + { + for (int m = 0; m < numCirclePt; m++) + { + int num7 = l + lastVertId / numCirclePt; + indexBuffer[num6++] = num7 * numCirclePt + m; + indexBuffer[num6++] = (num7 + 1) * numCirclePt + m; + indexBuffer[num6++] = num7 * numCirclePt + (m + 1) % numCirclePt; + indexBuffer[num6++] = num7 * numCirclePt + (m + 1) % numCirclePt; + indexBuffer[num6++] = (num7 + 1) * numCirclePt + m; + indexBuffer[num6++] = (num7 + 1) * numCirclePt + (m + 1) % numCirclePt; + } + } + + lastIndexID = num6; + } + + lengthCovered += num4; + lastVertId = num3; + } + + public void generateOverallMesh() + { + //TODO : Change + + // if ((bool)GameController.Instance.fishingPlayer && GameController.Instance.optimalRopeGenerator && + // ((GameController.Instance.fishingPlayer.currentHands.fakeStraightLine.enabled && + // ropeGameplayType != RopeGameplayType.FLOAT) || + // GameController.Instance.fishingPlayer.underwaterCamera.isTurnedOn)) + // { + // return; + // } + + List> trajectory = getTrajectory(); + if (trajectory[0].Count <= 0) + { + return; + } + + int num = 0; + int num2 = 0; + bool flag = false; + foreach (List item in trajectory) + { + int num3 = item.Count * 4; + num += num3; + num2 += (num3 - 1) * (numCirclePt * 2); + } + + int num4 = numCirclePt * num; + if (vertexBuffer == null || num4 != vertexBuffer.Length) + { + flag = vertexBuffer == null || num4 > vertexBuffer.Length; + vertexBuffer = new Vector3[num4]; + tangents = new Vector4[num4]; + uv = new Vector2[num4]; + } + + if (indexBuffer == null || num2 * 3 != indexBuffer.Length) + { + indexBuffer = new int[num2 * 3]; + } + + int lastVertId = 0; + int lastIndexID = 0; + List list = new List(); + float num5 = 0f; + foreach (List item2 in trajectory) + { + list.Add(new Bezier(item2)); + num5 += list[list.Count - 1].TotalLength(); + } + + float lengthCovered = 0f; + for (int i = 0; i < trajectory.Count; i++) + { + generateMeshForTrajectory(trajectory[i], list[i], num5, ref lengthCovered, ref lastVertId, + ref lastIndexID); + } + + if (mesh == null) + { + mesh = new Mesh(); + } + + if (flag) + { + mesh.vertices = vertexBuffer; + mesh.triangles = indexBuffer; + } + else + { + mesh.triangles = indexBuffer; + mesh.vertices = vertexBuffer; + } + + mesh.uv = uv; + mesh.RecalculateNormals(); + mesh.tangents = tangents; + meshFilter.sharedMesh = mesh; + meshRenderer.sharedMaterial = continuousMaterial; + mesh.bounds = new Bounds(base.transform.position, new Vector3(10000f, 10000f, 10000f)); + } + + public void regenerateRope(bool bDestroyImmediate) + { + deleteRope(bDestroyImmediate); + generateCatnaryRope(controlPoints.ToArray()); + setLinkMesh(linkMesh); + initialNumSegemnts = lstSegments.Count; + } + + public void generateRope(ControlPoint[] arrPoints) + { + bool flag = false; + List list = new List(arrPoints.Length); + for (int i = 0; i < arrPoints.Length; i++) + { + list.Add(arrPoints[i].localPos); + if (arrPoints[i].obj != null) + { + list[i] = arrPoints[i].obj.transform.TransformPoint(arrPoints[i].localPos); + } + else + { + list[i] = ((!flag) + ? base.gameObject.transform.TransformPoint(arrPoints[i].localPos) + : arrPoints[i].localPos); + } + } + + SCapsulePos sCapsulePos = new SCapsulePos(); + bool flag2 = false; + int last = 0; + bool flag3 = false; + Segment segment = null; + Quaternion quaternion = Quaternion.identity; + Quaternion quaternion2 = Quaternion.AngleAxis(jointProp.twistOffsetDeg, new Vector3(0f, 1f, 0f)); + totalLength = 0f; + Vector3 vector = list[0]; + int num = 0; + while (!flag2) + { + int num2 = last; + flag2 = getNextCapsulePos(sCapsulePos, list, ref last, getSegmentProperties(), jointProp, false); + Segment segment2 = null; + if (sCapsulePos.fLen > 0f) + { + segment2 = createSegment(sCapsulePos.fLen, sCapsulePos.vPos, sCapsulePos.vDir); + if (useColliders && num >= 0) + { + if ((bool)segment2.capsuleCollider) + { + segment2.capsuleCollider.enabled = true; + } + + num = 0; + } + else + { + if ((bool)segment2.capsuleCollider) + { + segment2.capsuleCollider.enabled = false; + } + + num++; + } + + lstSegments.Add(segment2); + if (segment != null) + { + totalLength += (sCapsulePos.vPos - vector).magnitude; + vector = sCapsulePos.vPos; + segment.next = createSegmentJoint(segment, segment2, quaternion); + segment2.prev = segment.next; + } + + GameObject gameObject = null; + Vector3 vector2 = new Vector3(0f, 0f, 0f); + bool flag4 = false; + if (!flag3 && num2 == 0) + { + if (arrPoints[num2].attached) + { + gameObject = arrPoints[num2].obj; + vector2 = arrPoints[num2].localPos; + flag4 = true; + } + } + else if (num2 != last && last < arrPoints.Length && arrPoints[last].attached) + { + gameObject = arrPoints[last].obj; + vector2 = arrPoints[last].localPos; + flag4 = true; + } + + if (flag4) + { + vector2 = ((gameObject != null) + ? gameObject.transform.TransformPoint(vector2) + : ((!flag) ? base.gameObject.transform.TransformPoint(vector2) : vector2)); + int jtPos = -1; + Joint prev = new Joint(segment2.seg, gameObject, vector2, + segment2.seg.transform.TransformDirection(0f, 1f, 0f), jointProp, this, jtPos); + if (num2 == 0) + { + segment2.prev = prev; + } + + flag3 = true; + } + + segment = segment2; + quaternion = quaternion2 * quaternion; + } + else + { + flag2 = true; + } + } + + if (lstSegments.Count == 1) + { + GameObject obj = arrPoints[last].obj; + Vector3 localPos = arrPoints[last].localPos; + int jtPos2 = -1; + Segment segment3 = lstSegments[0]; + Joint prev2 = new Joint(segment3.seg, obj, localPos, + segment3.seg.transform.TransformDirection(0f, 1f, 0f), jointProp, this, jtPos2); + segment3.prev = prev2; + } + + if (lstSegments.Count > 0 && !lstSegments[lstSegments.Count - 1].seg.GetComponent()) + { + GameObject obj2 = arrPoints[last].obj; + Vector3 localPos2 = arrPoints[last].localPos; + int jtPos3 = -1; + Segment segment4 = lstSegments[lstSegments.Count - 1]; + Joint joint = new Joint(segment4.seg, obj2, localPos2, + segment4.seg.transform.TransformDirection(0f, 1f, 0f), jointProp, this, jtPos3); + } + + if (sendRopeEvents && this.Created != null) + { + this.Created(this); + } + } + + public void generateCatnaryRope(ControlPoint[] arrPoints) + { + Debug("Generating Catenary Rope " + arrPoints.ToString(), LOGGING.INFO); + if (arrPoints.Length < 2) + { + return; + } + + List list = new List(); + Vector3 vector = ((!(arrPoints[0].obj != null)) + ? arrPoints[0].localPos + : arrPoints[0].obj.transform.TransformPoint(arrPoints[0].localPos)); + list.Add(arrPoints[0]); + for (int i = 1; i < arrPoints.Length; i++) + { + Vector3 vector2 = ((!(arrPoints[i].obj != null)) + ? arrPoints[i].localPos + : arrPoints[i].obj.transform.TransformPoint(arrPoints[i].localPos)); + ControlPoint controlPoint = arrPoints[i - 1]; + if (controlPoint.slackFraction > 1f) + { + float magnitude = (vector2 - vector).magnitude; + SegmentPropertiesBase segmentProperties = getSegmentProperties(); + List catenaryPts = Utility.getCatenaryPts(vector, vector2, + magnitude * controlPoint.slackFraction, (int)(magnitude / segmentProperties.length)); + for (int j = 1; j < catenaryPts.Count; j++) + { + ControlPoint controlPoint2 = new ControlPoint(); + controlPoint2.attached = false; + controlPoint2.obj = null; + controlPoint2.localPos = catenaryPts[j]; + if (j == catenaryPts.Count - 1) + { + controlPoint2.attached = arrPoints[i].attached; + controlPoint2.obj = arrPoints[i].obj; + controlPoint2.localPos = ((!(controlPoint2.obj != null)) + ? controlPoint2.localPos + : controlPoint2.obj.transform.InverseTransformPoint(controlPoint2.localPos)); + } + + list.Add(controlPoint2); + } + } + else + { + list.Add(arrPoints[i]); + } + + vector = vector2; + } + + generateRope(list.ToArray()); + Debug("Generating Catenary Rope done", LOGGING.INFO); + } + + public void deleteRope(bool bDestroyImmediate) + { + if (lstSegments != null) + { + foreach (Segment lstSegment in lstSegments) + { + if (bDestroyImmediate) + { + UnityEngine.Object.DestroyImmediate(lstSegment.seg); + } + else + { + UnityEngine.Object.Destroy(lstSegment.seg); + } + } + + lstSegments.Clear(); + } + + if (springJoint != null) + { + UnityEngine.Object.Destroy(springJoint.joint); + } + + if (springHolder != null) + { + UnityEngine.Object.Destroy(springHolder); + } + + if (bDestroyImmediate) + { + clearOrphan(); + } + + if (sendRopeEvents && this.Deleted != null) + { + this.Deleted(this); + } + } + + public float getLength() + { + return totalLength; + } + + public float getLengthColliders() + { + return totalLengthColliders; + } + + public float getTension() + { + if (springJoint != null && springJoint.joint != null) + { + ConfigurableJoint configurableJoint = (ConfigurableJoint)springJoint.joint; + Vector3 vector = configurableJoint.connectedAnchor; + Rigidbody connectedBody = configurableJoint.connectedBody; + Vector3 vector2 = configurableJoint.anchor; + Rigidbody body = lstSegments[0].body; + if (connectedBody != null) + { + vector = connectedBody.transform.TransformPoint(vector); + } + + if (body != null) + { + vector2 = body.transform.TransformPoint(vector2); + } + + float num = (vector - vector2).magnitude - 0.01f; + return num * configurableJoint.linearLimitSpring.spring; + } + + if (lstSegments.Count > 0 && lstSegments[0].prev != null) + { + UnityEngine.Joint joint = lstSegments[0].prev.joint; + Vector3 vector3 = joint.connectedAnchor; + Rigidbody connectedBody2 = joint.connectedBody; + Vector3 vector4 = joint.anchor; + Rigidbody body2 = lstSegments[0].body; + if (connectedBody2 != null) + { + vector3 = connectedBody2.transform.TransformPoint(vector3); + } + + if (body2 != null) + { + vector4 = body2.transform.TransformPoint(vector4); + } + + float num2 = (vector3 - vector4).magnitude - 0.01f; + return num2 * ((ConfigurableJoint)joint).linearLimitSpring.spring; + } + + return 0f; + } + + public void breakRope(float fraction) + { + Debug("Breaking Rope from Fraction: " + fraction, LOGGING.INFO); + int num = (int)((float)lstSegments.Count * fraction); + if (num < lstSegments.Count - 1 && num >= 0) + { + Debug("Breaking Rope from segment: " + num, LOGGING.DEBUG); + if (lstSegments[num].next != null) + { + UnityEngine.Object.Destroy(lstSegments[num].next.joint); + lstSegments[num].next = null; + lstSegments[num + 1].prev = null; + } + } + + Debug("Breaking Rope done", LOGGING.INFO); + } + + public void setLength(float newLength) + { + newLength -= getLength(); + changeLength(newLength); + } + + public void changeLength(float deltaLen) + { + if (lstSegments.Count < 1 || deltaLen == 0f) + { + CalculateTotalLength(); + return; + } + + deltaLen *= 0.5f; + int num = 0; + Segment segment = lstSegments[num]; + SegmentPropertiesBase segmentProperties = getSegmentProperties(); + Vector3 localScale = segment.seg.transform.localScale; + if (localScale.y > 0f) + { + localScale.y += deltaLen; + } + + if (localScale.y < 0.01f) + { + localScale.y = 0.01f; + } + + float num2 = 0.5f; + float num3 = 1f; + float num4 = 0f; + float num5 = 0f; + float num6 = segmentProperties.length * num2; + num5 = ((SegmentPropertiesCylinder)segmentProperties).radius * 2f; + if (localScale.y > (segmentProperties.length + num5) * num2) + { + Vector3 localScale2 = segment.seg.transform.localScale; + localScale2.y = num6; + segment.seg.transform.localScale = localScale2; + float num7 = 0f; + for (deltaLen = 0f - segmentProperties.length + localScale.y / num2; deltaLen > 0f; deltaLen -= num7) + { + num7 = Mathf.Clamp(deltaLen, 0.01f, num6); + segment.seg.transform.position += segment.seg.transform.TransformDirection(0f, 1f, 0f) * num7; + if (segment.next != null) + { + if (segment.next.joint.connectedBody != segment.body) + { + segment.next.joint.anchor = new Vector3(0f, (1f - jointProp.offsetScale) * num3, 0f); + } + else + { + segment.next.joint.connectedAnchor = + new Vector3(0f, (1f - jointProp.offsetScale) * num3, 0f); + } + } + + Vector3 pos = segment.seg.transform.position - + segment.seg.transform.TransformDirection(0f, 1f, 0f) * + (num7 + segmentProperties.length / 2f); + Segment segment2 = createSegment(num7 * 2f, pos, + segment.seg.transform.TransformDirection(0f, 1f, 0f)); + float num8 = jointProp.twistOffsetDeg * (float)(-1 + (initialNumSegemnts - lstSegments.Count)); + num8 = (num8 + 36000f) % 360f; + Quaternion quaternion = Quaternion.AngleAxis(num8, new Vector3(0f, 1f, 0f)); + segment2.seg.transform.rotation = segment2.seg.transform.rotation * quaternion; + Rigidbody connectedBody = segment.prev.joint.connectedBody; + Vector3 connectedAnchor = segment.prev.joint.connectedAnchor; + Vector3 vGlobalAnchor = ((!connectedBody) + ? connectedAnchor + : connectedBody.transform.TransformPoint(connectedAnchor)); + Joint prev = new Joint(segment2.seg, (!connectedBody) ? null : connectedBody.gameObject, + vGlobalAnchor, segment2.seg.transform.TransformDirection(0f, 1f, 0f), jointProp, this, -1); + segment2.prev = prev; + Joint prev2 = (segment2.next = new Joint(segment2, segment, jointProp, getSegmentProperties(), + Quaternion.identity)); + Joint prev3 = segment.prev; + segment.prev = prev2; + lstSegments.Insert(0, segment2); + UnityEngine.Object.Destroy(prev3.joint); + FixAnchors(segment2, num3); + segment = segment2; + } + + CalculateTotalLength(); + } + else if (localScale.y < num5 * num2) + { + while (deltaLen < 0f) + { + if (lstSegments.Count < num + 1 + 1) + { + UnityEngine.Debug.LogError("!!! changeLength lstSegments size error index !!!: " + num); + //TODO: Change + if (Fishing.Instance.Player != null) + { + Fishing.Instance.Player.LineBreak("HUD_MESSAGE/LINE_BROKE_TENSION", 0f); + } + // if (GameController.Instance.fishingPlayer.currentState == FishingPlayer.PlayerState.FISHING || GameController.Instance.fishingPlayer.currentState == FishingPlayer.PlayerState.ICE_FISHING) + // { + // GameController.Instance.fishingPlayer.LineBreak(Utilities.GetTranslation("HUD_MESSAGE/LINE_BROKE_TENSION"), 0f); + // } + + + return; + } + + Segment segment3 = lstSegments[num + 1]; + Vector3 localScale3 = segment3.seg.transform.localScale; + localScale3.y = num6; + segment3.seg.transform.localScale = localScale3; + segment.seg.transform.position += + segment.seg.transform.TransformDirection(0f, -1f, 0f) * localScale.y / num2; + Vector3 connectedAnchor2 = segment.prev.joint.connectedAnchor; + Rigidbody connectedBody2 = segment.prev.joint.connectedBody; + Vector3 vGlobalAnchor2 = ((!connectedBody2) + ? connectedAnchor2 + : connectedBody2.transform.TransformPoint(connectedAnchor2)); + Joint prev4 = new Joint(segment3.seg, (!connectedBody2) ? null : connectedBody2.gameObject, + vGlobalAnchor2, segment3.seg.transform.TransformDirection(0f, 1f, 0f), jointProp, this, -1); + segment3.prev = prev4; + deltaLen += segment.seg.transform.localScale.y; + lstSegments.Remove(segment); + UnityEngine.Object.Destroy(segment.seg); + FixAnchors(segment3, num3); + segment = segment3; + if (!(deltaLen < 0f)) + { + } + } + + CalculateTotalLength(); + } + else + { + segment.seg.transform.localScale = localScale; + FixAnchors(segment, num3); + CalculateTotalLength(); + } + } + + public void FixAnchors(Segment seg, float anchorMult) + { + Joint prev = seg.prev; + Joint next = seg.next; + if (prev != null) + { + if (prev.joint.connectedBody != seg.body) + { + prev.joint.anchor = new Vector3(0f, (-1f + jointProp.offsetScale) * anchorMult, 0f); + } + else + { + prev.joint.connectedAnchor = new Vector3(0f, (-1f + jointProp.offsetScale) * anchorMult, 0f); + } + } + + if (next != null) + { + if (next.joint.connectedBody != seg.body) + { + next.joint.anchor = new Vector3(0f, (1f - jointProp.offsetScale) * anchorMult, 0f); + } + else + { + next.joint.connectedAnchor = new Vector3(0f, (1f - jointProp.offsetScale) * anchorMult, 0f); + } + } + } + + private void clearOrphan() + { + Debug("Clear Orphan", LOGGING.INFO); + if (lstComponentsCreated != null) + { + foreach (UnityEngine.Object item in lstComponentsCreated) + { + UnityEngine.Object.DestroyImmediate(item); + } + + lstComponentsCreated.Clear(); + } + + Debug("Clear Orphan done", LOGGING.INFO); + } + + private void OnEnable() + { + } + + private void Awake() + { + meshRenderer = GetComponent(); + meshFilter = GetComponent(); + if (startPosition == null && (bool)controlPoints[0].obj) + { + startPosition = controlPoints[0].obj.transform; + } + + List list = new List(); + for (int i = 0; i < base.transform.childCount; i++) + { + if (base.transform.GetChild(i).name.Contains("__rope__")) + { + list.Add(base.transform.GetChild(i).gameObject); + } + } + + foreach (GameObject item in list) + { + UnityEngine.Object.Destroy(item); + } + + lstSegments = new List(); + if (ropeType == RopeType.FromBones) + { + rendererType = RendererType.None; + } + + regenerateRope(true); + setRendererType(rendererType); + } + + private void Start() + { + } + + private void FixedUpdate() + { + changeLength(rate); + if (gravity != -1f) + { + applyGravity(gravity); + } + } + + private void LateUpdate() + { + generateOverallMesh(); + } + + private void checkBrokenJoints() + { + foreach (Segment lstSegment in lstSegments) + { + if (lstSegment.prev != null && lstSegment.prev.joint == null) + { + lstSegment.prev = null; + } + + if (lstSegment.next != null && lstSegment.next.joint == null) + { + lstSegment.next = null; + } + } + } + + private void checkStabilization() + { + foreach (Segment lstSegment in lstSegments) + { + float num = lstSegment.body.linearVelocity.sqrMagnitude * lstSegment.body.mass + + lstSegment.body.inertiaTensor.magnitude * lstSegment.body.angularVelocity.sqrMagnitude; + if (num > lstSegment.body.mass * 25f) + { + lstSegment.body.linearVelocity = new Vector3(0f, 0f, 0f); + lstSegment.body.angularVelocity = new Vector3(0f, 0f, 0f); + } + } + } + + public void changeToKinematic(bool b) + { + int num = 0; + foreach (Segment lstSegment in lstSegments) + { + if (ropeType == RopeType.Procedural || (ropeType == RopeType.FromBones && !staticBones.Contains(num))) + { + lstSegment.body.isKinematic = b; + } + + num++; + } + + kinematic = b; + prevKinematic = b; + } + + private void enableRendering(bool b) + { + Debug("Enable Rendering " + b, LOGGING.INFO); + meshRenderer.enabled = b; + Debug("Enable Rendering done", LOGGING.INFO); + } + + private void enableSegmentRendering(bool b) + { + Debug("Enable Segment Rendering " + b, LOGGING.INFO); + foreach (Segment lstSegment in lstSegments) + { + lstSegment.meshRenderer.enabled = b; + } + + Debug("Enable Segment Rendering done", LOGGING.INFO); + } + + private bool getNextCapsulePos(SCapsulePos capPose, List vecPts, ref int last, + SegmentPropertiesBase segProp, JointProperties jointProp, bool bExtraSegPosAtStart) + { + capPose.vPrevPos = capPose.vPos; + capPose.vPrevDir = capPose.vDir; + if (bExtraSegPosAtStart) + { + capPose.vPos += capPose.vDir * capPose.fLen * (1f - jointProp.offsetScale); + capPose.vDir *= -1f; + } + + bool result = false; + if (capPose.vDir.magnitude != 0f) + { + Vector3 vDir = capPose.vDir; + capPose.vPos += vDir * capPose.fLen * (1f - jointProp.offsetScale); + } + else + { + capPose.vPos = vecPts[last]; + } + + int num = last + 1; + if (num < vecPts.Count && num >= 0) + { + Vector3 vDir2 = vecPts[num] - capPose.vPos; + float magnitude = vDir2.magnitude; + vDir2.Normalize(); + float length = segProp.length; + capPose.fLen = length; + capPose.vDir = vDir2; + if (magnitude < segProp.length) + { + last = num; + num = last + 1; + if (last == 0 || last == vecPts.Count - 1) + { + capPose.fLen = magnitude; + result = true; + } + } + } + + if (bExtraSegPosAtStart) + { + capPose.vPos += capPose.vDir * capPose.fLen; + capPose.vDir *= -1f; + } + + return result; + } + + private Segment createBoneSegment(float len, Vector3 pos, Vector3 dir, GameObject bone) + { + Quaternion q = Utility.createOrientation(dir); + BoneSegment boneSegment = new BoneSegment("segment-" + lstSegments.Count + "__rope__", len, + pos + dir * len / 2f, q, getSegmentProperties(), this, bone); + boneSegment.seg.transform.parent = base.gameObject.transform; + return boneSegment; + } + + private Segment createSegment(float len, Vector3 pos, Vector3 dir) + { + Quaternion q = Utility.createOrientation(dir); + Segment segment = new Segment("segment-" + lstSegments.Count + "__rope__", len, pos + dir * len / 2f, q, + getSegmentProperties(), this); + segment.seg.transform.parent = base.gameObject.transform; + + //TODO: Change + + // if ((bool)GameController.Instance) + { + segment.meshRenderer.enabled = true; + // segment.meshRenderer.material = GameController.Instance.waterInteractiveMaterial; + segment.meshRenderer.shadowCastingMode = ShadowCastingMode.Off; + } + // else + // { + // segment.meshRenderer.enabled = false; + // } + + if (totalLength <= 105f) + { + //TODO:Change + + // segment.waterInteractive = segment.seg.AddComponent(); + // segment.waterInteractive.Multiplier = 1.5f; + } + + return segment; + } + + private Joint createSegmentJoint(Segment seg1, Segment seg2, Quaternion twistOffset) + { + return new Joint(seg1, seg2, jointProp, getSegmentProperties(), twistOffset); + } + + public void CalculateTotalLength() + { + totalLength = 0f; + totalLengthColliders = 0f; + for (int i = 0; i < lstSegments.Count; i++) + { + totalLengthColliders += + lstSegments[i].seg.transform.localScale.y * lstSegments[i].capsuleCollider.height; + if (i == 0) + { + totalLength += (lstSegments[i].seg.transform.position - controlPoints[0].obj.transform.position) + .magnitude; + } + + if (i == lstSegments.Count - 1) + { + totalLength += (lstSegments[i].seg.transform.position - controlPoints[1].obj.transform.position) + .magnitude; + } + + if (i > 0) + { + totalLength += (lstSegments[i].seg.transform.position - lstSegments[i - 1].seg.transform.position) + .magnitude; + } + } + + if (ropeStretchThreshold > 0f && totalLength - totalLengthColliders > ropeStretchThreshold) + { + regenerateRope(true); + UnityEngine.Debug.LogError("Rope stretch regenerate"); + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/PhysicsTools/Rope.cs.meta b/Assets/Scripts/PhysicsTools/Rope.cs.meta new file mode 100644 index 000000000..196e77a28 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Rope.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 8d8b3d7293da4ed8736330164944ddd3 +timeCreated: 1771646562 +licenseType: Free +MonoImporter: + serializedVersion: 2 + name: + externalObjects: {} + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/SCapsulePos.cs b/Assets/Scripts/PhysicsTools/SCapsulePos.cs new file mode 100644 index 000000000..b6153e9f1 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SCapsulePos.cs @@ -0,0 +1,26 @@ +using UnityEngine; + +namespace PhysicsTools +{ + internal class SCapsulePos + { + public Vector3 vPos; + + public Vector3 vDir; + + public Vector3 vPrevPos; + + public Vector3 vPrevDir; + + public float fLen; + + public SCapsulePos() + { + vPos = new Vector3(0f, 0f, 0f); + vDir = new Vector3(0f, 0f, 0f); + vPrevPos = new Vector3(0f, 0f, 0f); + vPrevDir = new Vector3(0f, 0f, 0f); + fLen = 0f; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/SCapsulePos.cs.meta b/Assets/Scripts/PhysicsTools/SCapsulePos.cs.meta new file mode 100644 index 000000000..991a13719 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SCapsulePos.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3881b5b71590e5142bc7910fe64dbc69 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/Segment.cs b/Assets/Scripts/PhysicsTools/Segment.cs new file mode 100644 index 000000000..98e17980f --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Segment.cs @@ -0,0 +1,58 @@ +// using UltimateWater; +using UnityEngine; + +namespace PhysicsTools +{ + public class Segment + { + public GameObject seg; + + public Rigidbody body; + + public Joint prev; + + public Joint next; + + public CapsuleCollider capsuleCollider; + + public MeshFilter meshFilter; + + public MeshRenderer meshRenderer; + + // public WaterInteractive waterInteractive; + + public Segment(string name, float len, Vector3 pos, Quaternion q, SegmentPropertiesBase segProperties, Rope r) + { + SegmentPropertiesCylinder segmentPropertiesCylinder = (SegmentPropertiesCylinder)segProperties; + float radius = segmentPropertiesCylinder.radius; + seg = GameObject.CreatePrimitive(PrimitiveType.Cylinder); + capsuleCollider = seg.GetComponent(); + meshFilter = seg.GetComponent(); + meshRenderer = seg.GetComponent(); + body = seg.AddComponent(); + capsuleCollider.sharedMaterial = r.ropeMaterial; + capsuleCollider.enabled = r.useColliders; + r.lstComponentsCreated.Add(seg); + seg.hideFlags = (r.HideChildren ? HideFlags.HideInHierarchy : HideFlags.None); + meshRenderer.enabled = true; + r.linkMesh.defaultMesh = meshFilter.sharedMesh; + r.linkMesh.defaultMeshMaterial = meshRenderer.sharedMaterial; + r.linkMesh.defaultTransform = Matrix4x4.identity; + if (r.linkMesh.getMesh() != null) + { + meshFilter.sharedMesh = r.linkMesh.getMesh(); + meshRenderer.sharedMaterial = r.linkMesh.meshMaterial; + } + seg.name = name; + seg.transform.localScale = new Vector3(radius * 2f, len / 2f, radius * 2f); + seg.transform.localPosition = pos; + seg.transform.localRotation = q; + body.maxAngularVelocity = 1f; + body.angularDamping = segmentPropertiesCylinder.angularDamping; + body.linearDamping = segmentPropertiesCylinder.linearDamping; + body.mass = segmentPropertiesCylinder.massPerUnitLength * segmentPropertiesCylinder.length; + body.solverIterations = segmentPropertiesCylinder.solverCount; + body.isKinematic = r.kinematic; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/Segment.cs.meta b/Assets/Scripts/PhysicsTools/Segment.cs.meta new file mode 100644 index 000000000..8a0dac1dd --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Segment.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: b876b665f2164469858aa78787017d4d +timeCreated: 1771646563 +licenseType: Free +MonoImporter: + serializedVersion: 2 + name: + externalObjects: {} + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/SegmentProperties.cs b/Assets/Scripts/PhysicsTools/SegmentProperties.cs new file mode 100644 index 000000000..c2661eb68 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SegmentProperties.cs @@ -0,0 +1,39 @@ +using System; + +namespace PhysicsTools +{ + [Serializable] + public class SegmentProperties + { + [Serializable] + public enum Type + { + CYLINDER = 0, + BOX = 1 + } + + public Type type; + + public SegmentPropertiesBase properties; + + public SegmentProperties() + { + properties = new SegmentPropertiesCylinder(); + type = Type.CYLINDER; + } + + public void setType(Type t) + { + switch (t) + { + case Type.BOX: + properties = new SegmentPropertiesBox(); + break; + case Type.CYLINDER: + properties = new SegmentPropertiesCylinder(); + break; + } + type = t; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/SegmentProperties.cs.meta b/Assets/Scripts/PhysicsTools/SegmentProperties.cs.meta new file mode 100644 index 000000000..be2915fa3 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SegmentProperties.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4cc846e1c08f18140bdf8f716aff9d45 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/SegmentPropertiesBase.cs b/Assets/Scripts/PhysicsTools/SegmentPropertiesBase.cs new file mode 100644 index 000000000..621c13a0b --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SegmentPropertiesBase.cs @@ -0,0 +1,27 @@ +using System; + +namespace PhysicsTools +{ + [Serializable] + public class SegmentPropertiesBase + { + public float massPerUnitLength; + + public int solverCount; + + public float length; + + public float linearDamping; + + public float angularDamping; + + public SegmentPropertiesBase() + { + massPerUnitLength = 10f; + solverCount = 255; + length = 1f; + linearDamping = 0.01f; + angularDamping = 0.01f; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/SegmentPropertiesBase.cs.meta b/Assets/Scripts/PhysicsTools/SegmentPropertiesBase.cs.meta new file mode 100644 index 000000000..1a179e51b --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SegmentPropertiesBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: adbcbbf68b6c67b4a919921e96801c2b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/SegmentPropertiesBox.cs b/Assets/Scripts/PhysicsTools/SegmentPropertiesBox.cs new file mode 100644 index 000000000..1a03d069d --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SegmentPropertiesBox.cs @@ -0,0 +1,19 @@ +using System; + +namespace PhysicsTools +{ + [Serializable] + public class SegmentPropertiesBox : SegmentPropertiesBase + { + public float width; + + public float height; + + public SegmentPropertiesBox() + { + length = 1f; + width = 0.05f; + height = 0.2f; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/SegmentPropertiesBox.cs.meta b/Assets/Scripts/PhysicsTools/SegmentPropertiesBox.cs.meta new file mode 100644 index 000000000..f65d91125 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SegmentPropertiesBox.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 278f3471b842200469e66a88287e903f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/SegmentPropertiesCylinder.cs b/Assets/Scripts/PhysicsTools/SegmentPropertiesCylinder.cs new file mode 100644 index 000000000..17acf3661 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SegmentPropertiesCylinder.cs @@ -0,0 +1,16 @@ +using System; + +namespace PhysicsTools +{ + [Serializable] + public class SegmentPropertiesCylinder : SegmentPropertiesBase + { + public float radius; + + public SegmentPropertiesCylinder() + { + length = 1f; + radius = 0.1f; + } + } +} diff --git a/Assets/Scripts/PhysicsTools/SegmentPropertiesCylinder.cs.meta b/Assets/Scripts/PhysicsTools/SegmentPropertiesCylinder.cs.meta new file mode 100644 index 000000000..54ea0e91e --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SegmentPropertiesCylinder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1876d7df821e9ca46a62254142001c6c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/SerializedSoftJointLimitSpring.cs b/Assets/Scripts/PhysicsTools/SerializedSoftJointLimitSpring.cs new file mode 100644 index 000000000..14cc3ddbc --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SerializedSoftJointLimitSpring.cs @@ -0,0 +1,39 @@ +using System; +using UnityEngine; + +namespace PhysicsTools +{ + [Serializable] + public class SerializedSoftJointLimitSpring + { + public float spring = 30000f; + + public float damper = 30000f; + + public SerializedSoftJointLimitSpring() + { + spring = 30000f; + damper = 30000f; + } + + private SerializedSoftJointLimitSpring(SoftJointLimitSpring c) + { + damper = c.damper; + spring = c.spring; + } + + public static implicit operator SoftJointLimitSpring(SerializedSoftJointLimitSpring c) + { + return new SoftJointLimitSpring + { + spring = c.spring, + damper = c.damper + }; + } + + public static explicit operator SerializedSoftJointLimitSpring(SoftJointLimitSpring c) + { + return new SerializedSoftJointLimitSpring(c); + } + } +} diff --git a/Assets/Scripts/PhysicsTools/SerializedSoftJointLimitSpring.cs.meta b/Assets/Scripts/PhysicsTools/SerializedSoftJointLimitSpring.cs.meta new file mode 100644 index 000000000..385bd4fef --- /dev/null +++ b/Assets/Scripts/PhysicsTools/SerializedSoftJointLimitSpring.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: e9f687b18e562c31f90c28822c0f641d +timeCreated: 1771646562 +licenseType: Free +MonoImporter: + serializedVersion: 2 + name: + externalObjects: {} + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/Utility.cs b/Assets/Scripts/PhysicsTools/Utility.cs new file mode 100644 index 000000000..00558282c --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Utility.cs @@ -0,0 +1,272 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Runtime.Serialization.Formatters.Binary; +using UnityEngine; + +namespace PhysicsTools +{ + public class Utility + { + public class Calc + { + private float r_length; + + private float h; + + private float d; + + public Calc(float r_, float h_, float d_) + { + r_length = r_; + h = h_; + d = d_; + } + + public float g(float s) + { + return (float)(2.0 * Math.Sinh(s * d / 2f) / (double)s - Math.Sqrt(r_length * r_length - h * h)); + } + + public float dg(float s) + { + return (float)(2.0 * Math.Cosh(s * d / 2f) * (double)d / (double)(2f * s) - 2.0 * Math.Sinh(s * d / 2f) / (double)(s * s)); + } + } + + private const float DEG_2_RAD = 0.017453277f; + + private const float RAD_2_DEG = 57.29583f; + + public static void MatrixToTRS(Matrix4x4 mat, out Vector3 pos, out Quaternion rot, out Vector3 scale) + { + pos = mat.GetColumn(3); + rot = Quaternion.LookRotation(mat.GetColumn(2), mat.GetColumn(1)); + scale = new Vector3(mat.GetColumn(0).magnitude, mat.GetColumn(1).magnitude, mat.GetColumn(2).magnitude); + } + + private static void Swap(ref T lhs, ref T rhs) + { + T val = lhs; + lhs = rhs; + rhs = val; + } + + public static List getCatenaryPts(Vector3 vStart, Vector3 vEnd, float r_length, int N) + { + bool flag = false; + int num = 100; + float num2 = 1E-10f; + float num3 = 1E-08f; + float num4 = 0.5f; + float num5 = 1E-09f; + float num6 = 0.001f; + if (vStart.y > vEnd.y) + { + Swap(ref vStart, ref vEnd); + flag = true; + } + Vector3 vector = vEnd - vStart; + float y = vector.y; + vector.y = 0f; + Vector3 vector2 = vector / (N - 1); + float magnitude = vector.magnitude; + vector.Normalize(); + float num7 = ((magnitude == 0f) ? 1f : (1f / magnitude)); + List list = new List(new Vector3[N]); + if (Math.Abs(magnitude) < num6) + { + Vector3 vector3 = new Vector3((vStart.x + vEnd.x) / 2f, 0f, (vStart.z + vEnd.z) / 2f); + if (r_length < Math.Abs(y)) + { + for (int i = 0; i < N; i++) + { + list[i] = vector3 + new Vector3(0f, vStart.y + y * ((float)i * 1f / (float)(N - 1)), 0f); + } + } + else + { + num7 = (r_length - Math.Abs(y)) / 2f; + int num8 = (int)Math.Ceiling((float)N * num7 / r_length); + float num9 = Math.Max(vStart.y, vEnd.y); + float num10 = Math.Min(vStart.y, vEnd.y); + for (int j = 0; j < N; j++) + { + if (j < N - num8) + { + float num11 = num10 - num7 - num9; + float num12 = num11 * ((float)j * 1f / ((float)(N - num8) - 1f)); + list[j] = vector3 + new Vector3(0f, num9 + num12, 0f); + } + else + { + float num13 = num7; + float num14 = num13 * ((float)j * 1f / ((float)num8 - 1f)); + vector3 = (list[j] = vector3 + new Vector3(0f, num10 - num7 + num14, 0f)); + } + } + } + } + else if ((double)r_length <= Math.Sqrt(magnitude * magnitude + y * y)) + { + for (int k = 0; k < N; k++) + { + Vector3 value = vStart + k * vector2; + float num15 = (float)k * (vEnd.y - vStart.y) / (float)(N - 1); + value.y = vStart.y + num15; + list[k] = value; + } + } + else + { + Calc calc = new Calc(r_length, y, magnitude); + for (int l = 0; l < num; l++) + { + float value2 = calc.g(num7); + float value3 = calc.dg(num7); + if (Math.Abs(value2) < num3 || Math.Abs(value3) < num2) + { + break; + } + float num16 = (0f - calc.g(num7)) / calc.dg(num7); + float num17 = 1f; + float num18 = num7 + num17 * num16; + while (num18 < 0f || Math.Abs(calc.g(num18)) > Math.Abs(value2)) + { + num17 = num4 * num17; + if (num17 < num5) + { + break; + } + num18 = num7 + num17 * num16; + } + num7 = num18; + } + float num19 = (float)(0.5 * (Math.Log((r_length + y) / (r_length - y)) / (double)num7 - (double)magnitude)); + vector.y = 0f; + vector.Normalize(); + Vector3 vector5 = vStart - num19 * vector; + vector5.y = 0f; + float num20 = (float)((double)vStart.y - Math.Cosh(num19 * num7) / (double)num7); + for (int m = 0; m < N; m++) + { + Vector3 vector6 = vStart + m * vector2; + Vector3 vector7 = vector6; + vector6.y = 0f; + vector6.y = (float)(Math.Cosh((vector6 - vector5).magnitude * num7) / (double)num7 + (double)num20); + list[m] = vector6; + } + } + if (flag) + { + list.Reverse(); + } + return list; + } + + public static Quaternion createOrientation(Vector3 v) + { + if (v.x == 0f && v.y == 0f && v.z == 0f) + { + return Quaternion.identity; + } + Vector3 vector = new Vector3(0f, 1f, 0f); + Vector3 vector2 = Vector3.Cross(v, vector); + vector2.Normalize(); + float num = Vector3.Dot(vector, v); + if (num > 1f) + { + num = 1f; + } + else if (num < -1f) + { + num = -1f; + } + float num2 = (float)Math.Acos(num); + return Quaternion.AngleAxis(num2 * 180f / 3.14159f, -vector2); + } + + public static T DeepClone(T a) + { + using (MemoryStream memoryStream = new MemoryStream()) + { + BinaryFormatter binaryFormatter = new BinaryFormatter(); + binaryFormatter.Serialize(memoryStream, a); + memoryStream.Position = 0L; + return (T)binaryFormatter.Deserialize(memoryStream); + } + } + + private static Dictionary> buildMapOfJoints() + { + Dictionary> dictionary = new Dictionary>(); + UnityEngine.Joint[] array = UnityEngine.Object.FindObjectsOfType(); + UnityEngine.Joint[] array2 = array; + foreach (UnityEngine.Joint joint in array2) + { + Rigidbody component = joint.gameObject.GetComponent(); + if (component != null) + { + if (!dictionary.ContainsKey(component)) + { + dictionary.Add(component, new List()); + } + dictionary[component].Add(joint); + } + Rigidbody connectedBody = joint.connectedBody; + if (connectedBody != null) + { + if (!dictionary.ContainsKey(connectedBody)) + { + dictionary.Add(connectedBody, new List()); + } + dictionary[connectedBody].Add(joint); + } + } + return dictionary; + } + + private static void getConnectedBodies(ref Dictionary> dic, Rigidbody body, ref HashSet bodies) + { + bodies.Add(body); + if (!dic.ContainsKey(body)) + { + return; + } + List list = dic[body]; + foreach (UnityEngine.Joint item in list) + { + if (item.connectedBody != null && !bodies.Contains(item.connectedBody)) + { + getConnectedBodies(ref dic, item.connectedBody, ref bodies); + } + Rigidbody component = item.gameObject.GetComponent(); + if (component != null && !bodies.Contains(component)) + { + getConnectedBodies(ref dic, component, ref bodies); + } + } + } + + public static void moveConnectedBodies(Rigidbody start, Matrix4x4 newPose) + { + Dictionary> dic = buildMapOfJoints(); + HashSet bodies = new HashSet(); + getConnectedBodies(ref dic, start, ref bodies); + Matrix4x4 matrix4x = Matrix4x4.TRS(start.transform.position, start.transform.rotation, new Vector3(1f, 1f, 1f)); + foreach (Rigidbody item in bodies) + { + Matrix4x4 matrix4x2 = Matrix4x4.TRS(item.transform.position, item.transform.rotation, new Vector3(1f, 1f, 1f)); + Matrix4x4 inverse = matrix4x.inverse; + matrix4x2 = inverse * matrix4x2; + matrix4x2 = newPose * matrix4x2; + Vector3 pos; + Quaternion rot; + Vector3 scale; + MatrixToTRS(matrix4x2, out pos, out rot, out scale); + item.transform.position = pos; + item.transform.rotation = rot; + } + } + } +} diff --git a/Assets/Scripts/PhysicsTools/Utility.cs.meta b/Assets/Scripts/PhysicsTools/Utility.cs.meta new file mode 100644 index 000000000..4ece68aa7 --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Utility.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 93c19397aa18981aebed2e7aba8ca270 +timeCreated: 1771646562 +licenseType: Free +MonoImporter: + serializedVersion: 2 + name: + externalObjects: {} + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PhysicsTools/Winch.cs b/Assets/Scripts/PhysicsTools/Winch.cs new file mode 100644 index 000000000..52fb4201c --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Winch.cs @@ -0,0 +1,103 @@ +using System; +using UnityEngine; + +namespace PhysicsTools +{ + public class Winch : MonoBehaviour + { + public float brakeForce; + + public float heaveTorque; + + public float tensionTorque; + + public float radius; + + public float length; + + public float inertia; + + public float maxRopeLength; + + public float minRopeLength; + + public float rpm; + + public float maxRPM; + + private float omega; + + public Rope rope; + + public Winch() + { + radius = 1f; + length = 1f; + maxRPM = 1f; + omega = 0f; + } + + private void FixedUpdate() + { + float fixedDeltaTime = Time.fixedDeltaTime; + float num = tensionTorqueValue() - heaveTorque; + float num2 = num / inertia; + float num3 = brakeForce * radius / inertia; + float num4 = omega + num2 * fixedDeltaTime; + if ((num2 < 0f && rope.getLength() > minRopeLength) || (num2 > 0f && num2 > num3 && rope.getLength() < maxRopeLength)) + { + if (num4 > 0f && num4 - num3 * fixedDeltaTime < 0f) + { + num4 = 0f; + } + else if (num4 < 0f && num4 + num3 * fixedDeltaTime > 0f) + { + num4 = 0f; + } + else if (num4 > 0f) + { + num4 -= num3 * fixedDeltaTime; + } + else if (num4 < 0f) + { + num4 += num3 * fixedDeltaTime; + } + omega = num4; + rope.changeLength(getLinearSpeed() * fixedDeltaTime); + } + else + { + omega = 0f; + } + rpm = omega / 6.28318f * 60f; + if (Math.Abs(rpm) > maxRPM) + { + if (rpm < 0f) + { + rpm = 0f - maxRPM; + } + else + { + rpm = maxRPM; + } + } + omega = rpm / 60f * 6.28318f; + } + + private float tensionTorqueValue() + { + tensionTorque = radius * getTension(); + return tensionTorque; + } + + private float getLinearSpeed() + { + return omega * radius; + } + + private float getTension() + { + return rope.getTension(); + } + } +} diff --git a/Assets/Scripts/PhysicsTools/Winch.cs.meta b/Assets/Scripts/PhysicsTools/Winch.cs.meta new file mode 100644 index 000000000..5e0f1ae1b --- /dev/null +++ b/Assets/Scripts/PhysicsTools/Winch.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: fac89f9401be21c56be128e602bbd1cd +timeCreated: 1771646562 +licenseType: Free +MonoImporter: + serializedVersion: 2 + name: + externalObjects: {} + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TFP/_Standard/0_Extra/Water/0)PondGI.mat b/Assets/TFP/_Standard/0_Extra/Water/0)PondGI.mat index 8bde751d6..cf445da7c 100644 --- a/Assets/TFP/_Standard/0_Extra/Water/0)PondGI.mat +++ b/Assets/TFP/_Standard/0_Extra/Water/0)PondGI.mat @@ -24,7 +24,8 @@ Material: m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] + m_ValidKeywords: + - _EMISSION m_InvalidKeywords: [] m_LightmapFlags: 6 m_EnableInstancingVariants: 0 @@ -156,8 +157,11 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 - _AlphaClip: 0 + - _AlphaToMask: 0 - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - _ClearCoatMask: 0 - _ClearCoatSmoothness: 0 @@ -167,6 +171,7 @@ Material: - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 - _EnvironmentReflections: 1 - _FoamAmount: 0.5 - _FogHeight: 1 @@ -192,6 +197,7 @@ Material: - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 - _Surface: 0 - _Tesselation: 1 - _Tiling: 2 @@ -201,6 +207,7 @@ Material: - _VSpeed: -0.1 - _WaveHeightFoam: 0 - _WorkflowMode: 1 + - _XRMotionVectorsPass: 1 - _ZWrite: 1 m_Colors: - _BaseColor: {r: 0.22745094, g: 0.27843133, b: 0.15686268, a: 1} diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 81009168c..24110ac0b 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -9,31 +9,31 @@ EditorUserSettings: value: 18134705175a055722080a3115371d4a0d55006876786860616b0471b8b07a68ffab74f9ee2a3a30300cea1a11320d0beb1a0c25f7060f494b4cc80018eb09361fc211cb1f862d19c51d19dcc413d6ade0d8ddfcddf9f4d9d29195fcfde6ebeae6f0a9c9afa6f8c5b89ff7a1aacececac4eba4d7c9d28bda flags: 0 RecentlyUsedSceneGuid-0: - value: 005305510002080a0b0c5d7a40725b4444151c2e7f2a73347c2f1c31b7e43069 + value: 5b08515306560a0a0b0b542449770715474e4d7d7b7f7769792b1863e6b7313d flags: 0 RecentlyUsedSceneGuid-1: - value: 0700575554055059090c597611270a44154f19782e7a7e63757c4f6be7b66068 + value: 5705040755540d0b5c5f547b417707134216487d7b707e6529714c6be6e33169 flags: 0 RecentlyUsedSceneGuid-2: - value: 0157070300060d0c5c595a2346710d44174f497e2a2d223478714d32b2b86561 + value: 00080756500d0d0355580a7049770a44454e19732f7b7f3575794566b2b6376a flags: 0 RecentlyUsedSceneGuid-3: - value: 55020355010d5b095c5b582016755944131619782d7a7e36742c4f32e7b66c39 + value: 5702075052030b0e5458087142770745104f4a7d747d72667e2d4d36b2b8676f flags: 0 RecentlyUsedSceneGuid-4: - value: 500702045154585f5a0f5b7346740f44464e1c7f797f7531757d4b32b1e4373d + value: 5a520c0256040b0b0f5d5a7643775914474e412e2f70243678704c6ae0e16c6d flags: 0 RecentlyUsedSceneGuid-5: - value: 0504565e03535f0f540f5d2047760844454e4b7b7b2e72612f7e4f60b7b7373b + value: 0503575f5c57085954560d2447775e4513151e7c292c2035787f4b60b4e23760 flags: 0 RecentlyUsedSceneGuid-6: - value: 54035007010d080c5f5a5c7115260b44104f4c2e797a2331752b4b66e1e13161 + value: 02550255060d590c0c0b097016770b12444f1e2b7e2a2534797f4b60b6e46c60 flags: 0 RecentlyUsedSceneGuid-7: - value: 0553065f5c5359025c5a5b2444205a44174e4c722d2d74667f7d1e61b2b2613a + value: 5309035757065a0a54575f7216265c4444151d28792e72627d2f1935bbb8673a flags: 0 RecentlyUsedSceneGuid-8: - value: 5309035757065a0a54575f7216265c4444151d28792e72627d2f1935bbb8673a + value: 07060c5454040c0a545b547240700a441216417e7f2e7268752c4966b4b0663d flags: 0 RecentlyUsedSceneGuid-9: value: 5505015f5c515a085f5b092149760f441716407a787d7564287b1b36e7e1366e