0%

这两周,实验室并不是很忙,而且毕业设计也将要开始选题了,我终于开始如上次说的,开始学习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年那个该死春季的墓碑上。

阅读全文 »

配置Gitalk

在重新搭建这个站点的过程中,碰到一个“小”问题:以前我的网站使用的是WordPress,内建了评论系统,而现在在Hexo站点中该如何引入评论系统?

当然,这根本就不是问题,Hexo最著名的主题NexT已经在配置文件中给出了多种可供选择的评论系统。Google搜索到的大部分人使用的是Disqus,然而当我按照他们的流程一通操作后,执行hexo g却永远都是:

next disqus TypeError: Cannot read property 'replace' of null

在我感到阵阵窒息之后,我看到了这样的issue:

不支持Disqus.jpg

我人傻了,3月份就不支持了咋现在还在配置文件里?

显然,当时匆匆扫过的我并没明白 暂时的解决方案是 count: false 是什么意思。

于是我转而尝试其他的评论系统,好么,国内的一个赛一个麻烦,又是实名认证又是人脸信息的,还是别了。而国外的又时刻有被河蟹的风险。

终于我看到了Gitalk,它基于GitHub的issue,只要有GitHub账号就可以评论,看来同性交友网站不倒,这玩意就能用下去。

阅读全文 »