久しぶりの作ってみた(;'∀')
今回は時計の表示を見るような動作と時計の表示を、
時計表示のマテリアルなどの設定を行おうと思います。
※UE5.6機能になります。
※書き間違え等あればコメントください!
※実際に動作させたのはこちらになります。
時計のモデルの準備を行う
今回Blenderの方でモデルを作成したので、
モデルの作り方は割愛させていただきます。
こちらにモデルデータを用意しているので、
下記からダウンロードしていただけますと幸いです。
作られているモデルは腕時計の腕の周り・画面・画面の外側の淵で、
マテリアルが分かれています。
※時計モデルのファイル名を「SM_Clock」に変更しています。

これ以降は上記モデルを活用していきます。
時計を見るアニメーションを作る
アニメーションは今回UE5のコントロールリグで作成しました。
実際のアニメーションファイルはこちらになります。
インポート時はスケルタルメッシュで「SK_Mannequine」を指定します。
※今回はサードパーソンテンプレートを活用しています。
今回作成したアニメーションの作り方も軽く説明しておきます。
まずはレベル上にコントロールリグのキャラクターを配置します。
キャラのドラッグアンドドロップして配置しましょう。

まず最初にコントロールリグの各種項目を削除します。
この後にアニメーションをベイクしていきます。

そして追加でアニメーションのMM_Idleを追加します。
このアニメーションの最初のキーフレームを活用します。

上記の状態でMM_Idleのアニメーションをコントロールリグにベイクします。

ベイクオプションのダイアログが表示されますが、
特に変更はないので作成ボタンを押して完了します。

アイドル状態のキーを活用するので最初の部分以外は削除します。
新規の時計を見るアニメーションを作成するために必要なので削除しています。

それでは実際にアニメーションを作成します。
今回は20秒のキーで作成して、各種関節を変更しています。
spine_01_ctrl → Z軸:25回転
clavicle_r_ctrl → Z軸:25回転
upperarm_r_fk → X軸:70回転、その後Z軸:10回転
lowerarm_r_fk_ctrl → X軸:75、その後Y軸-70回転、最後にZ軸:-15回転
head_ctrl → X軸20回転、その後Z軸:-25回転
実際に設定したものはこちらになります。
以上でアニメーションの作成は完了です。
時計を見る動きなどをBP側で設定する
それでは実際にアニメーションなどの動きを作っていこうと思います。
スケルタルメッシュにlowerarm_rの所にWatch_Rのソケットを作成します。
位置・角度を変更していきます。
位置:X/-19.4 Y/0.55 Z/-0.3
角度:X/190 Y/8.46 Z/-86.8

それでは実際に処理を作成していきます。
まずはBP_ThirdPersonCharacterに時計用の、
スケルタルメッシュコンポーネントを追加します。

続いてアローの追加して位置と角度などを指定しています。
こちらはFPS用のカメラアクタを作成する位置になります。
位置:X/0° Y/14.71° Z/156.57°
角度:X/0° Y/-45° Z/90°

これで準備は完了なので実際に処理を作成していきます。
まずは変数としてカメラアクターを保持する変数と、
時計を見ている間動けないようにするBoolean型の変数を作成する。

続いて処理を作成していきます。
今回はCキーに入力をして、時計を見ているかどうかを確認して、
0.5秒待つ動きをするかどうか分岐しています。

続いてカメラを見る処理を作成します。
主な処理としてはカメラとキャラの動作を行えないようにすること、
時計を見るアニメーションを設定して、カメラを切り替えます。
そして作成した変数のカメラを見ているかをオンにします。

もう片方の処理はそれとは逆の処理になります。
カメラやキャラを動かせるように設定して、
アニメーションをAnimationBPに戻して、カメラを削除して元に戻しています。

時計を見ているときの見た目はこのような形になります。

実際に動かしたものは下記になります。
最後に
今回久しぶりにモデルとアニメーションを活用して、
動きなどを確認しながら作ってみました。
見ていただきありがとうございました!