Dynamic Water Physics 2动态水系统使用指南

2024-03-13 21:28

本文主要是介绍Dynamic Water Physics 2动态水系统使用指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、官方文档说明

水系统部分

1.任何处于活动状态并带有WaterObject组件的物理对象都将与水交互,
WaterObject工作的两个要求:刚体和网格过滤器(MeshFilter)。
刚体不必与WaterObject在同一个物体上,但必须存在于其父物体之一。这允许使用复合对象:一个刚体有多个船体——比如三体船。

2.设置可与水交互的物体,可添加WaterObjectWizard脚本(处理所有的浮力和流体动力学计算),然后点击Auto-Setup。

3.MassFromMaterial脚本,可以基于材质计算和设置刚体质量,密度和网格体积。

4.全部平坦水资源/着色器使用相同的WaterDataProvider:FlatWaterDataProvide,而对于波浪形资源,如Crest,必须使用特定于资源的WaterDataProvider,例如:CrestWaterDataProvider。

5.WaterParticleSystem可用于产生泡沫,它适用于任何平坦的水域。将Resources中的DefaultWaterParticleSystem预制体拖到场景作为父物体,放在水面上,运行程序即可看到泡沫。沿X-Z轴发射,不适用于波浪水资源。

6.CenterOfMass脚本,用于自动调整质心(重心),v2.5版本改为VariableCenterOfMass

7.MassFromVolume脚本,用于根据网格的体积和密度计算对象的质量。网格的体积将自动计算。质量字段也可以手动设置。可以与MassFromChildren一起使用来计算复杂对象(对象具有多个子WaterObject)。

8.MassFromChildren用于从子对象中确定刚体的质量。它总结了所有附加了MassFromVolume脚本的子对象。(确保至少有一个子对象附加了MassFromVolume,否则结果将为0并被忽略)

9.Dynamic Water Physics 2与Crest v10或更新版本兼容。旧版本具有不同的API。Crest支持水的高度、法线和流量。

船舶控制部分

1.船舶通过Input类检索输入,该类从InputProvider检索输入,并将检索到的数据填充InputStates结构。
InputProviders分为ShipInputProviders和SceneInputProviders。ShipInputProviders负责船舶输入(油门、刹车等),而SceneInputProviders负责场景输入(船舶更换、摄像机更换、摄像机移动以及与船舶无关的其他输入)。每个输入中都需要有一个(例如InputSystemShipInputProvider和InputSystemSceneInputProvider)。
场景中可以存在多个不同的InputProviders(需要v1.0或更新版本)。例如,InputSystemProviders和MobileInputProviders可以在同一场景中使用。在输入数字的情况下,结果输入将是来自所有InputProviders的输入的总和,在输入布尔的情况中,结果输入是所有输入的逻辑或运算。
输入存储在InputStates对象中,可以从一艘船复制到另一艘船。
要手动设置InputStates,请确保将Auto Settable设置为false。

2.所有InputProviders都继承自ShipInputProviderBase或SceneInputProviderBase,但在实现上有所不同。

3.首次导入插件需将InputBindings.txt的内容粘贴到InputManager.asset的末尾,或者在Project Settings自行输入。

4.要在场景中设置基于InputManager的输入,将以下组件添加到场景中:InputManagerShipInputProvider,InputManagerSceneInputProvider,场景中的任何船只都将接收来自这些提供者的输入。

5.船舶配置
将船对象添加到场景中,并将其Tag标记为Ship(如果不存在,则添加Tag)。标签是唯一必要的,以便换船时可以找到你的船。
将WaterObjectWizard组件添加到船对象中。
将AdvancedShipController组件添加到父对象(包含刚体的对象)。
将重心组件添加到父对象,并将重心调整为靠近船的底部(绿色球体)。如果不这样做,船只很可能会向一侧倾斜。

6.方向舵配置
将方向舵物体指定给Rudders下的Rudder Transform。
将WaterObject组件添加到方向舵,使其也可以与水交互。
将任意类型的Camera添加到船舶对象(作为子对象),并将其标记为ShipCamera。
按下运行并使用V按钮(默认更改船舶按钮)循环到您的飞船。船现在漂浮着,船舵转动。如果方向舵绕着错误的轴旋转,则需要固定模型的旋转。
舵是用来操纵船的。
每个舵都是一个水上物体,通过与水的定期互动来控制船只。
如果视觉方向舵太小,可以使用隐形方向舵。要实现此,请使用WaterObjectWizard对其进行设置,将其调整到所需的比例,最后禁用MeshFilter。这将导致方向舵与水相互作用,但不可见。

7.引擎配置
在Engines下添加一个引擎,并设置所需的值(将鼠标悬停在每个值上以查看其作用)。如果推力位置(Thrust Position)高于水面且未选中高于水面时施加推力(Apply Thrust When Above Water),则不会施加推力。
默认推力位置为[0,0,0]。请确保调整此值以适合您的船。
每艘船可以有多个引擎。

8.推进器
较大的船只通常有船头和船尾推进器(Thruster)来帮助它们机动。当按下正输入时,推进器显示为一个蓝色球体,带有一条指示推力方向的线。
推进器可以在不使用主发动机的情况下用于移动船只。它们可以向船的左舷或右舷施加推力。

9.引擎声
将AudioSource添加到船上,并为其指定一个循环的引擎声音片段。将AudioSSource拖动到某个引擎下的Running Source。
Starting Source和Starting Source也应如此。将Start Duration和Stop Duration调整为略短于开始片段和停止片段的长度。

这篇关于Dynamic Water Physics 2动态水系统使用指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806245

相关文章

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.