【ue4入门教程开关门小白求教】为什么我代码正常的情况下,门在运行时会先自己位移或旋转(设置的是相对不是世界),然后才按照蓝图进行(位移/旋转)
11月 5, 2021 2021-11-05 10:49【ue4入门教程开关门小白求教】为什么我代码正常的情况下,门在运行时会先自己位移或旋转(设置的是相对不是世界),然后才按照蓝图进行(位移/旋转)
蓝图中视图(右门是左门复制然后旋转180度然后移动后得到的):
蓝图中视图(是相对位置):
结果运行时最开始,右门变成这样之后才开始旋转(旋转正常,但为什么初始位置和旋转改变了百思不得其解):
更新:发现做了如下改动就能正常运行,想了解下原因,希望有大佬解惑下 :(【下图第一张是错了的右门z-R,第二张是简单的输入数值旋转就正常了,但不知道哪里出错了】
既然直接输入数值是对的,那就说明Z-R的数值是不对的呗,为啥会不对,到底是啥值,我从你给出来的信息中看不出来。但是你可以自己打印一下Z-R的值啊,然后自己分析一下为啥不是你想要的180。


有个事最好是能先达成共识,既然你在插值那个节点处写死数值180和265,这个蓝图可以正常运行,那就说明那个错误的版本里,Z-R的数值在计算插值的那一刻,绝对不是这个数字,我们心理预期值180,那一刻它如果也是180应该就不会出错了。至于那一刻的数要怎么弄出来,不知道你是怎么检查的,我心目中可取的方法要么打断点,要么打log,要么干脆接个print。
我后来又对比着看了一下你的图一和图三,既然你提到了,右边那扇门是左门旋转并位移做出来的,那么我有一个猜测。会不会,你在类蓝图里看到的是你调好的数据,但是在场景中实例化的时候,其实还是没有设置的数据呢?具体点说,怎么操作错的,很可能你是先弄了个门框的蓝图,可能带门可能不带门,然后拖进场景里了,然后又在场景里调整过门的一些数值,然后又在蓝图里把另一扇门给最终调成你想要的位置和朝向。以上纯粹猜测,也没啥意义,但是要验证病因猜没猜对却很简单:你把这个蓝图再往场景里拖一次,拖一扇新门,看看还有没有问题?当然如果新门没问题,记得对照一下新门和旧门到底哪里不一样,重点关注“细节”标签页的详情栏,尤其是各组件的变换那里。看懂了,你以后都不会再出这样的错。当然,也可能我猜得不对,那整个这段话就都没用了。
感谢指导,不过检查之后发现z-R的数值是对的(我设置85度),主要我疑惑的点在于,右边这扇门为什么在【旋转85度】之前会【自己先旋转180度的同时还往右位移了一段距离】(图一和图三,根据右门门把手可以看出来):(