文章

《游戏设计梦工厂》练习1.1 成为一名测试者 《美国末日》篇

来扮演一名测试者吧。去玩个游戏,然后在玩的时候观察你自己。把你在游戏中的行为和感受都写下来,做出一份详细记录。然后看你的朋友玩同一个游戏,再重复记录一遍。比较这两份记录,并分析出你在这个过程中学到了什么。

借着周末跟两位朋友相聚的机会,在朋友家里玩起了PS4,也顺便把这个练习给做了。从早到晚一共玩了三款游戏:《美国末日》、《侠盗猎车手5》和《神秘海域4》。其实一年前我在朋友家玩这三款游戏都只玩了一阵子,然后就中断了,之后由于各种忙,一年没玩。

这三款游戏中,剧情方面让我记忆最深的就是《美国末日》。一年前我体验了游戏开始丧尸危机爆发,主角女儿被杀,到后来主角接受了火萤的任务护送小女孩穿过丧尸区域。这期间很多剧情在一年后依然历历在目。那次最后是玩到一个潜行关卡,主角要带着搭档和小女孩静悄悄地穿过黑暗中一处密布丧尸的室内区域。由于试了几次总找不到出路还总惊动丧尸,加之游戏气氛实在压抑,于是我便失去了游戏兴趣,换别的游戏了。

一年前在朋友家玩《美国末日》玩到这里我放弃了。主角要带着搭档和小女孩穿过前方有很多丧尸的区域。图中远处的那个人影就是一具丧尸。

继续阅读《游戏设计梦工厂》练习1.1 成为一名测试者 《美国末日》篇

参加画室后画的第一张静物

杯身没什么特别的,只是一个强透视的圆柱。把手的结构感觉真是难画。一开始按照老师的讲解用长方体去解析,在把手转折处解析得非常困惑。尤其是从只能看到外侧的部分向只能看到内侧的部分过渡的地方,很难将这个转折交待正确清楚。

后来老师做了一下示范(见画面左上角,被擦掉了一半)。还是像刚进画室头两节课那样,画透视——先定好透视的灭点,然后让把手的结构线对准灭点。在转折的地方如果感到解析困难,可以把背后看不到的结构线也画出来,这样就能知道把手内侧的边缘线应该从什么地方开始伸出来。这下我才深刻体会到了把背后看不见的结构线也画出来的真正作用!

最后从几何体还原的时候,我将把手画成了全是弧线,没有一点棱角和直线,始终感觉怪怪的(可惜没拍下来)。老师说我还原过度了……这个把手的画法应该是方中带圆。于是擦了重画……现在看来,感觉这样的确会让杯子显得更饱满有力一些。有一点想伸手握住把手的欲望:-D

接着是画水壶,可是又卡在把手了……看来我得再次回到Blender中,解析观察一下把手的3D结构才行。

几何素描,2017年4月8日

作为结构素描这次不想把暗部和投影画得那么黑了,不过立方体和棱柱好像又太白了一点。桌面截面的颜色也不够深,在这点上没有很好地遵循前实后虚的规则。

这次的三点透视也就是俯视的感觉画得强了一点,所以立方体看上去很明显地有点往左倾斜,棱柱有点往右倾斜。

对素描中面的表现和光照的一点思考

目前我在画室的学习还处于结构素描阶段,不过我还是在明暗调子上做了些尝试。近来有一些心得体会。

面和面之间的交界处一定要有色阶的阶跃。如果两个面的色阶一样,那这两个面就会融合在一起无法区分,或是只能靠交界处的轮廓线或结构线来区分。

比如下面我的这幅习作(点击查看原图),数字1、2、3标注的面都是暗面。但即便没有交界线的存在,我们也能看出这是三个不同的面。这是因为1和2是反光面,色阶比投影面的3更亮。

图1  面1和面2是反光面,色阶比投影面的3更亮

继续阅读对素描中面的表现和光照的一点思考

Ionic中不合理的view层级导致afterEnter没有被调用

在公司的ionic项目中我们定义了如下状态:

其中views里面的root是在index.html里定义的ion-nav-view:

并且ABCtrl和ACDCtrl的代码中都注册监听了afterEnter事件。

按理说从状态A.B跳转到状态A.C.D时,ACDCtrl里的afterEnter会被执行,可实际运行的时候却没有。但是从E跳转到A.C.D则没有问题,ACDCtrl里的afterEnter会如期被调用。从E跳到A.B也没有问题,ABCtrl里的afterEnter也会执行。

公司项目的ionic lib版本是1.3.1:

本文末尾附上了我自己写的一个ionic小项目专用于重现这个问题。该项目的ionic lib版本是1.3.3:

于是我钻进了ionic的代码里研究了一番。

继续阅读Ionic中不合理的view层级导致afterEnter没有被调用

几何体素描,2017年3月19日

现在看来物体的表现没有太大问题了。不过有两位美术生指出线条太死太生硬。估计是因为我太喜欢用中锋抠,总是怕画歪。

老师给我提点了一下衬布的表现,也稍微帮我修改了几笔。需要注意衬布也有亮面、暗面、明暗交界线和投影。

背景的墙面画得有点脏,可能是因为排线之前没有擦掉结构辅助线的缘故,而且我似乎低估了排线需要的功夫。

看上去像是带了一点卡通描边和环境光遮蔽(Ambient Occlusion)效果的shader。