我正在做一个。
当旋转正在显示的对象时,对象总是围绕与自身相对的同一点旋转,即使该点不在视图的中心(例如,因为用户已经在视图中移动对象)。
我想改变这一点,以便视图总是围绕视图中心的点旋转对象,因为用户会看到它而不是对象的中心。
下面是当前代码的核心,该代码将对象围绕其中心旋转(稍微简化一下)(来自):
glLoadIdentity();
// midPlatform is the offset to reach the "middle" of the object (or more specifically the platform on which the object
我有两个DisplayObject,一个包含另一个,如下所示:
var sprite1:Sprite = new Sprite();
sprite1.addChild(loader1); // assume that I have load picture on to loader1
loader1.rotationZ = 30;
sprite1.rotationZ = -30;如果我运行上面的代码,loader1上的图像看起来就像它根本没有旋转过一样,因为它的容器是以相反的方向旋转的。正如我所料,这是正确的。
但是,如果代码有多个轴旋转:
loader1.rotationZ = 30;
lo
我一直试图让旋转工作,它似乎有效,我的问题发生在我尝试移动对象时,我希望对象的轴与网格一起旋转,但它保持全局轴并继续在该轴上移动对象。我对旋转的理解有缺陷吗?或者是代码导致了这种情况,如果我的理解是问题是有一种方法来平移对象轴的话。我的代码如下。
Projection= glm::perspective(45.f, 4.0f / 3.0f, 0.1f, 100.0f);
//position and direction are calculated based on mouse position
View = glm::lookAt(
position,
position+dire
我想在一个球体上旋转我的球员,并使用这个代码来旋转它,但它在球体上的一些位置上工作,有人能帮助解决这个问题吗?或者通过链接观看问题视频。
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;
public class Follow_guide_pos : MonoBehaviour {
private Vector3 input;
void Update () {
//rotation of player input
input = new Vector3(CrossPlat
我需要一个函数来计算新的OffSet位置,它接受2个参数,旧的偏移量和旋转值(旋转只是一个浮点,因为旋转总是在1轴附近发生。)我设法找到如何计算面向方向的旋转,但我有问题的偏移。找到类似这样的主题,但除了创建子对象之外没有任何答案,这不是一种好方法。所以这样的代码
var offset = new Vector3(0f,5f,10f);
var rotationY = 90f;
var newOffset = NeededFunction(offset, rotationY);
newOffset应该是一个Vector3 (10f,5f,0f)。这是计算面向方向的函数。
private Ve