top of page

ちこう寄れ。

  • strato
  • 2017年2月25日
  • 読了時間: 2分

サードパーソンはカメラとキャラが遠く、折角のミクが見えない。 なので、BPを少し改変。 「ThirdPerson_BP」の「BluePrint」を覗くと、カメラは「cameraBoom」(Spring Arm)にぶら下がってる。 ここの「Target Arm Length」の値を変更すると、キャラに近づけることが出来るが、ここをユーザー入力で可変にしたい。

「編集>Project>input>Bindings>Axis Mappings」でマウスホイールを「Zoom」という名前で追加登録。​

インプットにZoomを登録

「コンテンツブラウザ>ThirdPersonCharacter」を開き、

初期値?を設定するので「Construction Script」で作業を行う。 まずは、変数「StartPos」を作成。 それを「Construction Script」にドラッグし、「セット」で追加。 「コンポーネント>CameraBoom」を「Construction Script」にドラッグし追加。 右クリックで「Get Target Arm Length」を検索(状況に合わせた表示はOFF)し、追加。 各ノードを繋げて「Taget Arm Length」の値を「StartPos」に突っ込む。

コンストラクションスクリプト設定

次は「イベントグラフ」 右クリックでZoomと入れると、「軸イベント」で出てくるのでこれを追加。 「インプット Axis Zoom」はホイールの前後で1か-1が返ってくるので、その値をTaget Arm Lengthに反映させればいい。

ホイールが一度入力されたら変数「StartPos」に加減算させ、その値を「Taget Arm Length」に反映。 乗算で「-20」をしているは、スピード調整とホイールの前後が逆だったから。

ホイール値をTarget Arm Lengthに設定

だけど、このままだとホイールの値に合わせてダイレクトにカメラが動くので、ラグを付けたい。 なので「TimeLine」を使って実装。 クリックで0以外が来たら「Timeline」で移動値を「Taget Arm Length」に送ってやれば、ラグっぽくなる。​​

移動値にラグを入れる 最大値最小値も。

近すぎたり遠すぎたりするので、「Clamp」で最大値と最小値を設定。「Delta Seconds」を挟んで、FPSの差による操作性の差を吸収。

これでミクの顔をアップで見られた。 もっとスマートの方法がありそうだな。

カメラのズームイン・アウト実装

あと、短期間で連続で入力されたらスピードを変えるとかも、そのうち入れよう。

Comments


特集記事
後でもう一度お試しください
記事が公開されると、ここに表示されます。
最新記事
アーカイブ
タグから検索
ソーシャルメディア
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page