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