首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何停止在你的3d中旋转子孩子

如何停止在你的3d中旋转子孩子
EN

Stack Overflow用户
提问于 2020-02-21 19:10:23
回答 2查看 49关注 0票数 0

我有三个游戏对象A,B和C。A是B的父,B是C的父,A是刚体和主要的运动对象。B是由0,0,0到0,45不断旋转的非刚性变换对象。我希望当B旋转时,B的子C也旋转,但是它的局部y轴必须是0(锁定)。例如,每辆旧校车的雨刷也有一个子雨刷,当主雨刷移动时,雨刷也会移动它的轴线保持垂直。这就是我想要的。请任何人帮忙..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-21 20:19:09

最简单的解决方案是让C对象更新其旋转,以便transform.up始终是相同的值。

代码语言:javascript
复制
Vector3 upDir;

void Awake() 
{
    upDir = transform.up;
}

void Update()
{
    transform.up = upDir;
}

如果您有兴趣保持它与祖父母相同的轮换率,只需将其轮转设置为等于祖父母的轮值:

代码语言:javascript
复制
transform aTransform;

void Awake()
{
    aTransform = transform.parent.parent;
}

void Update()
{
    transform.rotation = aTransform.rotation;
}
票数 0
EN

Stack Overflow用户

发布于 2020-02-21 19:43:52

考虑将以下内容附加到您的刮水器刀片上的脚本:

代码语言:javascript
复制
Vector3 desiredRotation;

void Update()
{
    transform.rotation = Quaternion.Euler(desiredRotation + new Vector3(0.0f, 0.0f, transform.parent.rotation.z * -1.0f));
}

如果主雨刷移动90度,子雨刷就会旋转-90度来对抗它。

如果您想在此基础上旋转您的SubWiper,那么您将修改desiredRotation。

这个解决方案允许你“忽略”直接父母的旋转,但你仍然会跟随祖父母的旋转。如果你的汽车上有挡风玻璃雨刷,如果汽车倒转,潜水器不应该保持固定向上,但仍然应该与汽车旋转。这辆车是祖父母。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60344894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档