之前看过threejs做的各种炫酷案例,很有意思,一直打算写个demo试试看,这次跟着教程学,搞定开始了一点。这次建模是用blender完成的,当然也可以用其他软件。建模其实没什么好说的。细节是很琐碎的,是一个成就完美的过程。教程对新手还是比较友好的。每一步的具体操作、快捷键等,教程中都有介绍。多看几遍视频,blender建模入门不成问题。也有点心大,不想完全照搬课堂上讲授的场地,就按照自己的想法搭建了一个略有不同的。那就来个大话西游(大爱子夏)的戏吧。对于新手来说,建模是一个缓慢而纠结的过程。不用多说,遇到各种问题,按照教程一步一步来就好了,这里不再赘述。插入一句话新手可能会遇到无法插入中文的问题,稍微提一下:由于默认不支持中文,所以在添加文字的时候,选择支持中文的字体(比如`MicrosoftYaHei`)然后复制需要的文字,从其他地方复制,然后在编辑模式下粘贴。角色有了粗模之后,当然是想让场景动起来,就像在游戏中一样,添加一个角色,控制它四处走动,参观场景^_^。人物模型可以在网上免费找到,比如sketchfab,这里我们先使用教程提供的模型。通常,模型在向下摆动时是静止的。想要有走路的动作,就需要绑定骨骼。之后,我们可以得到两个动作:walking-walk和static-idle。绑定动作可以通过threejs中的动画混合器对以上两个动作进行剪辑,然后判断是否按下了键盘走(w)键,播放walking-walk或者static-idle的模型动画。crossPlay是对动画切换的优化。视角控制与游戏中相同。视角跟随鼠标旋转。其实就是摄像机的视角。这里我们可以得到鼠标移动时的位置,然后计算clientX的差值。赋予一定的权重后,让角色旋转(rotateY)对应角度。首先,将相机添加到任务模型射线检测中。这里基于Raycaster进行射线碰撞检测。简单来说就是从角色的中心开始,向四面八方发出射线,然后检查射线是否与其他物体相交。如果它们相交,则根据两个中心点之间的距离来判断是否会发生碰撞。最后,blender建模真是个细活儿,有点挖,需要耐心。.以上只是一点小意见。这门课真的收获很大。希望以后多一些这样的课程。
