def __init__(self, nodePath, lookAtNode, durationFactor=0.01, name=None, blendType='noBlend', bakeInStart=1, fluid=0, other=None, isBackwards=False): if not nodePath.isEmpty(): _oldHpr = nodePath.getHpr() #if isBackwards: # _oldHpr.setX(_oldHpr.getXy()[0] - 180) nodePath.headsUp(lookAtNode) #if isBackwards: # nodePath.setH(nodePath.getH() - 180) _newHpr = nodePath.getHpr() nodePath.setHpr(_oldHpr) _distance = (_newHpr.getXy() - _oldHpr.getXy()).length() self.distance = _distance duration = _distance * durationFactor LerpQuatInterval.__init__(self, nodePath, duration, _newHpr, startHpr=_oldHpr, other=other, blendType=blendType, bakeInStart=bakeInStart, fluid=fluid, name=name) else: self.notify.warning('You must specify a non-empty NodePath!')