
假设我摄像机对着这个物体, 我点击任意一个红色点,然后这个物体能移动并旋转到摄像机的正面,在摄像机不移动的情况下该怎么实现呢?
大概层级关系就是这样,四个红色的正方体就是四个Cube节点, 点击任何一个时它们的根节点(也就是root)节点以当前点击的Cube节点为中心去做旋转和移动到屏幕正中心,并且可以以这个节点为轴去旋转,请问这个怎么实现呢?用欧拉角实现吗?

假设我摄像机对着这个物体, 我点击任意一个红色点,然后这个物体能移动并旋转到摄像机的正面,在摄像机不移动的情况下该怎么实现呢?
物体的forward=-摄像机forward
红点可能是这个物体下的一个节点,然后以这个节点为中心,以整个物体为中心的话岂不是是以整个物体为中心吗
你的意思是不移动摄像机,而是移动root节点吗
是的,但是又要以它的子节点为中心轴的那种,就感觉像2d锚点在那个节点位置一样
root.forward = -camera.forward
再累加上你要看的正方形具体某个面的旋转量
再累加上小红点在那个面的位置偏移量
我的思路是
1.先把root节点移动到相机正对面,且保证灰色正方形forward向量那面正对
2.具体小红点在正方形哪个面上,再继续让root节点转多少度就行
谢谢老哥,我回头试试, 那如果想要root以小红点为轴旋转该咋实现呢
是不是想做鼠标按下,做实时旋转?跟编辑器一样
是的话,就是把鼠标偏移量记录下来,转成-1 - 1的值,作为实际root的旋转量就行了
roll yaw pitch三个的角度,就是你说的欧拉角?
害我也不太懂欧拉角, 大概就是做这个效果
https://www.3dbody.com/html5app/zhongyiMianPc/index.html?secret=fb8fa219-a248-4844-a7af-d4b4cf6d7f4a#/
那就是了,一百鼠标只操作两个向量,垂直的俯仰角和水平的航向角,对应y坐标和x坐标
那个点击红点,然后整个模型会围绕这个点去旋转,感觉单纯的rotation属性就不行了 