Choose your operating system:
Windows
macOS
Linux
実装方法を選んでください。
Blueprints
C++
このチュートリアルでは、
Door アクタを作成する
-
最初に、 [New] > [Games] > [Blank] > [Blueprint] プロジェクトへ進み、 スターターコンテンツ を有効にした TimelineDoorActor を作成します。
-
[Add/Import] ボタンをクリックして、Blueprint Actor クラスを新規作成し、 BP_DoorActor を名前をつけます。
-
コンテンツブラウザから BP_Door アクタをダブルクリックしてブループリント エディタで開いて Class Defaults を開きます。
-
次に、 [Components] タブから [Add Component (コンポーネントを追加)] ボタンをクリックし [Static Mesh] を選択して Static Mesh Component を追加します。
-
スタティックメッシュを右クリックし、 [Rename (名前を変更)] を選択して DoorFrame に名前を変更します。
-
次に、 [Components] タブから [Add Component (コンポーネントを追加)] ボタンをクリックし [Static Mesh] を選択して Static Mesh Component を追加します。(Repeating step 3)
-
スタティックメッシュを右クリックし、[Rename (名前を変更)] を選択して Door に名前を変更します。
-
[Add Component] をクリックし、ドロップダウン メニューから [Box Collision] を選択して Box に名前を変更します。
-
次にイベントグラフを開いて グラフ を右クリックし、 [Blueprint Context Menu] から [Add Timeline (タイムラインを追加)] を選択します。タイムラインに DoorTimelineComponent と名前をつけます。
この時点で、BP_DoorActor のクラス デフォルトは、以下の例のようになっているはずです。
Door Static Mesh を設定する
次に、 [Components] タブのアタッチメント階層を設定する必要があります。
DoorFrame スタティックメッシュ コンポーネントと Door スタティックメッシュ コンポーネントを視覚的に表示するスタティックメッシュ アセットも設定する必要があります。
-
BP_DoorActor の [Component] タブから DoorFrame スタティックメッシュを選択し、それを DefaultSceneRoot コンポーネント にドラッグして新しい ルート コンポーネント にします。
-
[Components] タブで DoorFrame スタティックメッシュを選択し、 [Details] パネルでスタティックメッシュを SM_DoorFrame に変更します。
-
[Components (コンポーネント)] パネルで DoorMesh コンポーネントを選択します。 [Details] パネルに移動し、スタティックメッシュを SM_Door に変更します。
-
Transform カテゴリに移動し、 Y Location 値を 45.0 に変更します。
-
[Save (保存する)] と [Compile (コンパイルする)] をクリックしてこれらの変更を Bp_DoorActor に保存します。
Timeline Float Track を作成する
Timeline Component では移動アニメーションを記述するために Timeline Curve を必要とします。それぞれのカーブには、時間と値を定義する複数のキーが含まれています。カーブはこれらのキーを補間して、タイムライン中の任意のポイントの値を計算します。
-
まず、イベントグラフの DoorTimelineComponent をダブルクリックして Timeline エディタを開きます。
-
[Add Float Curve (Float カーブを追加)] をクリックしてトラックに新しいカーブを追加して、そのカーブに DoorRotationZ と名付けます。
-
右クリックして Float カーブ トラックにキーを 2 つ追加します。値は (0,0) と (5,90) にします。
-
Shift キーを使って 2 つのキーを選択し、 [Key Interpolation (キー補間)] ドロップダウン メニューから [Auto (自動)] 補間を選択します。
-
Float トラックを保存します。
イベント トラック ロジックを更新する
次に、Door スタティックメッシュを回転させるための更新ロジックを作成する必要があります。
-
BP_DoorActor の [Components] タブに移動し、Door スタティックメッシュをイベントグラフにドラッグします。
-
Door ピンを引き出し、アクション コンテキスト メニューから SetRelativeRotation を選択します。
-
イベントグラフを右クリックし、コンテキスト メニューから Make Rotator を選択します。
-
DoorTimelineComponent ノードから Door Rotation Z float ピンを引き出して Make Rotator ノードの Z ( Yaw ) ピンにつなぎます。
-
DoorTimelineComponent ノードから Update ピン を引き出して SetRelativeRotation ノードの入力実行ピンにつなぎます。
-
Make Rotator ノードの Return Value ピンを SetRelativeRotation ノードの New Rotation ピンにつなぎます。
-
コンパイル して 保存 します。
Binding Box Collision Overlap イベントを作成する
アクタがコリジョン領域に出入りするときに Box コンポーネントが反応する機能が必要です。
-
BP_DoorActor の [Components] タブで Box コンポーネントから Box コンポーネントを選択します。
-
[Details] パネルの Events カテゴリを下にスクロールし、 On Component Begin Overlap イベントの横にある [+] アイコンをクリックします。
-
On Component Begin Overlap(Box) ノードの実行ピンを引き出して、DoorTimelineComponent ノードの Play ピンにつなぎます。
-
BP_DoorActor の [Components] タブで Box コンポーネントから Box コンポーネントを選択します。[Details] パネルの Events カテゴリを下にスクロールし、 On Component End Overlap イベントの横にある [+] アイコンをクリックします。
-
On Component Begin Overlap(Box) ノードの実行ピンを引き出して、DoorTimelineComponent ノードの Reverse ピンにつなぎます。
-
コンパイル して 保存 します。
アクタをレベルに配置する
-
コンテンツ ブラウザで BP_DoorActor を選択してビューポートにドラッグします。
-
[PIE] を押します。
完成したブループリント
BP_DoorActor