7日でゲームを作ろう!3
こんにちは、インターンシップ生の松本です。前回はキャラクターの移動のプログラムを作っていきました。
今回はこのキャラクターにスイカを割るための武器を持たせるところを作っていこうと思います。
まず、武器は何を使うかを決めます。Unreal Engine4を開発したEpic Games公式から無料で配布されているInfinityBlade:Weaponsというアセットを使っていきます。
次に武器をしっかり持たせるために、このキャラクターの右手にソケットと呼ばれるものを作ります。ソケットを作ることでその場所からエフェクトを出したり、これからやるように武器を持たせることができます。コンテンツの中のMannequinというファイルの中にCharacterというファイルがあり、さらにその中のMeshの中にSK_Mannequinというこのキャラクターのスケルタルメッシュと呼ばれるものがあります。これを開き、右上のスケルトンと書かれているところをクリックするとスケルトンツリーが出てきます。そこにはキャラクターの体のさまざまな場所が表示されていて、そこから今回は右手にあたる部分を選びます。そこで右クリックをすると出てくる項目の中の”ソケットを追加”をクリックすると、先程右クリックした場所にソケットができます。あとは位置を調節して、次は実際に武器を持たせます。
ソケットに持たせたい武器をアタッチすると持たせることができるが、アタッチする方法はいくつかあり、スナッピングと呼ばれる機能を使った方法やメインのエディタのコンテキストメニューからアタッチする方法、ブループリントを使用した方法などがあります。それぞれ試してみたのですが、成功したのはブループリントを使った方法だったのでこちらを使っていきます。
まずはアタッチしたい武器のメッシュを”Add Static Mesh Component”と”Set Static Mesh”を使って追加し、”Attach To Component”を使ってアタッチします。
”Attach To Component”のTargetにはアタッチするコンポーネント(武器)を指定し、Parentには持たせる側のコンポーネント(キャラクター)を指定します。そしてSocket Nameにアタッチしたいソケット名を指定することで、無事持つことができました。
参考元http://api.unrealengine.com/JPN/Engine/Content/Types/SkeletalMeshes/Sockets/
http://kagring.blog.fc2.com/blog-entry-375.html
↑今回の作業結果です。次回は武器を振るアニメーションに関してとステージの作成をやっていこうと思います。
興味を持たれた方はお気軽にお問い合わせください。
インターンシップへの申し込み・お問い合わせ先
