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

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

物理

资源下载  工程文件

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

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

20135158_AQfT.png

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

20135158_Hq5O.png

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

20135158_Clfv.png

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

20135158_bche.png

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

20135158_o4Py.png

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

20135158_6R6F.png20135158_6Goh.png

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

20135158_CAXc.png

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

20135158_tzU4.png

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

20135159_Cs8l.png

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

20135159_tbSD.png

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

20135159_B56c.png

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


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

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

官方千人大群:59113309   135439306

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

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


转载于:https://my.oschina.net/Genesis3D/blog/194347

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值