Unity入门 - Roll the Ball!

// Unity学习笔记,自己会记录一些学习中遇到的问题,可以给自己看也可以给需要的人看,希望能帮助掉在同样坑里的小伙伴们

// 初学者,没太多编程基础,所以难免可能会有写错的地方,请见谅

Let's go!

昨天正式开始学习Unity,直接去官网看的教学视频。

第一个视频是Roll-a-ball tutorial

http://unity3d.com/cn/learn/tutorials/projects/roll-ball-tutorial

第一步 让球动起来

到第3课照着弄完,球就是不动。。。

后来发现是视频里script不适用于最新版本的unity,修改了script之后(加入了speed),球会动了,但总是往下掉。。

原来是sphere collider不知道什么时候被我给勾掉了,勾上之后就不会掉了!

还剩一个问题是 点击上下左右后,球会延迟很久才动,到unity的forum上找到了解决办法:

To do this, use the play buttons at the top of the editor:

First put the editor in pause mode:

Then enter playmode: (大约是变蓝色说明加载好了)

... and this way, you'll be in paused play-mode. Let the editor fully load and start the scene, then uncheck pause and play the game:

The ball should move immediately.

搞定!

 2016/07/05


第二步 让镜头跟随球移动

直接将camera丢到球下面,camera也会跟着球一起动,但是当球滚动时,camera也滚动了,所以改为使用script的控制camera跟随。

这次的script比较简单,一次成功~

学到了两个东西

1. fixupdate、update和lateupdate

这篇文章介绍的很清楚:http://bbs.9ria.com/thread-417976-1-1.html

简单说

fixupdate “在固定的时间间隔执行,不受游戏帧率的影响”; “FixedUpdate是真实时间,所以处理物理逻辑的时候要把代码放在FixedUpdate而不是Update.”

LateUpdate是在所有Update函数调用后被调用

是在所有script里的update之后:update update update …… lateupdate

在控制镜头跟随时,要让球动完,镜头再动,所以使用lateupdate(感觉在这个例子中看不大出来差别)。

2. public与private

不算完全懂吧,但是知道了一点

public定义的变量 会在inspector中可编辑

private定义的变量 只能在script中设定

第三步 制作游戏场景

这一段就很顺利了,加cube做墙,加cube做pickup,通过写script(transform.rotate)让pickup自旋起来。

记几个关键点吧:

1. rotate时,为了不受设备帧率的影响,使用Time.deltatime来抵消帧率差异

transform.rotate (new Vector3(x,y,z) * Time.deltatime )

2. 游戏中反复使用的物品可使用perfab制作模板

3. 通过Local和Global切换坐标系

2016/07/06


续:

通过脚本实现pickup可被球给pick up:

进入球的脚本

onTriggerEnter 探测球和其他物体的碰撞

给pickup加上tag,通过compareTag检测碰撞对象是否为pickup

如果是,使用setActive(false)让该pickup消失

把pickup设为trigger(否则onTriggerEnter不会生效)

pickup的性能优化:

- 通过给pickup加上rigidbody让unity知道它是dynamic的,不是static的,这样就不会每次pickup一转动就从新计算所有的static物体

- kinematic的使用:把pickup的rigidbody设为kinematic,kinematic不受物理力的作用(包括重力),但可以通过transform进行各种变化

今天是7月7日,看不到尽头的黑色天空,眼里的很多汗吃回到了嘴里。感谢unity让我能到另一个世界。


第四步 游戏分数计算与获胜提示

这一段也很顺利

在球的script中,新建变量count记录pick up到的pickup的数量

场景中新建文本UI(countText)显示count

设定countText的显示规则

场景中将countText拖到球的count text空栏中,完成指向

类似方法,创建winText吃掉所有pickup后显示

学到几点:

使用ui,要在抬头加 using Unity.Engine.UI

.text设定文本内容,.ToString数字转化为文本

避免重复可自制函数

@.@ Roll the ball 就做好啦! @*-*@

2016/07/08

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

推荐阅读更多精彩内容