08 2020 档案
摘要:字符串 charAt() 返回在指定位置的字符。charCodeAt() 返回在指定的位置的字符的 Unicode 编码。concat() 连接字符串。indexOf() 检索字符串。match() 找到一个或多个正则表达式的匹配。replace() 替换与正则表达式匹配的子串。search() 检
阅读全文
摘要:一个复杂的曲面模型,往往模型顶点数量比较多,模型文件比较大,为了降低模型文件大小,法线贴图.normalMap算法自然就产生了,复杂的三维模型3D美术可以通过减面操作把精模简化为简模,然后把精模表面的复杂几何信息映射到法线贴图.normalMap上。 法线贴图 下面代码在没有设置法线贴图之前就是一个
阅读全文
摘要:纹理贴图是Threejs一个很重要的内容,游戏、产品720展示、物联网3D可视化等项目程序员加载模型的同时同时需要处理纹理贴图。 纹理UV坐标和顶点位置坐标是一一对应关系,这也就是为什么一张图片可以映射到一个模型的表面,只要把图片的每个纹理坐标和模型的顶点位置建立一对一的关系,就可以实现图像到模型的
阅读全文
摘要:在实际开发中,3D美术提供的三维模型可能包含帧动画数据需要你解析渲染,比如一个机械的装配过程,一个车门开关的动作,一个物体的移动动画。这时候你首先要对建立帧动画的概念,然后对Threejs帧动画相关的API使用规则进行熟悉,这样才能很好的解析加载的外部模型包含的帧动画。 在线演示地址 效果图: Th
阅读全文
摘要:光源 Threejs场景对象Scene主要是由模型对象和光源对象Light构成,在实际开发过程中,多数三维场景往往需要设置光源对象,Threejs虚拟光源是对自然界光照的模拟。 1、环境光(AmbientLight):会均匀的照亮场景中的所有物体。环境光不能用来投射阴影,因为它没有方向。 2、平行光
阅读全文
摘要:模型 点模型Points、线模型Line、网格网格模型Mesh都是由几何体Geometry和材质Material构成。 1、点模型Points:就是几何体的每一个顶点数据渲染为一个方形区域,方形区域的大小可以设置。 2、线模型Line:两点确定一条直线,线模型Line就是使用线条去连接几何体的顶点数
阅读全文
摘要:几何体本质: 立方体几何体BoxGeometry本质上就是一系列的顶点构成,只是Threejs的APIBoxGeometry把顶点的生成细节封装了,用户可以直接使用。 比如一个立方体网格模型,有6个面,每个面至少两个三角形拼成一个矩形平面,每个三角形三个顶点构成,对于球体网格模型而言,同样是通过三角
阅读全文
摘要:为了准确for、foreach、map、filter、for in这些循环的效率,我写了下面的方法。 为了避免单次运行的随机性,让每个循环都跑100次,然后取平均值。得出的平均值跟单次结果存在误差(单次运行远大于平均后的值),但可以对比使用。 完整代码: <!DOCTYPE html> <html>
阅读全文
摘要:Physijs Physijs是一款物理引擎,可以协助基于原生WebGL或使用three.js创建模拟物理现象,比如重力下落、物体碰撞等物理现象。 GitHub地址 演示地址 用法参考 stats.js 提供了一个简单的信息框,可帮助您监视代码性能。 FPS:画面每秒传输帧数。数字越高,页面越流畅
阅读全文