threejs在对3d模型渲染的时候,可能会遇到需要换肤的情况,比如手机颜色更换,汽车颜色更换等。虽然已经看过了threejs视频教程 ,但是只是看过了还不行,还需要自己手动实践,加深印象,同时事件后保留代码实例,也会为后面可能会遇到类似的情况做准备,直接翻阅旧代码拿来复用。
只...
yekong
2年前 (2023-02-08)
喜欢
通过查询文档来实现材质颜色的修改。这次观看的threejs视频教程 老师教授的是如果通过查询文档来实现材质颜色的修改,主要讲的是查询文档。但是通过文本不好写查询文档的过程,所这里只写实现代码.
创建颜色对象
// 创建颜色对象
const color = new THREE.Co...
yekong
2年前 (2023-02-08)
喜欢
昨天有访客询问threejs 3d地图修改高度的问题,访客不想要这种高低不平的效果,而是希望地图能够一样平整,地图的高度是通过depth来控制的,我们直接搜索代码中这个字段将其统一成我们需要的数字就可以了。
修改3d地图高度前
修改3d地图高度后
...
yekong
2年前 (2023-02-08)
喜欢
threejs 高光网格材质MeshPhongMaterial受光照影响。
MeshPhongMaterial 可以实现MeshLambertMaterial 不能实现的高光反射效果。对于 高光效果,你可以想象一下,你在太阳下面观察一辆车,你会发现在特定角度和位置,你可以看到车表...
yekong
2年前 (2023-02-07)
喜欢
threejs 平面图形,默认正面可以看到背面看不到。我们可以通过side进行设置
单面可见
通过side:THREE.FrontSide设置单面可见
// 创建圆形平面
const geometry = new THREE.CircleGeometry(50)
// 创建对象材...
yekong
2年前 (2023-02-07)
喜欢
创建长方体
参数 长宽高
// 创建长方体
const geometry = new THREE.BoxGeometry(50, 50, 50)
// 创建对象材质
const material = new THREE.MeshLambertMaterial({
col...
yekong
2年前 (2023-02-07)
喜欢
threejs 设置背景色,如果我们希望给threejs一个特定的背景色的话,可以通过setClearColor来设置指定颜色来实现。
设置背景颜色
var renderer = new THREE.WebGLRenderer({
antialias: true, //开...
yekong
2年前 (2023-02-07)
喜欢
如果你有web前端基础,应该了解window对象,设备像素比.devicePixelRatio是 window对象的一个属性,该属性的值和你的硬件设备屏幕相关,不同硬件设备的屏幕window.devicePixelRatio的值可能不同,可能就是1、1.5、2.0等其它值。
查看...
yekong
2年前 (2023-02-07)
喜欢
threejs 在没有开启抗锯齿的情况下,边缘会有锯齿,如果不想要这些锯齿的话,可以通过设置antialias去除。
开启抗锯齿方法
const renderer = new THREE.WebGLRenderer({
antialias: true //开启抗锯齿
}...
yekong
2年前 (2023-02-07)
喜欢
实际生活中物体表面的明暗效果是会受到光照的影响,threejs中同样也要模拟光照Light对网格模型Mesh表面的影响。
受光照影响材质
threejs提供的网格材质,有的受光照影响,有的不受光照影响。
不受光照影响的材质
基础网格材质MeshBasicMaterial不会受到光...
yekong
2年前 (2023-02-04)
喜欢