摘要: 今天郭先生发现大家更喜欢看我发的three.js小作品,今天我就发一个3d版本推箱子的游戏,其实webGL有很多框架,three.js并不合适做游戏引擎,但是可以尝试一些小游戏。在线案例请点击博客原文。 要制作一个推箱子游戏,正常要有以下4个步骤 定义一些数组,要有开始箱子数组、结束箱子数组、地面数 阅读全文
posted @ 2020-07-29 10:12 郭先生的博客 阅读(2369) 评论(7) 推荐(2) 编辑
摘要: 今天郭先生收到评论,想要之前制作太阳系的案例,因为找不到了,于是在vue版本又制作一版太阳系,在线案例请点击博客原文(加载时间比较长,请稍等一下)。话不多说先看效果图。 图片有点多,先放三张,相比于上一个版本,这个版本制作更加细致,动画更加流畅。那么下面分析一下主要代码。 1. 先介绍一下变量 这里 阅读全文
posted @ 2020-07-28 09:48 郭先生的博客 阅读(1537) 评论(3) 推荐(1) 编辑
摘要: 因为之前的几节讲了一些数学方法,例如Vector3、Matrix4、Euler还有Quaternion的知识。所以这篇郭先生就来说说用three.js怎么制作一个魔方。在线案例请点击博客原文 制作魔方主要运用坐标变换的知识,制作魔方的方法有很多,建议你先在大脑中构思,然后试着做一做,下面我将一种比较 阅读全文
posted @ 2020-07-27 09:33 郭先生的博客 阅读(1834) 评论(2) 推荐(1) 编辑
摘要: 这篇郭先生就来说说欧拉角和四元数,欧拉角和四元数的优缺点是老生常谈的话题了,使用条件我就不多说了,我只说一下使用方法。 1. 欧拉角(Euler) 欧拉角描述一个旋转变换,通过指定轴顺序和其各个轴向上的指定旋转角度来旋转一个物体。下面我们开看看它的方法 1. set( x: number, y: n 阅读全文
posted @ 2020-07-26 08:57 郭先生的博客 阅读(3614) 评论(0) 推荐(0) 编辑
摘要: 今天郭先生说一说three.js中的Matrix4,相较于Matrix3来说,Matrix4和three.js联系的更紧密,因为在4x4矩阵最常用的用法是作为一个变换矩阵。这使得表示三维空间中的一个点的向量Vector3通过乘以矩阵来进行转换,如平移、旋转、剪切、缩放、反射、正交或透视投影等。这就是 阅读全文
posted @ 2020-07-25 18:50 郭先生的博客 阅读(4928) 评论(0) 推荐(0) 编辑
摘要: 说了几篇的数学方法,这篇放松一下,郭先生说说绕任意轴转动。说一说其中一种方法,也是比较容易理解的一种,它的原理就是将子对象放到一个盒子中,然后改变子对象相对于父对象的位置(因为子对象的原点默认还是在盒子的中心),最后转动盒子,这样子对象的旋转就不是绕盒子的中心了。如图所示。在线案例点击模拟门旋转(更 阅读全文
posted @ 2020-07-24 11:28 郭先生的博客 阅读(4334) 评论(0) 推荐(0) 编辑
摘要: 今天郭先生来说一说three.js的三维矩阵,这块知识需要结合线性代数的一些知识,毕业时间有点长,线性代数的知识大部分都还给了老师。于是一起简单的复习了一下。所有的计算都是使用列优先顺序进行的。然而,由于实际的排序在数学上没有什么不同, 而且大多数人习惯于以行优先顺序考虑矩阵,所以three.js文 阅读全文
posted @ 2020-07-23 10:03 郭先生的博客 阅读(2678) 评论(0) 推荐(0) 编辑
摘要: 今天郭先生来说一说three.js的Vector3,该类表示的是一个三维向量(3D vector)。 一个三维向量表示的是一个有顺序的、三个为一组的数字组合(标记为x、y和z),可被用来表示很多事物,它的构造函数为Vector3( x : Float, y : Float, z : Float )x 阅读全文
posted @ 2020-07-22 10:08 郭先生的博客 阅读(8656) 评论(0) 推荐(1) 编辑
摘要: 今天郭先生就来继续说一说three.js数学方法中的plane(平面)。在三维空间中无限延伸的二维平面,平面方程用单位长度的法向量和常数表示。构造器为Plane( normal : Vector3, constant : Float )。第一个参数为平面的法向量,既然是法向量也就预示着这个平面是有方 阅读全文
posted @ 2020-07-21 09:09 郭先生的博客 阅读(5208) 评论(1) 推荐(1) 编辑
摘要: 从今天开始郭先生就会说一下three.js 的一些数学方法了,像Box3、Plane、Vector3、Matrix3、Matrix4当然还有欧拉角和四元数。今天说一说three.js的Box3方法(Box2是Box3的二维版本,可以参考Box3)。在线案例点击博客原文。 Box3在3D空间中表示一个 阅读全文
posted @ 2020-07-20 09:57 郭先生的博客 阅读(5279) 评论(0) 推荐(0) 编辑