Unityクリエイターズ勉強会に行ってきた話

2月になったので更新します。

そんなこんなで今回はこちらにおじゃましました。
http://atnd.org/events/35988

Unityクリエイターズって呼ばれるほどの者でないのが行っていいものかと思いましたが、勉強会は関東と比べてそこまで多くないし興味ある分野でしたし参加させて頂きました。
例によって例のごとく、メモし損なった部分もあるので
間違い等あるかもしれませんのでご注意を。

○パーティクルで2Dシューティング(くるくるさん:@mkd214)
一発目は主催者であるくるくるさんのライブコーディング。
プロジェクト作成からParticleSystemを使ってシューティングゲームを作ると言った内容。
詳細はSlideShare(http://www.slideshare.net/masatakamotokurumada/unitycreater0202)
を参照していただくとして、
内容を追っていけば一つのゲームとして出来上がるので、
お時間有る方はチャレンジすると良さげ。
パーティクルの制御の練習として成り立つのでUnityでのエフェクト作成入門としても
非常に有難いです。
こういったライブコーディングによる発表は大抵時間が足りなかったりトラブルでgdるって印象が強かったのですが、大きなトラブルもなく発表されていたのは素晴らしかったです。

○Unityシェーダーを触ってみよう(マニーさん:@Many_san)
Unityのシェーダーを実際にソースに手を加えようと言う内容。発表資料は以下のURL
http://many.chu.jp/Unity/130202/

_人人人人人人人人人_
> UnityWebPlayer <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^ ̄

氏曰く、「何でUnityWebPlayerあんのにパワポ使ってんすか?」とのこと。

諸事情につき一部公開されておられない箇所がありますが、
内容としてはシェーダーの基礎知識から
Unityでのシェーダープログラミングの触りについて解説されていました。
AssetsからShaderを選んで、GUIから設定するとデフォルトで色情報が操作可能なので、
256までの範囲で設定可能
(ちなみにソースから設定する場合は0.0~1.0で設定する)
テクスチャを操作したい場合はMainTexture(Texture型)に記述すれば良い
(テクスチャのリソースを事前に用意しているのが大前提)
UV情報はmainTextureOffsetで操作できる

・シェーダの作成
ProjectからCreate-Shaderを選択し、
InspectorからEditorを押してEditorを立ち上げ、そこから記述が可能。
*1

「一目で気を引けるよう一手間加えて、頭ひとつ抜けた開発をしよう!」

○NGUIとかの苦労話(Walessさん:@waless_s)
有名なUIについてのプラグインであるNGUIを実際に開発で使用された際のお話。
一番の特徴としてはマテリアル単位で描画をすることがメリットであり、
このためDrawCallによる描画回数を抑える事が可能。
ただしこれはデメリットにも繋がっていて、順番に寄っては正しい順序で描画されなかったり、
同じマテリアル内の平均のZ値を算出して描画するため
個別にZ値の調整が出来なかったりと言った事例が起き、問題解決に悩まられたようです。
(UIPanelを更にUIPanelで分けて子供にするといった方法で回避)

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
LT
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

○Prefabで高速共同レベルデザイン(栗坂こなべさん:@kurisaka_konabe)
GGJにもプロジェクトリーダーとして参加された栗坂さんのレベルデザインについてのお話
http://www.slideshare.net/kurisaka_konabe/20130202-unitycreators-prefab

GGJに関しての説明はここではしませんが、とにかくスピードを要求される現場において
負荷の高いレベルデザインを少しでも効率よく作業を回すための豆知識。
システムが組まれなくてもPrefabを利用し予めルールを決めておけば、
オブジェクトの配置も可能!
サンプルのパッケージは公開されているので、
これからチームリーダーをされる方はスライドを要チェック

○Unityでネットワーク(コッペパンさん:@pepa_696)
NetWorkViewを使用した通信処理についての説明
http://www.slideshare.net/koppepan/unity-16450853

色々、メモったものの必要なことは全てスライドにあるので割愛
個人的には通信処理と言えば初めの一歩から面倒なイメージが付きまとうのですが
え、終わり?と思うほどスクリプトもあっさりとしてました。
もちろんいざ使いはじめると色々問題にぶち当たるかもしれませんが、
導入は非常に分かりやすいと思えます。

○NormalizeViewPortRectについて(ひもさん:@himojii)
CameraのパラメータであるNormalizeViewPortRectについての説明
描画位置と範囲を設定することができるので複数のカメラの描画が可能。
複数の窓を表示することでローカル対戦やワイプ等でお世話になるはず。
もちろんスクリプトからcamera.rectで動的に操作できる。
そして、ひもさんはこれを敵の視点に利用し作成されたゲームがこちら
http://www.kongregate.com/games/himojii/second-person-shooter-zato

単純な軌道なのに敵のバリエーションが変わるだけでこんなに新鮮な感覚を得れるとは…

○Unity制作にお勧めのサイト(くるくるさん)
くるくるさん自身が良く参照されるサイト・フォーラム4つの紹介。
Unity作成される方は言わずと知れたサイトでもありますし、
これから始める方も、行き詰まったら参考にされるとかなり捗ることでしょう。

強火で進め http://d.hatena.ne.jp/nakamura001/
テラシュールウェア http://terasur.blog.fc2.com/
Unityユーザー助け合い所 http://www.facebook.com/groups/unityuserj/
UnityAnswers http://answers.unity3d.com/index.html

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
まとめ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Unityの勉強会は以前にも有りましたが、Unityクリエイターズ勉強会としては初回且つ
初心者にも意識した発表となったので、多少突っ込んだ知識が必要といったことも無く
私には非常にいい塩梅でした。
少し触り始めたけど何しよう?って人にはシューティングを作ったり
シェーダーを弄ったり…なんてことが出来る!
と言う指針が出来る、いい切っかけになれたのではないかと思います。

ただ、walessさんの発表のようにUnityやその周りのプラグインだけで何とかなるどころか、
トラブルも起こりその対処をするには今までの知識や経験をフル動員して応対されました。
発表中、「Unityは魔法じゃない、実態は今までの技術と知識の詰め合わせ」と仰ったとおり
クリックや一つで箱が出せるからといって、
板ポリがどう書かれるかわからなくてもいいとかそんな事はなく、
制作において問題に直面したとき最後に物を言うのは、
今日までの散々使われてきた知識や経験であるのは
これからも変わらないと言うことを示されました。
Unity上でやれるからと満足せずそれがどのように実現されているか、
それを疎かにしてはいけないのです。

と盛大にブーメランを投げてみます。
もう帰ってきました。超痛いです。

*1:「強火で進め」さんのページに詳しい記事があるとのこと