俺に解るように説明する "Unreal.Engine.4" 入門+

UnrealEngine4とかチュートリアルとか入門とか

【日本語】 UE4 ホッケーゲーム part.15 動けマレット 【チュートリアル】

マレットが動かなかった理由は、非常に単純。Youtubeチュートリアルをやっている外人さんも(わざとかどうか知らないけど)設定を忘れてて焦ってたりする。その設定はココ、[Details] > [Transform] > [Mobility] 。

f:id:ore2wakaru:20160405064247j:plain

"Static"(スタティック)というのは「動かない」ってこと。で、"Movable"(ムーバブル) っていうのは「動かせる」っていうこと。マレットは動かしたいので、ここを"Movable"変える。これで、移動するようになる。

----------

以前、ベイク(影の焼付)の話をしたのを覚えているだろうか。固定の光源からの光が、固定のアクタに当たって出来る影は、計算する処理がもったいないので焼き付けるっていう話。ここでもそうなんだけど、UE4では、動かせるものと動かせないものの区別をしっかりつけているようなんだ。

では、"Movable"にして、これで思い通り、上手くマレットがテーブルの上を動くかっていうと、、、やってみよう。

[Play]。

f:id:ore2wakaru:20160405070635g:plain

ぐわん、ぐわん、ぐわん~

なんだこりゃ~。マウスがテーブルに重なってると、カメラの方にマレットが向かってくる。テーブルから離れると、テーブルの真中(x:0  y:0  z:0)にピタッと止まる。なんでこんな動きになるかというと、、、

  で、

  その前に、

  ちょっと、

  すまぬな、

  いつまでも目に見える所にあると、

  目が変になりそうなので、

  改行するぜ。

よし。

で、なぜこんな動きになるかというと、

----------

  1. マウスがテーブルに重なる
  2. 重なった位置にマレットが移動する
  3. 今度は、マウスが移動してきたマレットの外壁に重なる
  4. 重なった位置(手前の方に)にマレットが移動する
    以下、同様、どんどんカメラに迫ってくる。

f:id:ore2wakaru:20160405075907j:plain

と言う具合だ。何にも重なっていない時には [Location] に [0,0,0] が入るので、テーブルの中心にじっとしている。

----------

重なるっていう言い方がちょっとあれなんだけど、もう少し別の言い方をすれば、マウスカーソルの位置からレーザーを発射して、何かにぶつかってないか調べてるってことだ。UE4では、ライントレースって言うらしい。

とにかく、コレでは都合が悪い。マレットをライントレースから無視してテーブルにだけ反応するように設定したい。なんと、そのためのいい方法が用意されているのだ。すごいぞUE4、便利機能満載だな、おい。

設定場所は、"Collision"(コリジョン、「当たり判定をどう取り扱うか」ってこと)。ここだ。

f:id:ore2wakaru:20160405090720j:plain

  1. "Mallet_Player"を選択しといてから
  2. [Details] の [Collision] を開いて
  3. [Collision Presets] を "Pawn" に変更
  4. [Trace Responses] の [Visibility] の所、 [Ignore] にチェックが入る!

【追加の説明】

マレットの [Collision] を "Pawn" にすると、[Visibility] の [Trace] が [Ignore] になるんだ。分かった? 英語勉強しとけよ!

えっと、マレットの「衝突判定の設定」を、「ポーン」という設定にすると、「ライントレース」する時に、「見た目」にはブチ当たってる(重なっている)んだけど、当たってないことにして、先にトレースを進めて行ってくれってことだ。自身を「無視」するってこと。ちょっとは分かりやすかったかな?

それから、前回の便利ノード、[Get Hit Result Under Cursor] をもう一度よく見てくれ。[Trace Channel](トレースチャンネル)が "Visibility"(ビジビリティ、「見た目」ってこと)になっているだろ。特にゴチャゴチャいじらなくていいように、最初から [Trace] では [Visivility] を使う設定にちゃんとなっていたんだなこれが。

マウスカーソルからトレースする設定と、マレットがトレースされる設定の合わせ技で解決だ。

----------

さ、「見た目」にはマレットは存在するけど、ライントレースで調べていく時は「無視」する、つまり、「俺を無視して、先に行ってくれ」という設定にしたわけで、これでマレットは、カメラ方向に近寄ってくることなく、テーブル上を動くことになるのだが、まだちょっと変だ。自身の半分が、テーブルに埋まっているだろう。

次回はこの辺を修正していこう。

ではまた。"Save All"。