0%

书接上文。

按键控制

Input.GetKeyInput.GetButton两种方法用于获取按键情况。

区别在于,Key有确定的KeyCode。KeyCode是Unity内置的枚举类,内含各种键盘、手柄按键,如空格键就由KeyCode.Space表示。

而Button是可以自定义详细配置的。在Edit-ProjectSettings-Input中可以对输入进行详细配置,为一种操作提供一个字符串别名。只要使用GetBotton(string str)就可以监测对应的输入了。

除了知道按键是否被按下之外,我们还需要确切地知道按键在哪一帧被按下,哪一帧被松开。 因此,这两个方法都有衍生的GetxxxDownGetxxxUp。在对应按键被按下后的第一帧,GetKeyDown返回true,而到了第二帧,它就再次返回false了。同理,GetKeyUp也仅在松开按键后的第一帧返回true。

当然,这些方法都应该被放在Update()函数里,这样才能在每一帧对按键进行监测。

阅读全文 »

这两周,实验室并不是很忙,而且毕业设计也将要开始选题了,我终于开始如上次说的,开始学习C#和Unity。

这篇日志是在学习了Unity的官方视频教程之后记录的一些理解。

我所阅览的是由风农发布在bilibili的翻译版。

Awake() 和 Start()

这两个函数用于做一些前置性工作。

不同之处在于,Awake()只要脚本被加载就会执行,即使脚本没有被使能(也就是勾上)。而Start()则在Awake()之后执行,且脚本必须被使能。

Update() 和 FixedUpdate()

Update()很简单,每一帧调用一次。但显然,每一帧的渲染时间不会是一致的,即调用Update()的间隔时间不确定,这就导致如果我们把物理效果放到Update()里,会导致物理效果不太流畅。

为了保证物理运动与时间之间的紧密联系,应该使用FixedUpdate()。顾名思义,这是“固定的”Update,即间隔时间可以保持一致。间隔时间由Time.fixedDeltaTime决定,默认的时间是0.02s,一秒钟调用50次。

坐标与向量

Unity使用左手坐标系,三轴的相对位置依照下图所示。与数学立体几何中的一般表示不同,在这里Z轴代表的是“深度”而不是“高度”。

左手坐标系

Unity包含了一些用于进行向量运算的方法,它们基本被放在Vector2Vector3类里。

Vector3里包含了一些常用向量,以(0,0,1)为forward(依照上面的坐标手势,中指指向前面),有updownleftrightback,以及(0,0,0)的zero和(1,1,1)的oneVector2里没有z轴,故没有forwardback

游戏对象、组件,及其开关

一个游戏对象(GameObject)可以拥有多个组件(Component)。

比如一个简单的点光源,其本身是一个GameObject。首先它有一个Transform组件标示其位置、旋转、缩放等信息,还得有一个Light组件让它发光。也许,还有若干用于控制这个点光源的脚本组件。

如果我们关闭这个游戏对象(我们把它叫做激活/停用),那么这个灯整个就从场景中消失了。用游戏对象的SetActive(bool value)方法来实现这一点。

需要注意的是,如果游戏对象有多层结构,将一个父对象停用并不会使其子对象停用(虽然效果上,子对象也消失了)。查看一个对象到底是在层级中被激活还是本身确实在场景里激活了,可以用游戏对象的activeInHierarchy()和activeSelf()方法来确定。

要关掉灯,除了让灯凭空消失,我们当然还有更正常的做法。每一个组件都有一个bool类型的enabled标志位,只要把这个标志位设为false,就能去使能(禁用)这个组件。如将点光源的Light组件禁用,光是没了,但灯依然还在原处。

今天先记到这里好了。

这一周,我开始了在华科聚变与等离子体研究所的实习。

J-TEXT

其实我完全不明白自己应该干什么。八月底退出考研大军之后,我捡起大一没能坚持看下去的廖雪峰Python教程读了个大概(在这期间,Python 3甚至已经普及了),半懂不懂地接触了些之前所学的语言里没有讲过的“迭代器、生成器、装饰器”一类玩意,就去投秋招简历了。

可想而知,一个数据结构、算法、操作系统、计算机网络统统没复习,没有刷LeetCode,工程实践基本靠课程设计(甚至还有不少是东拼西凑)的学生,哪家公司会收留就有鬼了。何况,我投的岗位还是数据研发,但在这之前我对数据研发的了解还真的是仅限HadoopSpark的拼写……

因此,笔试直接挂是理所当然的了。可是投字节跳动实习的时候,我这个铁憨憨还是投了数据研发。好歹实习不用笔试,不过面试当然还是挂了——一个小时的面试里,全是灵魂拷问,“人,有实力,是不怕的”,但是没有实力的话就算冷静镇定也不会带来更好的结果。

阅读全文 »

对于所谓“现充”,我一向是不屑一顾的。对于所谓人人趋之若鹜的“潮流”,我更是嗤之以鼻的。

毕竟这种东西,和他们自己说的一样,“流行是个圈”,有甚么意思呢?

是故在根本没有校服的高中时代,同学们——只要有条件的,个个汪洋恣肆泼洒青春时,我常常以和我心象般灰暗,似我体重般深沉的军夹克、牛仔裤、徒步鞋示人:一种自我麻痹式的超然放逐。那时的我只是一个丢不掉过去的失魂人,或者说,是过去的“什么”拉扯着我的魂魄,将它的一端钉在了2013年那个该死春季的墓碑上。

阅读全文 »