PBR材质 MeshStandardMaterial 金属度 metalness和粗糙度 roughness,再加上下节课讲解的环境贴图。envMap,给大家呈现一个金属渲染效果。
金属度 metalness
金属度属性.metalness 表示材质像金属的程度,非金属材料,如木...
yekong
2年前 (2023-01-21)
喜欢
所谓PBR就是,基于物理的渲染(physically-based rendering).
Three.js提供了两个PBR材质相关的API MeshStandardMaterial和
MeshPhysicalMaterial,MeshPhysicalMaterial 是MeshS...
yekong
2年前 (2023-01-21)
喜欢
改变一个模型颜色其它模型跟着变化
由于楼房的Mesh共享了1号楼Mesh的材质,当你通过mesh1.material改变mesh1材质,本质上是改变所有楼Mesh的材质。
const mesh1 = gltf.scene.getObjectByName("1号楼&quo...
yekong
2年前 (2023-01-21)
喜欢
加载一个外部模型,比如gltf模型,如果你想批量修改每个Mesb的材质,一个一个设置比较麻烦,可以通过递归遍历方法.traverse() 批量操作更加方便。
递归遍历方法traverse()
// 递归遍历gltf.scene
gltf.scene.traverse(functi...
yekong
2年前 (2023-01-21)
喜欢
浏览器控制台查看3D模型树结构
加载gltf模型,通过gltf. scene可以获取模型的数据,你可以通过浏览器控制打印gltf. scene,然后和你三维建模软件中的模型目录树对比,比较两者的结构是否相同。
模型父对象节点可以用Oaiect3D对象表示,也可以用组对象Group...
yekong
2年前 (2023-01-21)
喜欢
为了提升图片的加载速度,于是开启了七牛webp功能,可以按照自己的需要进行配置。
WebP是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,派生自影像编码格式VP8,被认为是WebM多媒体格式的姊妹项目,是由Google在购买On2 Technologies后发...
yekong
2年前 (2023-01-21)
喜欢
.gltf格式模型文件,有不同的组织形式。
单独.gltf文件
单独.glb文件
.gltf +.bin +贴图文件
这些不同形式的gltf模型,加载代码其实没啥区别。
loader.load("cs.gltf",function (gltf) {
...
yekong
2年前 (2023-01-21)
喜欢
OrbitControls改变相机位置.position
通过OrhitControl.旋转和缩放,本质上就是在改变透视投影桐机 PerspectiveCamera 的位置.position.
渲染循环中不停地打印相机的位置属性,你可以通过相机控件旋转或缩放三维场景,同时通过浏览...
yekong
2年前 (2023-01-21)
喜欢
随着项目的增加,磁盘的空间也跟着吃紧,最吃紧的是依赖所占用的空间,最近发现了一款新包管理工具pnpm
pnpm的特点
1、快速
pnpm比其他包管理器快2倍。
2、高效
node_modules 中的文件为复制或链接自特定的内容寻址存储库。
3、支持monorepos
pnpm内...
yekong
2年前 (2023-01-18)
喜欢
axios在请求获取文件的时候需要在页面中显示下载进度,通过使用onDownloadProgress来实现我们想要的效果。
axios.get('assets/liku.zip', {
responseType: 'arraybuffer',
onDownloadProg...
yekong
2年前 (2023-01-18)
喜欢