UE4で箱を回転させる

フリーになってから初の更新です。

今回はこんな感じにきれいに箱を転がしました。




とはいっても数学をあまりきちんと理解できてない人間なので、こちらのブログのスクリプトを参考にさせてもらい作りました。

[Unity] Cubeを転がすスクリプト

Input関数


input_all.png

Input関数はこんな感じです。基本的には二次元的な入力しかないので縦横方向への入力をもらって、回転させたい角度を作り、回転中フラグや入力値、初期位置、初期回転を設定しています。

また、入力を受け取った際に回転中かどうかを確認しているisRotationはこんな感じ。

is_Rotate.png

入力がきちんとあって、なおかつ回転中でなければ転がり始めます。

RotationCubeイベント



Input関数で初期設定後に走らせるイベントです。

RotateCubeEvent.png

タイムラインで線形補間用のアルファ値を作って回転と移動をUpdateRotation関数の中で行っています。
今回は0.5秒間に0から1へと変わるように設定しています。

UpdateRotation関数


今回やりたいことのメインとなる部分の処理になります。

UpdateRotation.png

細かい説明はできないので省きます。いい感じにX、Y、Z軸方向への移動と回転を行ってます。

移動距離を算出する関数はこれらです。

distanceX.png
distanceY.png
distanceZ.png

GetDistanceXとYはVerticalかHorizontalの変数以外は同じ処理を行っているので外部からわたしてやるともっとスッキリすると思います。

sinとかcosとかはこちらになります。

GetSine.png
GetCosine.png

最後に終了処理

EndRotation.png

もうちょっときちんと数学を勉強しようと思いました。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

shiratori00

Author:shiratori00
フリーでソフトウェア開発者してます

最新記事
最新コメント
月別アーカイブ
カテゴリ
Twitter on FC2
カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR