メモ

DSsec
記事: 0
登録日時: 14年前

メモ

投稿記事 by DSsec » 14年前

「カメラは常にワールド座標z軸に沿って見てる」vs「カメラは常にモデル座標z軸に沿って見てる」―
前者:キャラが方向を変えてもカメラの方向は変わらないパターン
後者:キャラが方向を変えるとカメラの方向も変わるパターン→キャラの方向ベクトルが変わった瞬間カメラの方向も変わる状態だとカメラ酔いを起こし得る
→カメラの方向が変わる速度を調整する必要。でもどうやって?

エラスティック方式―
まずキャラとカメラ間の距離rを定義し、次にその距離ベクトルvrを求める。そして、|vr|>rにしろ|vr|cam.Eye = VAdd( VTransform( VTransform( VGet( -Camera_Player_Length, 0.0f, 0.0f ), RotZ ), RotY ), cam.Target ) ;
RotZは基本的に0。RotYの変化によってキャラの方向が定まる。cam.Targetはキャラ位置座標を入れる。Camera_Player_Lengthは定数で、自分で値を決める。


CameraCeloDecay,MaxCameraDistance,CameraAccelは計算式で導出するのではなく、自分で定義する。
2行目「ゆっくり動くぜヒャッハー…ヒャッハー…」
if文「素早く動くぜヒャッハー!」
5行目:カメラ旧位置にカメラ速度ベクトルを加算してカメラ現在位置を導出
最後に編集したユーザー DSsec on 2011年7月25日(月) 14:39 [ 編集 5 回目 ]

コメントはまだありません。