新增动态水物理插件

This commit is contained in:
Bob.Song
2026-02-27 17:44:21 +08:00
parent a6e061d9ce
commit 60744d113d
2218 changed files with 698551 additions and 189 deletions

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6155482a401f431aa1d81663d1ef6328
timeCreated: 1593008532

View File

@@ -0,0 +1,46 @@
// ╔════════════════════════════════════════════════════════════════╗
// ║ Copyright © 2025 NWH Coding d.o.o. All rights reserved. ║
// ║ Licensed under Unity Asset Store Terms of Service: ║
// ║ https://unity.com/legal/as-terms ║
// ║ Use permitted only in compliance with the License. ║
// ║ Distributed "AS IS", without warranty of any kind. ║
// ╚════════════════════════════════════════════════════════════════╝
#if UNITY_EDITOR
#region
using NWH.NUI;
using NWH.DWP2.WaterObjects;
using UnityEditor;
#endregion
namespace NWH.DWP2
{
/// <summary>
/// Custom inspector for WaterObjectMaterial.
/// </summary>
[CustomEditor(typeof(WaterObjectMaterial))]
[CanEditMultipleObjects]
public class WaterObjectMaterialEditor : DWP2NUIEditor
{
/// <summary>
/// Draws custom inspector GUI for WaterObjectMaterial.
/// </summary>
public override bool OnInspectorNUI()
{
if (!base.OnInspectorNUI())
{
return false;
}
drawer.Field("density");
drawer.EndEditor(this);
return true;
}
}
}
#endif

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7eea0dd9f8424a68a8be74e7efd1b4fa
timeCreated: 1593008530

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 42d77d1ef45b8a3409309e441a100e2b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Aluminum
m_EditorClassIdentifier:
density: 2700

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e662794a6e68dba4cadc5c4d1e2ae943
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Bottle - Empty
m_EditorClassIdentifier:
density: 80

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: be16c1016c27c3542ac565a3f3c35650
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Brick
m_EditorClassIdentifier:
density: 1800

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a9bf2850b5467f94385f721462f69115
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Concrete
m_EditorClassIdentifier:
density: 2300

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b4c3c2ad764665344be08dd3dd062838
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Copper
m_EditorClassIdentifier:
density: 8300

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 89fbf5fa6b420cc4085be0019b14d787
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Cork
m_EditorClassIdentifier:
density: 120

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7a1c17fc0b7d09546b49c0193ea37d7f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Default
m_EditorClassIdentifier:
density: 500

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a43f47272e61c6544964556b82effb8f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Glass
m_EditorClassIdentifier:
density: 2700

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f119dee50e10486419f9a6b0133099dc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: HumanBody
m_EditorClassIdentifier:
density: 950

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: eca70d469947b9844b97db7f30aac137
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Ice
m_EditorClassIdentifier:
density: 920

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 306f40901719f4040955d6e5dd9d963f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Lead
m_EditorClassIdentifier:
density: 11300

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 247bba41d6378e44db048875c6da8551
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Oil
m_EditorClassIdentifier:
density: 920

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 33968881da0b22e44bc7d19bf2db5b7e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Plastic
m_EditorClassIdentifier:
density: 1200

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 093f7874d7a6d6445abf82fd6c58ae02
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Rubber
m_EditorClassIdentifier:
density: 1200

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1e0a6964be0e52847b9601e732c2b54a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Sand
m_EditorClassIdentifier:
density: 1500

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 01475980b546ea94fa509e12808073c2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Snow
m_EditorClassIdentifier:
density: 560

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ac07bed869159c24ba7a8b21bf87ed01
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Steel
m_EditorClassIdentifier:
density: 7800

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d0d15a947a6ba224fb501c3b65fa59ba
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Titanium
m_EditorClassIdentifier:
density: 4500

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 317fa8ed3a25ba745b8cafd75e9dccb9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Wood - Aspen
m_EditorClassIdentifier:
density: 420

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b86190ebd65a8704cbea83fd71b016df
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Wood - Balsa
m_EditorClassIdentifier:
density: 160

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 806fe45366f6c0d408aa620e96395d53
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Wood - Beech
m_EditorClassIdentifier:
density: 800

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e2aa2f3f85f035545a44a19bf82c0db5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Wood - Birch
m_EditorClassIdentifier:
density: 670

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ee8809750e051d944a439de7b897dbfe
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 8588a0103d7149e58d7a81d9673d5330, type: 3}
m_Name: Wooden Crate - Empty
m_EditorClassIdentifier:
density: 90

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 97b293688a6d65641853dea8bdf789a8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,33 @@
// ╔════════════════════════════════════════════════════════════════╗
// ║ Copyright © 2025 NWH Coding d.o.o. All rights reserved. ║
// ║ Licensed under Unity Asset Store Terms of Service: ║
// ║ https://unity.com/legal/as-terms ║
// ║ Use permitted only in compliance with the License. ║
// ║ Distributed "AS IS", without warranty of any kind. ║
// ╚════════════════════════════════════════════════════════════════╝
#region
using UnityEngine;
#endregion
namespace NWH.DWP2.WaterObjects
{
/// <summary>
/// ScriptableObject defining material properties for mass calculation.
/// Contains density value used by MassFromVolume to calculate object mass.
/// Create via Assets > Create > Dynamic Water Physics 2 > Water Object Material.
/// </summary>
[CreateAssetMenu(fileName = "WaterObjectMaterial", menuName = "Dynamic Water Physics 2/Water Object Material",
order = 0)]
public class WaterObjectMaterial : ScriptableObject
{
/// <summary>
/// Material density in kg/m³.
/// Used with mesh volume to calculate realistic object mass.
/// Examples: Wood ~600, Ice ~920, Aluminum ~2700, Steel ~7850.
/// </summary>
public float density = 600;
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8588a0103d7149e58d7a81d9673d5330
timeCreated: 1593008450