Unity笔记——官方教程Roll a ball核心知识点

Roll a ball 的一些关键知识点

1.FixedUpdate、Update、LateUpdate的区别

Update()函数在每一帧都被调用,是所有游戏行为中被应用最频繁的函数,

当一个GameObject具有Rigidbody Component时,在对其Rigidbody进行处理时(比如施加一个三维力向量),在每一个固定帧都需要应用到此物理力,此时应采用FixedUpdate()函数,而非Update()。

LateUpdate在每个Update函数调用之后被调用,次函数常用于脚本执行中。比如,时刻跟踪某一物体的Camera GameObject,它都是在被跟踪物体在Update()函数中移动之后,才随后跟踪此物体的,应该应用LateUpdate()函数。

2.Time.deltaTime

可用于获取上次调用以上三个函数进行更新之后的时间。

3.让游戏镜头跟随某个物体有两种方式

以跟踪运动的球体为例:

第一种方式,在Hierarchy中,将Main Camera置于球体GameObject(Player)的子目录下,即Main Camera是Player的子对象,这样球体移动,Camera也会相应的移动,但是有一个大问题,Camera不仅随着Player的位置变化,其角度也会随着变化,会产生天旋地转的效果,不可取...

第二种方式,给Camera新建Script,定义一个公共属性的GameObject对象player(此player非之前的Player),此公共属性会在manual窗格产生一个接口,用于建立Camera与其他GameObject的联系。将球体GameObject即Player拖拽至此接口,就可以在Camera的Script中获取Player的transform属性了,即能获取其实时位置了(player.transform.position),其位置是一个Vector3对象。

offset:表示被跟踪物体与镜头间的距离;LateUpdate函数的作用是:随着被跟踪物体位置的改变,持续更新镜头位置

4.给物体施加物理力(利用键盘鼠标控制球体移动)

思想:给物体添加Rigidbody组件和script组件,通过Rigidbody.AddForce(Vector3 force)函数实现

实现过程

a. 首先要建立script中变量与球体Rigidbody的关联,定义私有Rigidbody变量rb,在start()初始化函数中为其赋值 rb = GetComponent<RigidBody>()

b.建立新的3维向量,获取键盘输入(WASD键或方向键)

c. 应用以上三维向量给rb赋值物理力

d. 建立公共变量speed,控制移动速度,可在视图窗口更改,无需在script中更改,方便!

e. 以上是在对球体的Rigidbody进行操作,故在FixedUpdate()函数中实现


5.旋转一个物体

利用一个新的三维向量实现

5.两个刚体间碰撞,其中一个刚体消失,另一个碰撞数加1,并在UI Text中体现

球体碰到方块,方块消失不见,在球体的script中利用OnTriggerEnter(Collider other)函数实现。方块的Collider属性中的is Trigger要确保被勾上,还要给方块添加标签Tag。

在球体的script定义公共属性public Text countText,与UI界面的Text建立关联

6.GameObject之间的碰撞问题

选中多个GameObject,在共有属性中把Mesh Renderer前面的打钩去除,可以看到选中GameObject的碰撞体积(collier volume)绿色轮廓。在Unity的物理引擎机制中,是不允许两个以上的碰撞体积产生重叠的,当物理引擎检测到多个碰撞体的轮廓即将发生重叠时,物理引擎会分析这些碰撞体的形状、速度、旋转角度,从而来计算碰撞(collision),计算碰撞的一个主要因子是碰撞体是否是静态或者动态的。计算碰撞时,静态几何体不受碰撞影响,动态几何体则会受影响,比如动态的球体碰到静态的墙壁后被弹回。

但是,当我们把碰撞体设置成触发状态(trigger)后,两个碰撞体积是可以产生重叠的。把某一个碰撞体设置成触发体可以完成很多有用的操作,比如每当玩家走到某一个角落时,他经过一个触发体,都会有一只蜘蛛从天花板落下来。。。此时我们把碰撞体积转换成触发体积(trigger volumes),在相应GameObject的collider Component中把 Is Trigger勾选上即可。

Unity会对所有静态几何体的体积进行计算,并把这些数据存在缓存里,在之后的每一帧,由于静态几何体不产生运动,所以可以不必重复计算。但是每当我们对静态物体进行移动、旋转、缩放时,Unity都会重新对所有静态几何体进行计算并对缓存数据进行更新,缓存的重新计算需要耗费资源。我们对动态几何体进行操作时,Unity则不会重新缓存所有碰撞体的数据。所以我们需要让Unity区分哪些是动态几何体,哪些是静态几何体。

7.动态几何体与静态几何体

一个GameObject如果拥有一个collider及一个Rigidbody,则被认为是动态的;如果附有Collider但是没有Rigidbody则被认为是静态的。

为了节省计算资源,我们必须把保持转动的cube设置成动态几何体,我们为其增加Rigidbody Component,增加之后,由于cube受到重力影响,且cube此时为触发体积而非碰撞体积,所以cube不会与地面产生碰撞作用,会产生坠落效果。

为了解决坠落问题,将cube设置成Kinematic Rigidbody,kinematic刚体不会受到物理力的影响,它在其transform属性的作用下可以产生移动、运动效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容