gpt4 book ai didi

javascript - THREE.js - 相对于具有旋转/缩放父项的屏幕移动对象

转载 作者:行者123 更新时间:2023-11-30 06:36:09 26 4
gpt4 key购买 nike

在 THREE.js 中,我试图根据鼠标位置在屏幕上四处移动对象。看了一些examples ,这似乎很困难。这是我从其中一个示例中借用的一些代码,这些代码主要用于满足我的需要:

function mouseMove(e){
mouse2D.x = ( (e.pageX-canvas.offsetParent.offsetLeft) / canvas.clientWidth ) * 2 - 1;
mouse2D.y = - ( (e.pageY-canvas.offsetParent.offsetTop) / canvas.clientHeight ) * 2 + 1;

if (selected) {
var ray = projector.pickingRay(mouse2D, PGL._camera).ray;
var targetPos = ray.direction.clone().addSelf(ray.origin);
targetPos.subSelf(_offset);

obj.position.x = initPos.x + targetPos.x;
obj.position.y = initPos.y + targetPos.y;
}
}

这适用于在场景中移动直接子级。问题是试图移动具有旋转和/或缩放的父项的对象。你会如何处理?可以将对象 matrixRotationWorld 应用于运动吗?我仍在努力解决这个问题。任何帮助表示赞赏。

最佳答案

关于javascript - THREE.js - 相对于具有旋转/缩放父项的屏幕移动对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14351686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com