Unity学习笔记(6)

今天学完了Space Shooter的第六~八个视频,要点如下

1.上次小球的运动,用的是Rigidbody.addForce的方法,这次不用真实的物理运动,直接用Rigidbody.velocity 就行了,后面跟的同样是Vector3

2.Mathf.Clamp方法,可以用于限制变量变化的范围,在实例化对象的时候填到参数中就可以了。用法:Mathf.Clamp(要限制的变量,min,max)

3.因为在PlayController中声明变量会造成变量特别多(笔记3中有案例)第六个教程中第一次声明了新的类,用于储存xMin,xMax,zMin,zMax四个变量,然后用[System.Serializable]序列化(其实不过是让这四个能够收到Boundary底下而已)


看起来很乱的四个变量

4.Quaternion.Euler用于旋转物体,同样是个Vector3向量。不是很明白,为什么不能像给position赋值一样,直接给rotation赋值,得用这种方式。

5.creating shots,创建一个新的Material,然后把Texture拖到Material的Albedo字段中,再把Material拖到创建的Quad上。不是很清楚为什么要手动创建Material,直接把Texture拖到Quad上看起来也是可行的

6.background的shader要选择Unlit/Texture,这样可以保持原有材质,不被光照影响,这次的子弹得选择Particles/Additive,这样黑的会变成透明,整体颜色会更亮(或者是Mobile/Particles/Additive,更节省性能,大部分情况下也不会降低质量),前者可以加上Tint Color,我理解的话就是一种颜色叠加吧

7.创建好子弹后,要开始shoot shots了,这里又用到一个新的重要方法,Instantiate(object,position,rotation),在position的位置,以rotation的旋转来实例化一个object

8.配合着Input.GetButton,终于可以开火了。判断开火时间间隔,在看教程前,尝试着自己写出来了,用了两个时间变量(一个记录距离上次射击时间的LastShotTime,一个用来当做间隔生效的intervalTime,其中前者会随着Time.deltaTime自增,然后每次和后者作比较就可以,如果成功射击了就把LastShotTime归零),官方范例里用了三个,感觉有点多余。教程里倒比较清楚,只用了两个

9.有个细节后面可能要注意一下,用Instantiate实例化对象的时候,整句是GameObject clone = Instantiate(XXXX) as GameObject,这里前面的类型声明和后面的as,对于选择实例化的对象应该会有帮助,现在还不太能理解,教程中也把前后部分注释掉了,只用了实例化的方法

10.另一个教程里提了两次的“Unity很聪明的地方”是,声明类型的时候选择的是public Transform spawnPlace,但是把对应的GameObject拖到这个spawnPlace上也是可以的,会直接读取这个GameObject的transform的值,这样确实可以让代码变得整洁一些。不知道其他类似的地方是不是也能这样处理


今天学的内容比较多,也花了挺长时间去重写练习具体的代码,不过有些忽视了整体结构的处理:比如,子弹的出生点spawnPlace是通过hierarchy窗口挂在Player上的,成为Player对象的子对象;子弹的速度是挂在自己身上的脚本控制的;创建子弹的时候,先是创建了一个空对象,再创建了一个它的子对象Quad,才把子弹的Texture挂上去,完成了以后,又把整个对象拖到Project中生成一个prefab,诸如此类。这一段除了更多的练习,也需要有更多总结,才能把整个结构了然于胸吧。

2018.10.26 0:34

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

推荐阅读更多精彩内容

  • // Unity学习笔记,自己会记录一些学习中遇到的问题,可以给自己看也可以给需要的人看,希望能帮助掉在同样坑里的...
    pirateH阅读 3,010评论 0 4
  • 传送门 Unity官方实例教程 Space Shooter(一)Unity官方实例教程 Space Shooter...
    Zui阅读 49,080评论 39 47
  • 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于unity3d对于内存的管理与优化...
    杨树叶的杨阅读 1,056评论 0 0
  • 我花一整天雨的时间来读一首诗 读了千百遍,都不能读的比雨声更美 只好停下来思考一些问题 是谁在轻轻扣响秋天的门扉?...
    蒋菱阅读 239评论 1 1
  • 小时候, 梦想是去远方; 长大后才发现, 家成了最想去的远方。
    莫德里奇先生阅读 73评论 0 0