- 58
- 0
我是用鼠标绘制图形的,在鼠标拖动修改顶点坐标的时候图形不跟随更新?求大牛帮忙?
这个是我绘制时的函数
function drawBox(arr) {
var cubeGeometry = new THREE.Geometry();
var start = arr[0].clone();
var end = arr[1].clone();
var vertices = [
new THREE.Vector3(end.x, end.y, start.z),
new THREE.Vector3(start.x, start.y, start.z),
new THREE.Vector3(start.x, start.y, end.z),
new THREE.Vector3(end.x, end.y, end.z)
]
cubeGeometry.vertices = vertices;
var faces = [
new THREE.Face3(0, 1, 2),
new THREE.Face3(0, 2, 3)
]
cubeGeometry.faces = faces;
cubeGeometry.computeFaceNormals();
var cubeMaterial = new THREE.MeshBasicMaterial({ color: 0x00ffff, wireframe: true });
var cube = new THREE.Mesh(cubeGeometry, cubeMaterial);
cube.geometry.verticesNeedUpdate = true;
scene.add(cube);
currentBox = cube;
}
这是我修改顶点坐标时的函数
function modifyBox(arr) {
let start = arr[0].clone();
let end = arr[1].clone();
var vertices = [
new THREE.Vector3(end.x, end.y, start.z),
new THREE.Vector3(start.x, start.y, start.z),
new THREE.Vector3(start.x, start.y, end.z),
new THREE.Vector3(end.x, end.y, end.z)
]
currentBox.geometry.verticesNeedUpdate = true;
currentBox.geometry.vertices = vertices;
currentBox.geometry.computeVertexNormals()
var faces = [
new THREE.Face3(0, 1, 2),
new THREE.Face3(0, 2, 3)
]
currentBox.geometry.faces = faces;
currentBox.geometry.computeFaceNormals();
currentBox.geometry.verticesNeedUpdate = true;
} 0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
不灭戾天 普通会员 1楼
在Three.js中,当尝试更新几何顶点坐标时,图形可能不会立即更新,这可能是由于以下几个原因:
-
顶点缓存:Three.js会缓存几何顶点的位置,当几何顶点的坐标发生变化时,这个缓存可能不会更新。要解决这个问题,可以在更新几何顶点坐标时清除缓存。
-
物理引擎更新:如果几何顶点在物理引擎中更新,那么更新几何顶点坐标可能需要更长的时间。为了提高性能,可以考虑使用
requestAnimationFrame()方法,这样更新几何顶点坐标时,图形会立即更新。 -
硬件问题:硬件性能的差异也可能影响几何顶点坐标更新的速度。如果图形在GPU上运行,那么更新几何顶点坐标可能会更快。
-
代码错误:代码中的错误也可能影响几何顶点坐标更新的速度。如果你发现几何顶点坐标更新的速度过慢,那么你应该检查代码中的错误。
解决这个问题的方法可能包括:
-
清除几何顶点的缓存。
-
使用
requestAnimationFrame()方法更新几何顶点坐标。 -
尽量提高硬件性能。
-
检查代码中的错误。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

