Genesis-3D新手入门——15.物理

物理

物理组件是实现游戏功能的重要组成部分,Genesis-3D中三种物理组件刚体、碰撞器、角色控制器分别有其各自的作用,本篇文档将通过给简单的物体模型添加物理组件的方式来向大家展示物理组件的作用和使用方法。

1.创建游戏工程,参照“转动的球体”文档,在场景中导入一个球体。

Genesis-3D新手入门——15.物理_第1张图片

2.在场景中添加一个立方体。如图所示,点击创建,立方体。

Genesis-3D新手入门——15.物理_第2张图片

3.调整球体和立方体的大小。为了做出球体落在立方体平面上弹起的效果,我们需要变换球体和立方体的大小,这可以在变换界面通过输入数值来实现,也可以通过Ctrl+R来实现。调整之后的场景如图所示

Genesis-3D新手入门——15.物理_第3张图片

4.添加碰撞体。点击属性面板最下面的“+添加组件”,球体添加球形碰撞体,立方体添加立方体碰撞体。如图所示

Genesis-3D新手入门——15.物理_第4张图片

5.修改刚体类型。刚体使你的游戏对象受物理引擎控制,为球体添加动态刚体,立方体添加静态刚体即可。

Genesis-3D新手入门——15.物理_第5张图片

6.在资源管理器添加物理材质。

Genesis-3D新手入门——15.物理_第6张图片Genesis-3D新手入门——15.物理_第7张图片

7.调整弹力。为了使球体能够接近现实中落下弹起并幅度逐渐减小的现象,在环境面板中的物理环境下,点击“默认材质” 后的小箭头,选择刚刚添加的物理材质。

Genesis-3D新手入门——15.物理_第8张图片

   这时在右侧的资源面板中可以看到动态、静态摩擦力、弹力等,以下是我设置的参数,你也可以自己尝试修改,达到不一样的效果。

Genesis-3D新手入门——15.物理_第9张图片

8.添加脚本。为了赋予这个球体一个初始的自由下落的高度,用Space键控制,我们编写了一段简单的代码来实现这个功能,具体如图所示

01 using System;
02 using System.Runtime.CompilerServices;
03 using ScriptRuntime;
04 namespace ScriptRuntime
05 {
06     public class Impact : ScriptableClass
07     {       
08         public override void OnFrame ()
09         {
10             if (Input.KeyPressed (Code.Space))
11             {
12                 Vector3 pos = Owner.WorldPosition;
13                 pos.Y = 8.22f;
14                 Owner.WorldPosition = pos;
15                 Owner.GetComponent< PhysicsBodyComponent>().MoveToPosition(ref pos);
16             }
17         }
18     };
19 }

9.贴图。要想让场景美观,我们需要为球体和立方体上贴图,选择自己喜欢的贴图,在材质面板选择,如图所示

Genesis-3D新手入门——15.物理_第10张图片

   贴图完成之后,场景如图所示

Genesis-3D新手入门——15.物理_第11张图片

10.发布并运行游戏。想要观察到我们所做的游戏,点击发布游戏,选择好路径之后打开它,即可以看到我们设计的游戏,如图所示

Genesis-3D新手入门——15.物理_第12张图片

这样,一个简单的应用物理组件的演示游戏制作完成,准备好迎接接下来的挑战吧!

 

你可能感兴趣的:(Genesis-3D新手入门——15.物理)