Trong three.js, tôi muốn thêm một lưới đến một vị trí trong cảnhLàm thế nào tôi có thể thiết lập vị trí của một lưới trước khi tôi thêm nó vào cảnh trong three.js
Tôi đã thử:
// mesh is a THREE.Mesh
scene is a THREE.Scene
scene.add(mesh)
scene.updateMatrixWorld(true)
mesh.matrixWorld.setPosition(new THREE.Vector3(100, 100, 100))
scene.updateMatrix()
NHƯNG nó không ảnh hưởng gì cả.
Tôi nên làm gì?
không chỉ cung cấp câu trả lời cho bạn. bạn cũng dạy cách sử dụng tài liệu! – Novalis
Đây là câu trả lời đúng. Sử dụng mesh.position.set (x, y, z) vì bạn sẽ không cần cập nhật lực, nếu bạn đặt mesh.position = xxx, bạn chỉ thay đổi thuộc tính đối tượng, không phải lúc nào cũng di chuyển đối tượng trong cảnh thời gian thực. position.set là coplex nhiều hơn và luôn di chuyển đối tượng đến đích và refresh buffer, lights, shadows etc ... trong một lần. – Martin
Tôi đã thử điều này, và không thể tìm ra những gì nó thực sự đang làm. Nếu tôi vẽ một điểm, nó ở đúng vị trí. Nhưng nếu tôi tạo ra một lưới, và cố gắng thiết lập vị trí, nó chỉ xuất hiện ở một số nơi dường như ngẫu nhiên. – Zendel