0

所以 Panda3D 有这个选项可以通过使用参数“bakeInStart”来更新 Lerp 区间的起始位置,如果我们将它设置为 0。但是,我找不到解决这个问题的解决方案,即更新结束 HPR (偏航,俯仰,滚动)值每次有 Lerp 间隔循环的新迭代。我已经设法解决这个问题以获得预期的效果,但是必须编写整个屏幕的代码(因为按顺序编写了多个间隔)。到目前为止,我已经尝试过以最小化代码:

self.rotateTargets(0)

def rotateTargets(self, angle):

    # Create Lerp intervals for each target orbit node to rotate all of the targets
    # in a parallel sequence with easing
    self.angle = angle

    self.rotateTargets = Sequence(
        Parallel(
            LerpHprInterval(self.orbitNodes["orbit0"], 4, Point3(0, 0, self.angle+90), blendType = "easeInOut", bakeInStart = 0),
            name = "rotateTargets0"), Func(self.targetReparent(self.orbitNodes["orbit0"].getR())) 

self.rotateTargets.loop()

def targetReparent(self, newAngle):

    # Define new angle
    self.newAngle = newAngle
    self.angle = self.newAngle

控制台出现断言错误,但与导入的函数有关,与我的代码无关。

4

0 回答 0