《Genesis-3D游戏引擎系列教程-进阶篇》1:物理

依然范特西╮ 提交于 2019-12-06 05:42:15

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本

物理

资源下载  工程文件

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

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

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

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

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

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

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

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

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

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

using System;
            using System.Runtime.CompilerServices;
            using ScriptRuntime;
            namespace ScriptRuntime
            {
                public class Impact : ScriptableClass
                {        
                    public override void OnFrame ()
                    {
                        if (Input.KeyPressed (Code.Space)) 
                        {
                            Vector3 pos = Owner.WorldPosition;
                            pos.Y = 8.22f;
                            Owner.WorldPosition = pos;
                            Owner.GetComponent< PhysicsBodyComponent>().MoveToPosition(ref pos);
                        }
                    }
                };
            }

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

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

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

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


引擎官方网站:http://www.genesis-3d.com.cn/

官方论坛:http://bbs.9tech.cn/genesis-3d/

官方千人大群:59113309   135439306

YY频道-游戏开发大讲堂(完全免费,定期开课):51735288 

Genesis-3D开源游戏引擎:游戏起源,皆因有我!!!


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!