この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
wiki:tips:006 [2016/03/06 09:08] step |
wiki:tips:006 [2016/08/20 15:51] (現在) step |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ====== 006 シンプルなActor(球)を配置して動かす(4.10) ====== | + | ====== 006 アクター(球)を配置して動かす(4.10) ====== |
+ | |||
+ | ===== 概要 ===== | ||
+ | アクター(球)を配置して上下に動かしてみます。 | ||
+ | ---- | ||
コンテンツブラウザから新規追加→ブループリントクラスを選択し「親クラスを選択」から「アクター」を選択します。 | コンテンツブラウザから新規追加→ブループリントクラスを選択し「親クラスを選択」から「アクター」を選択します。 | ||
ライン 10: | ライン 15: | ||
この「SphereBP」をダブルクリックすると「ブループリントエディター」が開きます。 | この「SphereBP」をダブルクリックすると「ブループリントエディター」が開きます。 | ||
- | 「イベントグラフ」タブを選択してノードを書いていくことで、「SphereBP」の動きを実装します。 | + | |
- | {{:wiki:tips:2016030623.png|}} | + | |
+ | ---- | ||
+ | |||
+ | |||
+ | |||
+ | ===== モデルの追加 ===== | ||
+ | コンポーネントタブのコンポーネントを追加から「球」を追加します。 | ||
+ | {{:wiki:tips:20160306001.png|}} | ||
ライン 20: | ライン 32: | ||
[[https://docs.unrealengine.com/latest/JPN/Programming/QuickStart/index.html|Unreal Engine | プログラマ向けクイックスタート]] | [[https://docs.unrealengine.com/latest/JPN/Programming/QuickStart/index.html|Unreal Engine | プログラマ向けクイックスタート]] | ||
を参考にして上下に移動する球を実装してみます。 | を参考にして上下に移動する球を実装してみます。 | ||
+ | |||
+ | 「イベントグラフ」タブを選択してノードを書いていくことで、「SphereBP」の動きを実装します。 | ||
+ | {{:wiki:tips:2016030623.png|}} | ||
ライン 28: | ライン 43: | ||
{{:wiki:tips:2016030624.png|}} | {{:wiki:tips:2016030624.png|}} | ||
+ | 変数左側の、ここでは緑色アイコンを右クリックすると変数を配列に切り替えることができます。 | ||
---- | ---- | ||
ライン 53: | ライン 69: | ||
=== コンパイルエラーが出ている === | === コンパイルエラーが出ている === | ||
- | さて、このままではAddActorWorldTransformに引数が何も渡されていない状態なためコンパイルエラーが出てしまいます。 | + | さて、このままではAddActorWorldTransformに引数が何も渡されていない状態なためコンパイルエラーが出てしまうので、新しいノードを追加します。 |
- | 新しいノードを追加します。 | + | |
- | 何もないところを右クリックして「Add Math Expression」を検索します。 | + | 何もないところを右クリックして「Add Math Expression」を検索し選択します。 |
{{:wiki:tips:2016030627.png|}} | {{:wiki:tips:2016030627.png|}} | ||
+ | 「Add Math Expression」ノードは数式を扱えるノードです。 | ||
+ | C++などに馴染んでいる人は、式がそのままかけるためとても便利です。 | ||
+ | |||
+ | {{:wiki:tips:2016030628.png|}} | ||
+ | |||
+ | 図の様に上下にSin運動させるための式を記述します。 | ||
+ | |||
+ | <code cpp> | ||
+ | Sin(RunningTime) | ||
+ | </code> | ||
+ | |||
+ | 計算式はできたので、計算結果をAddActorWorldTransformの引数として渡したい所ですが、 | ||
+ | float型のパラメータを渡す箇所が見当たりません。 | ||
+ | |||
+ | |||
+ | そんな場合はAddActorWorldTransformのTranformを右クリックし「構造体ピンを分割(Split Struct Pin)」します。 | ||
+ | {{:wiki:tips:2016030629.png|}} | ||
+ | |||
+ | 同じ要領で分割されたピンをさらに分割することも可能なので、今回の場合分割されたVector型をさらに分割します。 | ||
+ | そして、分割されたピンに先ほどの計算結果を渡します。 | ||
+ | |||
+ | {{:wiki:tips:2016030630.png|}} | ||
+ | |||
+ | これで渡せました。 | ||
+ | |||
+ | あとは、RunningTimeを更新するための式を書いて、ピンを繋げてあげて完成です。 | ||
+ | <code cpp> | ||
+ | (RunningTime + DeltaSeconds) | ||
+ | </code> | ||
+ | |||
+ | {{:wiki:tips:2016030631.png|}} | ||
+ | |||
+ | ==== 完成したブループリント ==== | ||
+ | |||
+ | {{:wiki:tips:2016030632.png|}} | ||
+ | |||
+ | 完成したらコンパイルボタンを押します。どこか不備があればエラーが表示されます。 | ||
+ | {{:wiki:tips:2016030633.png|}} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== レベルに配置する ==== | ||
+ | ブループリントエディタを閉じレベルエディタに戻って「SphereBP」をレベルにドラック&ドロップで追加します。 | ||
+ | {{:wiki:tips:2016030634.png|}} | ||
+ | |||
+ | |||
+ | 適度に確認しやすい位置に調整します。 | ||
+ | {{:wiki:tips:2016030635.png|}} | ||
+ | 「プレイ」ボタンで再生します。 | ||
+ | {{:wiki:tips:2016030636.png|}} | ||
+ | これで上下にSin移動するアクターができました。 | ||