unity讲义_ch6

unity讲义_ch6

ID:19284370

大小:1.33 MB

页数:15页

时间:2018-09-27

unity讲义_ch6_第1页
unity讲义_ch6_第2页
unity讲义_ch6_第3页
unity讲义_ch6_第4页
unity讲义_ch6_第5页
资源描述:

《unity讲义_ch6》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、6实例化与刚体在这章中,我们将探讨三维游戏设计中的两个基本概念。首先,我们研究“实例化”的概念,利用它可以实现在运行时建立物体;然后通过实现一个“实例化”的实例来学习刚体的物理特性。当在我们制作游戏场景之初,一般我们不会将所有的物体全部展现在场景中。利用一些拼图类游戏中,不可能将全部小物体全部放到场景中,那将占用大量的资源,屏幕也摆放不下。本章将在我们的小岛上实现实例,利用刚体的物理特性,实现简单的“投椰子”游戏。其中椰子在游戏开始时并不存在,这时将用到“实例化”。通过指定一个资源(如预制件)的位置和方向,可以创建一个游戏对象,通过这个功能我们可以在玩家按键时来创建椰子。

2、为了将这个小游戏与前面的开门整合在一起,我们删除一个开门用的电池,打玩家通过打椰子游戏后将会得到一个电池。本书素材中已经提供了一个打椰子用的平台模型,我们将自己建立椰子预制件,并编写代码控制目标靶被打中的效果。目标靶素材已经提供了“翻倒”和“复位”两个动画,我们将编写代码实现在目标靶被打中一定时间后自动复位的功能。这就要求玩家要玩赢得游戏必须在指定时间内同时打倒三个目标靶才行,这加大了游戏的难度,要求玩家掌握一定的投掷技巧,使游戏具有更好的可玩性。在本章中,具体将实现以下内容:•准备用于实例化的预制件•使用命令来完成实现化•检测玩家按键状态•给刚体添加物理性能•给玩家提供

3、反馈6.1实例化介绍在这节中,我们将学习在如何在程序运行时大量制作和复制物体,许多游戏中利用这个原理可以制作发射物体、可收集物体,甚至用于生成角色和敌人等。6.1.1设计原理实例化是利用一个模板(如预制件)在游戏运行时大量制作物体的简单方法,它也可用于复制场景中已经存在的物体。实例化方法通常包含以下几步:•建立要在场景中实例化的物体对象,为其添加必要的组件属性。•为这个物体建立一个预制件,将这个物体拖放到这个预制件上。•删除原来的物体,只保预制件资源。•编写脚本使用Instantiate()命令引用制作的预制件完成实例化,将脚本附加到一个场景物体上。6.1.2脚本实现实例

4、化脚本中的主要命令是Instantiate(),它有三个参数,具体其格式如下:Instantiate(要建立的物体,建立物体的位置,建立物体的方向);仔细理解三个参数的作用是使用该命令的关键。151、传递物体为了传递一个物体参数,可以使用公共成员变量作为Instantiate()函数的第一个参数。在顶部代码中建立一个GameObject类型的公共成员变量,可以在Inspector窗口中拖放一个预制件到该变量作为实参。变量定义及引用如下:varmyPrefab:GameObject;Instantiate(myPrefab,positiontocreateit,rotati

5、ontogiveit);我们也可以限制只允许拖放指定的类型的预制件到myPrefab变量,例如可以写:varmyPrefab:Rigidbody;Instantiate(myPrefab,positiontocreateit,rotationtogiveit);这将限制只有具有Rigidbody组件属性的预制件可以被引用。2、位置和方向被建立的物体的位置和方向要求指定们一个Vector3向量值,例如:Instantiate(myPrefab,Vector3(0,12,30),Vector3(0,0,90));它们也可以从其它物体继承位置和方向的值,当指定要实例化的物体的位

6、置时,首先要确定物体是建立在局部空间还是世界空间。例如,当建立椰子预制件时,我们将它建立在世界空间的一个点上,该点由一个空的游戏对象来定义。这个空对象是玩家对象的一个子物体。这样,椰子建立在局部空间上,由于玩家位置的移动,所以每次建立的位置可能不同。这咱方案要求我们将脚本附加到上面的空物体上,建立的位置由这个空物体而定,可以用点语法来取得,transform.position作为Instantiate()命令的参数。这样椰子取得空物体的位置,方向的取得同上。代码实现如下:varmyPrefab:GameObject;Instantiate(myPrefab,transfo

7、rm.position,transform.rotation);后面我们将实现这个程序,但首先要学习下刚体的物体属性及它在游戏中的重要性。6.2刚体介绍物理引擎为游戏程序提供了真实环境仿真的方法,几乎所有游戏中都提供了内置或插件形式的物理引擎。Unity使用NvidiaPhysX物理引擎,它在目前游戏产业中比较流行。应用物理引擎不仅可以实现物理作用力(如重量和重力),同时可以实现摩擦力、扭矩、质点运动等仿真效果。6.2.1力物理引擎通过力来对物体产生作用,通过脚本和组件可以实现力的不同形式。要使力对物体产生作用,要求物体必须具

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。