-
-
Notifications
You must be signed in to change notification settings - Fork 83
Open
Description
这是我的代码:它实现在第一人称视角的镜头动画,将镜头移动到某个位置。我期望,之后不会再回到动画前的位置。它就呆在哪儿,可是
`
const rigidRef = useRef(null); // 玩家所在刚体
const [disable, setDisable] = useState(false);
// 相机移动
function cameraMoveTo(to: Vector3) {
if (!camera) return;
setDisable(true);
new TWEEN.Tween(camera.position, tweenGroup)
.to(
{
x: to.x,
y: to.y,
z: to.z,
},
1800
)
.easing(TWEEN.Easing.Quartic.InOut)
.start()
.onComplete(() => {
setDisable(false);
rigidRef.current!.setTranslation(to, false);
});
}
cameraMoveTo(new Vector3(0.5, 1, 6));
<Ecctrl
// 人物设置
position={startPos}
camInitDir={START_DIR}
maxVelLimit={SPEED} // 人物移动速度
turnVelMultiplier={1}
turnSpeed={100}
name="player"
// 相机设置
camListenerTarget="document"
camCollision={false}
camInitDis={-0.01}
camMinDis={-0.01}
camMaxDis={-0.01}
camLerpMult={1000}
camFollowMult={1000}
camUpLimit={Math.PI / 10}
camLowLimit={-Math.PI / 10}
// 移动设置
mode="CameraBasedMovement"
disableFollowCam={disable}
autoBalance={false}
floatHeight={0}
ref={rigidRef}
/>`
Metadata
Metadata
Assignees
Labels
No labels