ブログトップ 記事一覧 ログイン 無料ブログ開設

gumi Engineer’s Blog RSSフィード

2011-04-26

Ragdollを触ってみた

はじめに

f:id:gumilab:20110426004304p:image:right:w320

はじめまして。gumiの古閑です。

簡単に自己紹介するなら、僕はWebエンジニアとしては働くのはgumiが初めてです。

今まではコンシューマーゲームを主としてきましたので、Web素人の僕がgumi Engineer's Diaryに何を書こうかと考えていたのですが、良い題材がありました。

unityです!

unityとはWeb/Windows/OS X/iPhone/Android、さらにWii/XBOX360/PS3などにも対応しているという話題のゲームエンジンです。

またGREE SDK機能を簡単に組み込めるiOsやAndroidに対応した「Unity Plugin for GREE」というのもあります。

有料版と無料版がありますが、無料でも充分すぎる程の機能が揃っています。

今回は無料版でも出来る内容で面白そうな機能として、ラグドールを触ってみようかと。

業務外の趣味でやっている内容なので今までのgumi Engineer's Diaryの内容とは異色かもしれません。。。!

ラグドールとは

ここでいうラグドールとはラグドール物理演算の事で、キャラクターに物理挙動をさせるものです。

3Dゲーム等が好きな方は見た事があるかと思いますが、敵を吹っ飛ばした時などに操り人形のようになるあれです。

物理と聞くだけで鳥肌が立つ方も、unityにはデフォルトでその機能が入っているんです。素晴らしい!

そして一見難しそうに聞こえるラグドールも簡単な設定でできるんです。

とはいえ、ラグドールを設定するキャラクターが無いと当然何も出来ず、

個人でキャラクターモデルを用意するとなると、知り合いに3Dモデラーさんがいない限りは

いきなり敷居が高くなったりします。

アセットの用意

でも、UnityではUnity Asset Storeと呼ばれる場所から他の開発者が作成した

モデルやモーション、マップなどが含まれたアセットを購入する事ができるんです!

Window→Asset Storeから好きなアセットを購入する事ができます。

(最初はアカウント登録が必要)

自主ゲームに使用するだけでなく、他の開発者の方がどのように作成しているかもわかるので、

勉強にもなりますね。

そして、試しにダウンロードしてみたアセットがこれ

・Zombie Character Pack

Zombie Character Pack by Mixamo -- Unity Asset Store

やられ役という事でゾンビを選択してみました。ちなみに無料です。

このアセットにラグドールの設定をしたいと思います。

ただ設定する前にどのようにボーンが設定されているかを見てみます

ボーン確認

f:id:gumilab:20110426013042j:image:left:w320

zombieのボーン表示です。

人型のモデルは大体このようなボーン構造になるかと思います。

重要な箇所としては、肘、膝、足の付け根などの関節部でしょうか。

実際に体を動かしてみるとわかりやすいのですが、右肩を回すと右手の位置が動くように、左足の付け根を上げると左足があがるように、腰を回転させると両腕の位置が動くようにと各関節は親子構造となっています。

主にこの関節部分をラグドールには設定する事になります。

f:id:gumilab:20110425191808p:image

設定する

GameObject→Create Other→Ragdoll...

を選択し、プロパティを表示します。

f:id:gumilab:20110424233216p:image:w240

設定例

Root→Zombie:Hips

Left Hips→Zombie:Zombie:LeftUpLeg

Left Knee→Zombie:Zombie:LeftLeg

Left Foot→Zombie:Zombie:LeftFoot

Right Hips→Zombie:Zombie:RightUpLeg

Right Knee→Zombie:Zombie:RightLeg

Right Foot→Zombie:Zombie:RightFoot

Left Arm→Zombie:LeftShoulder

Left Elbow→Zombie:LeftForeArm

Right Arm→Zombie:RightShoulder

Right Elbow→Zombie:RightForeArm

Middle Spine→Zombie:Spine

Head→Zombie Head

rootは最上位にあるボーンの事で、全てのボーンの親となり、Hip-Knee-Foot、Arm-Elbowなどは親子関係になっています。

全ての設定する場所を割り当てたらCreateを押します。

RootにHipsを設定したり、HipsにUpLegを設定したりと変な感じになっていますが、これは対応させたいZombieのボーン名がそのようになっているからです。

ここらへんは開発者、開発会社によって名前のつけ方が多様かもしれません。

ビルド

File→Build Settings

からWeb Playerを選択しBuildしてみます。

hoge.html

hoge.unity3d

の二つが作成されるので、後は二つともサーバーに置きhtmlをリンクさせるです!

置いたのがこちら。「Web Player」プラグインが必要です

no title

カメラの挙動などはデフォルトアセットのFirst Person Controllerを使用しています。

後、おまけでクリックすると球が出るように追加しています。

まとめ

という訳で今回はゲームよりな内容でラグドールをざっと触ってみました。

unityを触って間もないのですが、かなり機能が豊富に揃っている印象です。

各機能を知るだけでも、個人でそれなりのクオリティになるゲームが作れるのではないでしょうか。

unityにはまだまだ面白い機能がたくさんついているので覚えていきたいですね!

おまけ

プレハブ化してランダムで生成

no title

ゾンビでっかくしてみた

no title

GREEアプリ「さんごくっ!」の夏侯惇に変えてみた。好評配信中!

no title

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証