偽マッカートニーの進捗報告

主にUnityを使ってやったことなどをまとめてます。

【Unity】Character Jointでうどんをちゅるんとさせる

お久しぶりの投稿です。

今日はあるゲームアプリの動きが面白かったので、

それをUnityで再現してみたいと思います。

 そのアプリがこちら

UDONちゅるん

UDONちゅるん

  • Goodia Inc.
  • ゲーム
  • 無料

 このうどんのちゅるんちゅるんな感じを

UnityのCharacter Jointコンポーネントを使って再現してみます

 

まずCapsuleを縦に複数並べていきます

f:id:leonarudo00:20190518201619p:plain

f:id:leonarudo00:20190518201640p:plain

 PositionのYを1ずつずらして並べていきましょう

陰影が乗らないように適当なパーティクル用のマテリアルを付与してます

(陰影乗ったままだと最終的にミミズみたいになってキモイです)

 

次にCapsuleにRigidbodyとCharacter JoinコンポーネントをAddします

各パラメータの設定は下のような感じ

f:id:leonarudo00:20190518202039p:plain

f:id:leonarudo00:20190518202053p:plain

 

「Edit Joint Angular Limits」を押してみるとこんな感じ

f:id:leonarudo00:20190518202319p:plain

Y軸の回転をなくしてX軸とZ軸でそれぞれ40度の幅で回転する設定

 

それでは実際に動かしてみましょう

いい感じでとぅるとぅるしてるんじゃないでしょうか笑

無理やり動かしているので最後あらぬ方向に飛んで行ってますが

適切にゲームの中に配置してあげれば奇妙なオブジェクトとしていい味出してくれそうです 

 

突撃!隣のゲーム会社

先日縁あって、某ゲーム開発会社の人事の方から、同会社でプロのプランナーとして活躍されている方と直接お話しする機会を頂いた。

ブログに記事として公開する許可を頂いたので、ここに面談の内容をまとめる。

どんな会社・人物に話を聞いたか

今回お話をさせて頂いた会社さんは主にスマートフォン向けゲームを開発している。

また、プランナーの方は以前にコンシューマゲームを開発する会社から移って今の会社にいる、という経歴であった。

どうしてコンシューマからスマートフォンへ?

まず気になったのはプランナーの方の経歴について。なぜコンシューマゲーム開発からスマホゲーム開発をする現在の会社に移ったのかを伺った。理由は簡潔に述べると以下の二つであった。

  1. より多くの人に遊んでもらえる
  2. 今までにやったことのないことができる(新しい体験をつくれる)

ここで大切なのが、「より多くの人」というのは、”スマホゲームという市場”の中でのより多くではなく、”新しい市場を開拓した先にいる”より多くの人という意味であるということだ。つまり「スマホゲームをつくる」ことが目的ではなく、「”新しい体験”を”より多くの人”に届ける」ことが目的であってスマホゲームをつくることは手段なのである(これに関しては以前”HEAT”というゲーム会社合同企業説明会でも社長の一人が同じようなことをお話されていたので、ついでにリンクを貼っておく)。

電撃 - 今のゲーム開発会社が欲しい人材は? 4人の社長が語る就職活動のヒント

引用: 横山社長は「僕らの作っているものが、今はたまたま“ソーシャルゲーム”と呼ばれているだけで、僕ら自身は最初から“ゲーム”しか作っていない」と明解に答えていました。

コンシューマゲームスマホゲーム

続いて、コンシューマゲーム開発からスマホゲーム開発に移った人から見た両者のゲームづくりの違いについて尋ねてみた。

まず、コンシューマゲーム開発に比べたスマホゲーム開発の面白い点の一つとして「コンテンツが成長する体験を味わえる」という回答を頂いた。コンシューマゲームは基本的に売り切りのものであるが、スマホゲームにはリリースした後に”運営”というフェイズがある。ゲームを遊ぶ人を飽きさせないために、絶えずゲームを変化させていく過程にスマホゲーム開発ならではの楽しさがあるということであった。それに関連して、スマホゲームはユーザーにどのように遊ばれているかが分かることも魅力の一つであるとのことであった。

また、コンシューマはハードの性能が高く映像などの「演出」が重要になるのに対し、演出の面でコンシューマに及ばないスマホゲームはゲームシステムなどの「体験」が重要になるという違いもあるとのことであった。

ゲームプランナーに必要な「内省能力」

今回お話を伺ったプランナーの方は、新人プランナーに「次の瞬間に成功体験を捨てろ」ということを必ず教えるそうだ。これを会社の大先輩は「内省能力」と一言で表すらしい。過去の成功体験にすがらず、常にゼロから考え直せるかが大切であるということであった。そのために重要なのが、勉強し続けること。常に新しい情報を入れ続けることが内省能力を高めるために必要だということであった。

あとがき

今回私は、就職活動をする上での方針を決めることを目的に面談をさせて頂いた。現役のゲームプランナーがどのような考えてゲームづくりをしているか、ということを直に聞き、共感できる部分を紐解くことでその形が見えてきたように思える。自分にとってなにが重要か、譲れないものはなにかを考え続けながらこれからの就活に臨みたいと思う。

最後に、このような貴重な機会を与えて頂いた企業の方々に感謝いたします。

Kinectで取得した点群の法線を推定する

 Kinectから点群を取得して、法線をもとめるプログラムを書きました。 

Kinectから取得した点群の法線を推定する

 

kinect2_grabber.hは以下のリンク先から頂きました。

https://github.com/UnaNancyOwen/KinectGrabber

 

実行結果例がこちら

f:id:leonarudo00:20170109004651p:plain

にょろにょろ出てる線が推定した法線

PointCloudLibraryをインストールしてからとりあえず描画してみるまで

Qiitaに記事を追加しました。

今回はPointCloudLibraryについてです。

研究のためにPCLを扱うことになり、勉強し始めました。

 

qiita.com

 

 参考:

KINECT for Windows SDKプログラミングKinect for Windows v2センサー対応版

KINECT for Windows SDKプログラミングKinect for Windows v2センサー対応版

 

 

13mzawa2.hateblo.jp

NuGetでパッケージ落とせなくて困ったハナシ

ご無沙汰

久しぶりの投稿です

NuGet

自分はVisualStudioでOpenGLOpenCVを扱うプログラムを書くときにNuGetからglutなどを落とすのですが、ある日突然パッケージを検索しても見つからないという事態が発生しました。

解決方法

  1. 「ツール」->「ライブラリパッケージマネージャー」->「パッケージマネージャーの設定」
  2. 「パッケージマネージャー」タブの「パッケージソース」を選択
  3. ”利用可能なパッケージソース”欄の"nuget.org"にチェック

無事パッケージを検索できるようになりました。

Blender2.76にユニティちゃんモデルを取り込む

Blender(バージョン2.76)にユニティちゃんモデルを取り込む方法を紹介します。

 ユニティちゃんモデルのバージョンは1.1を用いました。

1.Unityでモデルをインポート

まずはUnity側でユニティちゃんのモデルをプロジェクトファイルにインポートします。

これについては多くのサイトで紹介されてますので、そちらを参考にしてください。

(ちなみに本記事でのUnityバージョンは5.3.2)

blog.k-kansei.com

 

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に変更してください。

これを設定しないと、取り込んだボーンがおかしな向きになります。

f:id:leonarudo00:20160225043530p:plain

設定が完了したら、Import FBXボタンでfbxファイルをインポートしてください。

 

3.顔の位置を調整する

インポートした結果を見ると、顔まわりのメッシュの位置が明らかにズレているのが分かります。

f:id:leonarudo00:20160225043608p:plain

かわいい顔が台無しなので、適切な位置に戻してあげましょう。

位置のおかしい顔まわりのオブジェクトを選択し、プロパティウィンドウでLocationとRotationをすべてゼロに設定します。

するとユニティちゃんの顔が適切な位置に移動します。

 

4.モデルとボーンの位置・スケールを合わせる

すでに気づいてるかと思いますが、ボーンに比べモデルのサイズが大きく、角度もズレています。

最後にこれを修正しましょう。

ボーン以外のオブジェクトをすべて選択し、Rキーを押し、-90°回転させて正面を向くようにします。

次に、Sキーを押し、続けて0.01と入力するとボーンとモデルのスケールが等しくなります。

 

できあがり!

f:id:leonarudo00:20160225043622p:plain

ボーンを動かすとユニティちゃんも動きますね。

しかしところどころボーンの向きがおかしいものもあります。

 

Blenderにユニティちゃんを取り込む方法については他の方も紹介されていますが、

どなたの方法でやっても同じようにはなりませんでした。

Blenderのバージョン、ユニティちゃんのバージョンによって変わるのかもしれません。

 

バージョンについてもう一度まとめると、

Blender : 2.76

Unity : 5.3.2

ユニティちゃんモデル : 1.1

 

f:id:leonarudo00:20160225043931p:plain

この記事はユニティちゃんライセンス条項の元に提供されています