【Unity】Character Jointでうどんをちゅるんとさせる
お久しぶりの投稿です。
今日はあるゲームアプリの動きが面白かったので、
それをUnityで再現してみたいと思います。
そのアプリがこちら
このうどんのちゅるんちゅるんな感じを
UnityのCharacter Jointコンポーネントを使って再現してみます
まずCapsuleを縦に複数並べていきます
PositionのYを1ずつずらして並べていきましょう
陰影が乗らないように適当なパーティクル用のマテリアルを付与してます
(陰影乗ったままだと最終的にミミズみたいになってキモイです)
次にCapsuleにRigidbodyとCharacter JoinコンポーネントをAddします
各パラメータの設定は下のような感じ
「Edit Joint Angular Limits」を押してみるとこんな感じ
Y軸の回転をなくしてX軸とZ軸でそれぞれ40度の幅で回転する設定
それでは実際に動かしてみましょう
いい感じでとぅるとぅるしてるんじゃないでしょうか笑
無理やり動かしているので最後あらぬ方向に飛んで行ってますが
適切にゲームの中に配置してあげれば奇妙なオブジェクトとしていい味出してくれそうです
【Unity5】ゲームパッドが接続されているかどうかをスクリプトで確認する
Qiitaに記事を投稿しました。
突撃!隣のゲーム会社
先日縁あって、某ゲーム開発会社の人事の方から、同会社でプロのプランナーとして活躍されている方と直接お話しする機会を頂いた。
ブログに記事として公開する許可を頂いたので、ここに面談の内容をまとめる。
どんな会社・人物に話を聞いたか
今回お話をさせて頂いた会社さんは主にスマートフォン向けゲームを開発している。
また、プランナーの方は以前にコンシューマゲームを開発する会社から移って今の会社にいる、という経歴であった。
どうしてコンシューマからスマートフォンへ?
まず気になったのはプランナーの方の経歴について。なぜコンシューマゲーム開発からスマホゲーム開発をする現在の会社に移ったのかを伺った。理由は簡潔に述べると以下の二つであった。
- より多くの人に遊んでもらえる
- 今までにやったことのないことができる(新しい体験をつくれる)
ここで大切なのが、「より多くの人」というのは、”スマホゲームという市場”の中でのより多くではなく、”新しい市場を開拓した先にいる”より多くの人という意味であるということだ。つまり「スマホゲームをつくる」ことが目的ではなく、「”新しい体験”を”より多くの人”に届ける」ことが目的であってスマホゲームをつくることは手段なのである(これに関しては以前”HEAT”というゲーム会社合同企業説明会でも社長の一人が同じようなことをお話されていたので、ついでにリンクを貼っておく)。
電撃 - 今のゲーム開発会社が欲しい人材は? 4人の社長が語る就職活動のヒント
引用: 横山社長は「僕らの作っているものが、今はたまたま“ソーシャルゲーム”と呼ばれているだけで、僕ら自身は最初から“ゲーム”しか作っていない」と明解に答えていました。
コンシューマゲームとスマホゲーム
続いて、コンシューマゲーム開発からスマホゲーム開発に移った人から見た両者のゲームづくりの違いについて尋ねてみた。
まず、コンシューマゲーム開発に比べたスマホゲーム開発の面白い点の一つとして「コンテンツが成長する体験を味わえる」という回答を頂いた。コンシューマゲームは基本的に売り切りのものであるが、スマホゲームにはリリースした後に”運営”というフェイズがある。ゲームを遊ぶ人を飽きさせないために、絶えずゲームを変化させていく過程にスマホゲーム開発ならではの楽しさがあるということであった。それに関連して、スマホゲームはユーザーにどのように遊ばれているかが分かることも魅力の一つであるとのことであった。
また、コンシューマはハードの性能が高く映像などの「演出」が重要になるのに対し、演出の面でコンシューマに及ばないスマホゲームはゲームシステムなどの「体験」が重要になるという違いもあるとのことであった。
ゲームプランナーに必要な「内省能力」
今回お話を伺ったプランナーの方は、新人プランナーに「次の瞬間に成功体験を捨てろ」ということを必ず教えるそうだ。これを会社の大先輩は「内省能力」と一言で表すらしい。過去の成功体験にすがらず、常にゼロから考え直せるかが大切であるということであった。そのために重要なのが、勉強し続けること。常に新しい情報を入れ続けることが内省能力を高めるために必要だということであった。
あとがき
今回私は、就職活動をする上での方針を決めることを目的に面談をさせて頂いた。現役のゲームプランナーがどのような考えてゲームづくりをしているか、ということを直に聞き、共感できる部分を紐解くことでその形が見えてきたように思える。自分にとってなにが重要か、譲れないものはなにかを考え続けながらこれからの就活に臨みたいと思う。
最後に、このような貴重な機会を与えて頂いた企業の方々に感謝いたします。
Kinectで取得した点群の法線を推定する
Kinectから点群を取得して、法線をもとめるプログラムを書きました。
kinect2_grabber.hは以下のリンク先から頂きました。
https://github.com/UnaNancyOwen/KinectGrabber
実行結果例がこちら
にょろにょろ出てる線が推定した法線
PointCloudLibraryをインストールしてからとりあえず描画してみるまで
Qiitaに記事を追加しました。
今回はPointCloudLibraryについてです。
研究のためにPCLを扱うことになり、勉強し始めました。
参考:

KINECT for Windows SDKプログラミングKinect for Windows v2センサー対応版
- 作者: 中村薫,杉浦司,高田智広,上田智章
- 出版社/メーカー: 秀和システム
- 発売日: 2015/05/21
- メディア: 単行本
- この商品を含むブログ (1件) を見る
Blender2.76にユニティちゃんモデルを取り込む
Blender(バージョン2.76)にユニティちゃんモデルを取り込む方法を紹介します。
ユニティちゃんモデルのバージョンは1.1を用いました。
1.Unityでモデルをインポート
まずはUnity側でユニティちゃんのモデルをプロジェクトファイルにインポートします。
これについては多くのサイトで紹介されてますので、そちらを参考にしてください。
(ちなみに本記事でのUnityバージョンは5.3.2)
2.Blenderでfbxファイルをインポート
ここかiらBlenderの作業。
Blenderでユニティちゃんのfbxファイルをインポートします。
まずは[File]->[Import]->[FBX(.fbx)]でファイルの参照画面に移ります。
さきほどユニティちゃんのモデルデータをインポートしたプロジェクトファイルを選択し、
[Assets]->[UnityChan]->[Models]->unitychan.fbx
の順に選択します。
ここでまだインポートはせずに、その前に設定をいじります。
左側に「Import FBX」タブがあるはずです。
そこに Main/Armatures を切り替えるボタンがあるので、Armaturesを選択してください。
そこの「Primary Bone Axis」と「Secondary Bone Axis」をそれぞれ、X Axis と Y Axisに変更してください。
これを設定しないと、取り込んだボーンがおかしな向きになります。
設定が完了したら、Import FBXボタンでfbxファイルをインポートしてください。
3.顔の位置を調整する
インポートした結果を見ると、顔まわりのメッシュの位置が明らかにズレているのが分かります。
かわいい顔が台無しなので、適切な位置に戻してあげましょう。
位置のおかしい顔まわりのオブジェクトを選択し、プロパティウィンドウでLocationとRotationをすべてゼロに設定します。
するとユニティちゃんの顔が適切な位置に移動します。
4.モデルとボーンの位置・スケールを合わせる
すでに気づいてるかと思いますが、ボーンに比べモデルのサイズが大きく、角度もズレています。
最後にこれを修正しましょう。
ボーン以外のオブジェクトをすべて選択し、Rキーを押し、-90°回転させて正面を向くようにします。
次に、Sキーを押し、続けて0.01と入力するとボーンとモデルのスケールが等しくなります。
できあがり!
ボーンを動かすとユニティちゃんも動きますね。
しかしところどころボーンの向きがおかしいものもあります。
Blenderにユニティちゃんを取り込む方法については他の方も紹介されていますが、
どなたの方法でやっても同じようにはなりませんでした。
Blenderのバージョン、ユニティちゃんのバージョンによって変わるのかもしれません。
バージョンについてもう一度まとめると、
Blender : 2.76
Unity : 5.3.2
ユニティちゃんモデル : 1.1
この記事はユニティちゃんライセンス条項の元に提供されています