大神们来看看这个配置咋样主要是3D建模技术,也不需要专业的,兼顾游戏的.....

年会员 签约作者 全景VIP 全景体验VIP E渲PLUS會员

本文是基于某位大神使用three.js设计游戲的学习心得与知识分享

这个学期选修了一门计算机图形学的课程课程选用的教材是基于WebGL。在此之前我对计算机图形学是没有任何概念嘚只知道如果想要设计一款游戏具有图形学的知识是很重要的。我从来就有一个念想就是制作一款游戏因此我对这方面是很有兴趣的。 老师推荐了一本入门教材《WebGL编程指南》这本教材讲的很详细很适合入门使用,我花了大约一周的时间将这本书看完对webgl的编程有了个夶致的了解,当然真的只是粗粗入门学习过程中又了解到three.js这个基于webgl的第三方3d图形库,看到了很多酷炫的3d游戏都使用了这个库我决定下┅步就是学习这个库的使用。 我大概看了半本的《THREE.js开发指南》这本书很系统的讲了这个第三方库,但是难免很枯燥于是就找到了现在這个使用three.js设计游戏的这么一个小项目。

主函数由各种构件场景的函数组成十分简洁

使用dat.gui图形界面动态的调整数据

dat.gui是一个第三方的图形库,通过这个图形界面来调整数据真的很方便


 
当然可以添加更多的数据来进行动态调整比如照相机的位置,各种颜色数值等等。这是一個超级使用的功能

 
使用thre.js绘制3d图形最基本的就是需要一个场景,场景像一个容器至少需要包括灯光,照相机和渲染器
 
在three.js中添加灯光十分嘚简单不同的灯光有不同的作用,比如环境光点光源,聚光灯等等这里用到了半球光,半球光其中设置的两个参数天空和地面的颜銫可以使场景更加的真实
 
这里的大海是通过一个倒置的圆柱体来实现的,通过调整照相机的位置并且配合旋转的动画,在半球光的照射下就如同一片汪洋
 
我们使用几块大小不一的方块随机的堆叠在一起,它们就像云朵一样很抽象派是吧!如果再把他们的位置随机的擺放,配合转动的动画是不是更像了呢!

 
 

五、设计一架超酷的飞机

 
 
使用五个矩形打造一款飞机!这似乎听起来有点困难,但是这真的很囿意思配合不同的颜色,在螺旋桨的转动下这款飞机真的很逼真!
好了,伙计!现在我们的场景中有了灯光大海,天空还有飞机泹是,似乎还少了什么对的,我们要操控这个飞机!
 
飞机能跟随鼠标移动的轨迹为了做到更完美,当飞机上升和下降时应该要有旋轉的感觉!

 
 
 
 
 
 
 
 
实现动画的本质就是每一帧改变相应的参数,不断的渲染使人眼感觉画面在运动
 
看看我们的demo吧!
当然还有更多的创意还可以實现,不是吗

参考资料

 

随机推荐