Skip to content

Commit 1d48539

Browse files
committed
First interacting object - a capsule that displaces water. Does not currently compute intersection
with water surface, assumes always submerged.
1 parent 3500381 commit 1d48539

File tree

11 files changed

+413
-74
lines changed

11 files changed

+413
-74
lines changed

src/unity/Assets/Prefabs/Ocean.prefab

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ MonoBehaviour:
8989
m_Name:
9090
m_EditorClassIdentifier:
9191
_showSimTargets: 1
92+
_waveGenGO: {fileID: 0}
9293
--- !u!114 &114853967838761374
9394
MonoBehaviour:
9495
m_ObjectHideFlags: 1

src/unity/Assets/Scenes/main.unity

Lines changed: 182 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ Transform:
247247
m_PrefabInternal: {fileID: 0}
248248
m_GameObject: {fileID: 227134465}
249249
m_LocalRotation: {x: -0, y: -0.7445911, z: -0, w: 0.6675209}
250-
m_LocalPosition: {x: 120.7, y: 5.5, z: 51.1}
250+
m_LocalPosition: {x: 135.6, y: 5.5, z: 52.7}
251251
m_LocalScale: {x: 1, y: 1, z: 1}
252252
m_Children: []
253253
m_Father: {fileID: 0}
@@ -474,7 +474,7 @@ Transform:
474474
m_LocalScale: {x: 200, y: 200, z: 200}
475475
m_Children: []
476476
m_Father: {fileID: 995304123}
477-
m_RootOrder: 5
477+
m_RootOrder: 4
478478
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
479479
--- !u!23 &425566350
480480
MeshRenderer:
@@ -515,34 +515,6 @@ MeshFilter:
515515
m_PrefabInternal: {fileID: 0}
516516
m_GameObject: {fileID: 425566348}
517517
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
518-
--- !u!1 &495504283
519-
GameObject:
520-
m_ObjectHideFlags: 0
521-
m_PrefabParentObject: {fileID: 0}
522-
m_PrefabInternal: {fileID: 0}
523-
serializedVersion: 5
524-
m_Component:
525-
- component: {fileID: 495504284}
526-
m_Layer: 0
527-
m_Name: Obstacles
528-
m_TagString: Untagged
529-
m_Icon: {fileID: 0}
530-
m_NavMeshLayer: 0
531-
m_StaticEditorFlags: 0
532-
m_IsActive: 1
533-
--- !u!4 &495504284
534-
Transform:
535-
m_ObjectHideFlags: 0
536-
m_PrefabParentObject: {fileID: 0}
537-
m_PrefabInternal: {fileID: 0}
538-
m_GameObject: {fileID: 495504283}
539-
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
540-
m_LocalPosition: {x: -66.1, y: 0, z: -66.4}
541-
m_LocalScale: {x: 1, y: 1, z: 1}
542-
m_Children: []
543-
m_Father: {fileID: 995304123}
544-
m_RootOrder: 3
545-
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
546518
--- !u!1 &605553226
547519
GameObject:
548520
m_ObjectHideFlags: 0
@@ -832,6 +804,88 @@ MonoBehaviour:
832804
m_Name:
833805
m_EditorClassIdentifier:
834806
_matCombineSims: {fileID: 2100000, guid: 1cd2262c7588b1349bd59739632817e2, type: 2}
807+
--- !u!1 &791824592
808+
GameObject:
809+
m_ObjectHideFlags: 0
810+
m_PrefabParentObject: {fileID: 0}
811+
m_PrefabInternal: {fileID: 0}
812+
serializedVersion: 5
813+
m_Component:
814+
- component: {fileID: 791824596}
815+
- component: {fileID: 791824595}
816+
- component: {fileID: 791824593}
817+
- component: {fileID: 791824597}
818+
m_Layer: 8
819+
m_Name: CapsuleInteraction
820+
m_TagString: Untagged
821+
m_Icon: {fileID: 0}
822+
m_NavMeshLayer: 0
823+
m_StaticEditorFlags: 0
824+
m_IsActive: 1
825+
--- !u!23 &791824593
826+
MeshRenderer:
827+
m_ObjectHideFlags: 0
828+
m_PrefabParentObject: {fileID: 0}
829+
m_PrefabInternal: {fileID: 0}
830+
m_GameObject: {fileID: 791824592}
831+
m_Enabled: 1
832+
m_CastShadows: 1
833+
m_ReceiveShadows: 1
834+
m_MotionVectors: 1
835+
m_LightProbeUsage: 1
836+
m_ReflectionProbeUsage: 1
837+
m_Materials:
838+
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
839+
m_StaticBatchInfo:
840+
firstSubMesh: 0
841+
subMeshCount: 0
842+
m_StaticBatchRoot: {fileID: 0}
843+
m_ProbeAnchor: {fileID: 0}
844+
m_LightProbeVolumeOverride: {fileID: 0}
845+
m_ScaleInLightmap: 1
846+
m_PreserveUVs: 1
847+
m_IgnoreNormalsForChartDetection: 0
848+
m_ImportantGI: 0
849+
m_SelectedEditorRenderState: 3
850+
m_MinimumChartSize: 4
851+
m_AutoUVMaxDistance: 0.5
852+
m_AutoUVMaxAngle: 89
853+
m_LightmapParameters: {fileID: 0}
854+
m_SortingLayerID: 0
855+
m_SortingLayer: 0
856+
m_SortingOrder: 0
857+
--- !u!33 &791824595
858+
MeshFilter:
859+
m_ObjectHideFlags: 0
860+
m_PrefabParentObject: {fileID: 0}
861+
m_PrefabInternal: {fileID: 0}
862+
m_GameObject: {fileID: 791824592}
863+
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
864+
--- !u!4 &791824596
865+
Transform:
866+
m_ObjectHideFlags: 0
867+
m_PrefabParentObject: {fileID: 0}
868+
m_PrefabInternal: {fileID: 0}
869+
m_GameObject: {fileID: 791824592}
870+
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
871+
m_LocalPosition: {x: 0, y: 0, z: 0}
872+
m_LocalScale: {x: 1, y: 1, z: 1}
873+
m_Children: []
874+
m_Father: {fileID: 1614785323}
875+
m_RootOrder: 0
876+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
877+
--- !u!114 &791824597
878+
MonoBehaviour:
879+
m_ObjectHideFlags: 0
880+
m_PrefabParentObject: {fileID: 0}
881+
m_PrefabInternal: {fileID: 0}
882+
m_GameObject: {fileID: 791824592}
883+
m_Enabled: 1
884+
m_EditorHideFlags: 0
885+
m_Script: {fileID: 11500000, guid: 6ceafe449ea57e544ba1fa6bfe9e10c6, type: 3}
886+
m_Name:
887+
m_EditorClassIdentifier:
888+
_shader: {fileID: 4800000, guid: 3772d74a62556bc4eb2c2186fb3eaa17, type: 3}
835889
--- !u!1 &882135356
836890
GameObject:
837891
m_ObjectHideFlags: 0
@@ -927,9 +981,8 @@ Transform:
927981
m_LocalScale: {x: 1, y: 1, z: 1}
928982
m_Children:
929983
- {fileID: 750019623}
930-
- {fileID: 1163676061}
984+
- {fileID: 2107384643}
931985
- {fileID: 1989479267}
932-
- {fileID: 495504284}
933986
- {fileID: 1184746913}
934987
- {fileID: 425566349}
935988
m_Father: {fileID: 0}
@@ -1147,48 +1200,19 @@ Prefab:
11471200
propertyPath: m_RootOrder
11481201
value: 1
11491202
objectReference: {fileID: 0}
1150-
- target: {fileID: 114853967838761374, guid: 8454e29c2a033974fb559f5f8eff1918,
1151-
type: 2}
1152-
propertyPath: _viewpoint
1153-
value:
1154-
objectReference: {fileID: 227134470}
11551203
- target: {fileID: 114500934267837144, guid: 8454e29c2a033974fb559f5f8eff1918,
11561204
type: 2}
11571205
propertyPath: _waveGenGO
11581206
value:
11591207
objectReference: {fileID: 1184746912}
1208+
- target: {fileID: 114853967838761374, guid: 8454e29c2a033974fb559f5f8eff1918,
1209+
type: 2}
1210+
propertyPath: _viewpoint
1211+
value:
1212+
objectReference: {fileID: 227134470}
11601213
m_RemovedComponents: []
11611214
m_ParentPrefab: {fileID: 100100000, guid: 8454e29c2a033974fb559f5f8eff1918, type: 2}
11621215
m_IsPrefabParent: 0
1163-
--- !u!1 &1163676060
1164-
GameObject:
1165-
m_ObjectHideFlags: 0
1166-
m_PrefabParentObject: {fileID: 0}
1167-
m_PrefabInternal: {fileID: 0}
1168-
serializedVersion: 5
1169-
m_Component:
1170-
- component: {fileID: 1163676061}
1171-
m_Layer: 0
1172-
m_Name: GerstnerWaves
1173-
m_TagString: Untagged
1174-
m_Icon: {fileID: 0}
1175-
m_NavMeshLayer: 0
1176-
m_StaticEditorFlags: 0
1177-
m_IsActive: 1
1178-
--- !u!4 &1163676061
1179-
Transform:
1180-
m_ObjectHideFlags: 0
1181-
m_PrefabParentObject: {fileID: 0}
1182-
m_PrefabInternal: {fileID: 0}
1183-
m_GameObject: {fileID: 1163676060}
1184-
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1185-
m_LocalPosition: {x: 0, y: 0, z: 0}
1186-
m_LocalScale: {x: 1, y: 1, z: 1}
1187-
m_Children:
1188-
- {fileID: 2107384643}
1189-
m_Father: {fileID: 995304123}
1190-
m_RootOrder: 1
1191-
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
11921216
--- !u!1 &1184746912
11931217
GameObject:
11941218
m_ObjectHideFlags: 0
@@ -1222,7 +1246,7 @@ Transform:
12221246
- {fileID: 1086151323}
12231247
- {fileID: 1232321560}
12241248
m_Father: {fileID: 995304123}
1225-
m_RootOrder: 4
1249+
m_RootOrder: 3
12261250
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
12271251
--- !u!1 &1217380164
12281252
GameObject:
@@ -1495,6 +1519,7 @@ Transform:
14951519
- {fileID: 1589415981}
14961520
- {fileID: 1436177741}
14971521
- {fileID: 1242000540}
1522+
- {fileID: 1614785323}
14981523
m_Father: {fileID: 0}
14991524
m_RootOrder: 3
15001525
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1563,6 +1588,91 @@ Transform:
15631588
m_Father: {fileID: 1566317005}
15641589
m_RootOrder: 0
15651590
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1591+
--- !u!1 &1614785319
1592+
GameObject:
1593+
m_ObjectHideFlags: 0
1594+
m_PrefabParentObject: {fileID: 0}
1595+
m_PrefabInternal: {fileID: 0}
1596+
serializedVersion: 5
1597+
m_Component:
1598+
- component: {fileID: 1614785323}
1599+
- component: {fileID: 1614785322}
1600+
- component: {fileID: 1614785320}
1601+
- component: {fileID: 1614785324}
1602+
m_Layer: 0
1603+
m_Name: CapsuleInteraction
1604+
m_TagString: Untagged
1605+
m_Icon: {fileID: 0}
1606+
m_NavMeshLayer: 0
1607+
m_StaticEditorFlags: 0
1608+
m_IsActive: 1
1609+
--- !u!23 &1614785320
1610+
MeshRenderer:
1611+
m_ObjectHideFlags: 0
1612+
m_PrefabParentObject: {fileID: 0}
1613+
m_PrefabInternal: {fileID: 0}
1614+
m_GameObject: {fileID: 1614785319}
1615+
m_Enabled: 1
1616+
m_CastShadows: 1
1617+
m_ReceiveShadows: 1
1618+
m_MotionVectors: 1
1619+
m_LightProbeUsage: 1
1620+
m_ReflectionProbeUsage: 1
1621+
m_Materials:
1622+
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
1623+
m_StaticBatchInfo:
1624+
firstSubMesh: 0
1625+
subMeshCount: 0
1626+
m_StaticBatchRoot: {fileID: 0}
1627+
m_ProbeAnchor: {fileID: 0}
1628+
m_LightProbeVolumeOverride: {fileID: 0}
1629+
m_ScaleInLightmap: 1
1630+
m_PreserveUVs: 1
1631+
m_IgnoreNormalsForChartDetection: 0
1632+
m_ImportantGI: 0
1633+
m_SelectedEditorRenderState: 3
1634+
m_MinimumChartSize: 4
1635+
m_AutoUVMaxDistance: 0.5
1636+
m_AutoUVMaxAngle: 89
1637+
m_LightmapParameters: {fileID: 0}
1638+
m_SortingLayerID: 0
1639+
m_SortingLayer: 0
1640+
m_SortingOrder: 0
1641+
--- !u!33 &1614785322
1642+
MeshFilter:
1643+
m_ObjectHideFlags: 0
1644+
m_PrefabParentObject: {fileID: 0}
1645+
m_PrefabInternal: {fileID: 0}
1646+
m_GameObject: {fileID: 1614785319}
1647+
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
1648+
--- !u!4 &1614785323
1649+
Transform:
1650+
m_ObjectHideFlags: 0
1651+
m_PrefabParentObject: {fileID: 0}
1652+
m_PrefabInternal: {fileID: 0}
1653+
m_GameObject: {fileID: 1614785319}
1654+
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1655+
m_LocalPosition: {x: 95.6, y: 0, z: 120.9}
1656+
m_LocalScale: {x: 8, y: 4, z: 8}
1657+
m_Children:
1658+
- {fileID: 791824596}
1659+
m_Father: {fileID: 1566317005}
1660+
m_RootOrder: 3
1661+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1662+
--- !u!114 &1614785324
1663+
MonoBehaviour:
1664+
m_ObjectHideFlags: 0
1665+
m_PrefabParentObject: {fileID: 0}
1666+
m_PrefabInternal: {fileID: 0}
1667+
m_GameObject: {fileID: 1614785319}
1668+
m_Enabled: 1
1669+
m_EditorHideFlags: 0
1670+
m_Script: {fileID: 11500000, guid: bcb72eadd45530c419eaecda9328231d, type: 3}
1671+
m_Name:
1672+
m_EditorClassIdentifier:
1673+
_axis: {x: 0, y: 1, z: 0}
1674+
_amplitude: 2.5
1675+
_freq: 1.91
15661676
--- !u!1 &1838558565
15671677
GameObject:
15681678
m_ObjectHideFlags: 0
@@ -1754,10 +1864,10 @@ Transform:
17541864
m_GameObject: {fileID: 2107384642}
17551865
m_LocalRotation: {x: -0.7071068, y: -0.000000005268356, z: 0.000000005268356, w: 0.7071068}
17561866
m_LocalPosition: {x: 0, y: 10, z: -0.000011444092}
1757-
m_LocalScale: {x: 14.021688, y: 14.021726, z: 14.021727}
1867+
m_LocalScale: {x: 14.021688, y: 14.021733, z: 14.021734}
17581868
m_Children: []
1759-
m_Father: {fileID: 1163676061}
1760-
m_RootOrder: 0
1869+
m_Father: {fileID: 995304123}
1870+
m_RootOrder: 1
17611871
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
17621872
--- !u!114 &2107384646
17631873
MonoBehaviour:
@@ -1771,11 +1881,11 @@ MonoBehaviour:
17711881
m_Name:
17721882
m_EditorClassIdentifier:
17731883
_numOctaves: 64
1774-
_wavelengthDistribution: 4
1884+
_wavelengthDistribution: 3
17751885
_windDirectionAngle: 0
17761886
_waveDirectionVariance: 45
17771887
_windSpeed: 8
1778-
_choppiness: 0
1888+
_choppiness: 1
17791889
_rasterMesh: {fileID: 4300006, guid: a1af256fbecad4a4fa3f385d4cde20c7, type: 3}
17801890
_waveShader: {fileID: 4800000, guid: 680b41329a8923e40a8f9d6ca86f60a8, type: 3}
17811891
_randomSeed: 1

src/unity/Assets/Scripts/Helpers/PingPongRts.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
using UnityEngine;
1+
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE)
2+
3+
using UnityEngine;
24

35
namespace Crest
46
{
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE)
2+
3+
using UnityEngine;
4+
5+
namespace Crest
6+
{
7+
public class RandomMotion : MonoBehaviour
8+
{
9+
public Vector3 _axis = Vector3.up;
10+
[Range( 0, 5 )]
11+
public float _amplitude = 1f;
12+
[Range( 0, 5 )]
13+
public float _freq = 1f;
14+
15+
Vector3 _origin;
16+
17+
void Start()
18+
{
19+
_origin = transform.position;
20+
}
21+
22+
void Update()
23+
{
24+
// do circles in perlin noise
25+
float rnd = 2f * (Mathf.PerlinNoise( 0.5f + 0.5f * Mathf.Cos( _freq * Time.time ), 0.5f + 0.5f * Mathf.Sin( _freq * Time.time ) ) - 0.5f);
26+
transform.position = _origin + _axis * _amplitude * rnd;
27+
}
28+
}
29+
}

0 commit comments

Comments
 (0)