強火で進め

このブログではプログラム関連の記事を中心に書いてます。

「【第5回】渋谷Unity技術勉強会」に参加して来ました

【ATND】

(満員御礼)【第5回】渋谷Unity技術勉強会 ~プログラミングをしないでゲームを作る方法~&『ゆるロボ製作所』の開発事例を大公開! / Unity開発事例 三次元解剖学書 : ATND
http://atnd.org/events/28097

【Togetter】

#Shibuyaunity‬ 第5回渋谷Unity技術勉強会 ~プログラミングをしないでゲームを作る方法~&『ゆるロボ製作所』の開発事例を大公開! / Unity開発事例 三次元解剖学書 プログラミングをしないでゲームを作るって!? そしてプログラマとデザイナでスクラム開発 - Togetter
http://togetter.com/li/316232

プログラミングをしないでゲームを作る方法 - 伊藤 周さん

Unityの特徴
どんなゲームを作ろうか?


素材はフリー素材を使用

前準備として駆動部分ごとにパラバラのパーツに

Asset Store
  • ツール、アセットが自由に販売されている
  • あらゆる行程を楽にしてくれる
  • 安価($0〜$200程度)
  • 1回買ってしまえば、何度でも商用利用OK
  • 会社で1つ購入すれば会社内のメンバは全員利用可能となるライセンス
Smooth Moves
  • Asset Storeで販売している
  • スプライトアニメーションツール
  • フレームと位置、回転を決めれば補完してくれる
  • 現在、セール中で$35!(元は$75)
Texture Atlasって?
  • 先程バラバラのパーツに分けたペンギンの画像を1枚の画像ファイルに配置

  • Unityにおいて描画を軽くするにはDrawCallを減らす必要があり、DrawCallを減らすためにはマテリアルをまとめる必要がある
  • マテリアルをまとめるためにはテクスチャはなるべく1つにまとめた方が良い
  • 要は「描画を軽くする為の前準備」
AnimationのRootは動かすか否か
  • 動きは物理で

→Animationで動かさない方が無難

  • 物理を使わないのであれば動かしてもOK
PlayMaker
  • Asset Storeで販売している
  • 状態の移り変わりを可視化
  • フローがわかりやすい
  • アニメーション遷移に最適

(Smooth Movesと連携可能)

  • Smooth Movesの作者がplayMaker向けのライブラリを作成している

http://www.midnightware.com/echo17/SmoothMoves.html

RageSpline
  • Asset Storeで販売している
  • スプライン曲線で2Dを描ける
  • 横スクロールゲームのステージ作成に最適
  • コリジョン処理なども面倒をみてくれる
ここにきて問題が
  • ペンギンのジャンプ→スリップの時の回転Zの固定を解除したい
  • Rigidbodyの軸固定がPlayMakerでは出来ない!?
  • ググるとFreezeできないという事が明らかに


コード書くしか!?
  • PlayMakerのActionを自分で拡張
  • 意外と簡単に実装できた


ダークサイドに落ちたか…
  • いえいえ、そうでもありません
  • コピペコードでも可能
  • 「PlayMakerでできない」≠「使えない」
まとめ
  • 何か「面倒くさいな」と思ったらAssetStoreに無いか探しましょう
  • なるべく手間のかからない方法を模索しましょう
  • でもスクリプトを書いた方が楽であれば、普通に書きましょう

(筆者注)
PlayrMakerは定数の設定は可能だが逆向きの移動時などにその定数のマイナス値が欲しいとなると「その定数に-1を掛ける処理をPlayrMakerで準備しなければならない」その為、却って手間になるという例を紹介されました。

ゆるロボ製作所開発事例 – ドローコール削減技 n 連発! - 吉谷 幹人さん

【スライド】
http://www.slideshare.net/mikito0521/ss-13221405

【気になった部分のメモ】
ドローコールとfpsの対応の目安(iPhone 4の場合)

  • 200コール : 15fps
  • 100コール : 30fps
  • 50コール : 60fps
  • なるべくRayは飛ばさない。Updateで行うと割りと高負荷
  • 背景オブジェクトは全てまとめて1つのオブジェクトに。アニメーション部分はスクリプト
  • 動かさないオブジェクトはStaticをOnにしてStatic Batchingの対象にする

【用語解説】

用語 意味
スプリント ソフトウェア開発が行われる工程。スプリントは、開発、まとめ、レビュー、調整の繰り返し
プロダクトバックログ 製品に必要な要素を項目に起こした一覧
ユーザーストーリー ユーザーの要求
ストーリーポイント ユーザーストーリーを見積もるための作業単位
スクラム 短い間隔で出荷可能な状態のアプリを準備する開発手法(アジャイルソフトウェア開発手法の1つ)
デイリースクラム メンバー全員が参加して毎日行うミーティング
バーンダウンチャート 進捗状況を確認できるチャート

スクラム (ソフトウェア開発) - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%AF%E3%83%A9%E3%83%A0_%28%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%29

Static Batching、Dynamic Batchingについて記述されている公式ドキュメント。

Unity - Draw Call Batching
http://unity3d.com/support/documentation/Manual/iphone-DrawCall-Batching

【QA】
Q : AdMobはどのライブラリを使いましたか?
A : 良いのが無かったので自前で作成


Q : デザイナーもGitを使ったとの事でしたが何かツールは使われたのでしょうか?
A : デザイナーはWindowsを使っていたので「TortoiseGit」を使用。Gitの環境はGitHubクローンの「GitLab」で構築。

Unity開発事例 三次元解剖学書と猫ゲーム - 金田 宙志さん

三次元解剖学書とは

Unityでつくられた、人の体の構造、動きを三次元的に自由な角度から見る事ができる三次元の解剖学書

  • インターネットにて「TEAMLAB BODY(チームラボボディ)」の名称で無料公開中
  • 自分が作成したアプリの評判を確認する時はTwitter標準の検索を使うと取りこぼしが発生するので「ついっぷる」を使うのが良い。
開発

大阪大学医学部 バイオマテリアル研究所

  • まずは基礎システムをかなだ一人で一年半かけて試作(腕の筋肉アニメのみ)
  • その後一年半、医学部に常駐して全身の完成を目指す(2009年10月〜2011年4月)
  • 監修、データの提供は大学所属の整形外科の医師のみなさん、約30名
  • モデリングデータの作成。大阪大学工学部のアルバイト(2年生〜4年生)、7名
  • データを実装すべき前半に開発した旧来のWeb 3Dシステムは全データを綺麗に高速に表示するには力不足と判明(CPUのみで処理されているシステム)→Unityを使う事に
  • 何故、Unityを選択→教授が「これができたらそのうちiPad版やりたいよね」とおっしゃるので
  • 2010年の夏ぐらいに自宅で密かにUnityの研究(もともとは将来的なiPad版開発のために)
  • 家で実験しているだけで短時間で基本的なシステム全てが移植できてしまい、その事実に愕然とする
  • 残り時間もあまりないが実装直前でシステムの実装先の入れ替えを決意
  • システムはできても200万ポリゴンの人体データを実装するのはやっぱり大変
  • 果てしない死闘の後、シーンによってはドローコール4000オーバーしてはいるもののなんとか全データ同時表示に成功
  • 今回の目的はハイスペックPC上で綺麗にわかりやすく見せるのが目的なため一応これで目標達成
猫ゲーム
  • 元々は年始に有ったFlashコンテスト(UnityからビルドしたFlashゲームのコンテスト)に何か出してみようと開発開始
  • 結局間に合わなかったのでiPad 2でどこまでキャラクターが動かせるか技術実験として開発を継続中

WebPlayer面白いよ! - @kyusyukeigo さん

【スライド】
http://www.slideshare.net/keigoando/unity-webplayer