メガ Unity ユーザーミートアップ 2012

9,978 views

Published on

Published in: Technology
2 Comments
14 Likes
Statistics
Notes
  • 誤植と見切れてる場所なおしました。
    アニメーションもちゃんと付けました。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 【予定】9枚目の誤植と元ファイルのアニメーションをちゃんとしようと思ってます。
    特にシェイプ図は見づらいので
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
9,978
On SlideShare
0
From Embeds
0
Number of Embeds
503
Actions
Shares
0
Downloads
34
Comments
2
Likes
14
Embeds 0
No embeds

No notes for slide

メガ Unity ユーザーミートアップ 2012

  1. 1. メガ Unity ユーザーミート アップ 2012 Unity Technologies Japan様開催 2012/12/21 (金)
  2. 2. メガ Unity ユーザーミートアップっ て?• Unityユーザーが集まり、実用的な講演を 聞く• ユーザーがミートアップする• Unityグッズをふんだくる という会合です あんまりミートアップする空気じゃなかった気がする 私がシャイなだけか
  3. 3. 講演内容
  4. 4. Unity4移行ガイド• Unity3.5系からUnity4で一部仕様変更等が あった• 移行するうえでの留意点を解説
  5. 5. 3.5との併用• Macの場合 – 既存のUnity3.5をリネームしよう• Windowsの場合 – インストール時に別名を指定しよう• プロジェクトの保存場所は変えよう – アップグレードすると戻せない・・・ – 混在すると混乱する・・・
  6. 6. ライセンスの返却• Unity4からライセンスの返却ができるよう になった! – ManageLicenseからReturnLicenseを選択する – 今までのメールでお願いしなくてもよくなっ たよ!
  7. 7. activeの扱いが変わった• 今までは.activeプロパティは親子関係を無視 していた – 4から親がactiveでない時は子もactiveでなくなる• activeプロパティが3つに分化 – setActive activeを切り替え – activeSelf アクティブ状態の取得 – activeInHierarchy 親子関係を含めたアクティブ状態の取得
  8. 8. SetActiveRecursivityは必要なくなった! たぶん
  9. 9. モバイル向け機能追加• 影がモバイルでも可能に! – 処理はそこそこ重たい – Pro限定• システムフォントが使用可能に! – フォントの設定をnoneにするだけ – リッチテキストも使用可能
  10. 10. Eclipse出力が正式対応• 今まで非公式機能だったEclipse出力がつい に正式対応 – 使い方は簡単でBuildSettingsでCreate Eclipse Project Layoutを選ぶだけ – Activityは毎回生成されて、上書きされるの気 を付ける• 細かいところは以下のサイトで! – https://gist.github.com/4326092
  11. 11. Meshも変わった• 新たにRead/Writeスイッチが増えた – 指定することで大幅にメモリ削減が可能に! 1万頂点で400~500KBが数十KBへ – 制限もある • Nouniformなメッシュでは使えない X軸のみやY軸のみなどの拡大縮小の事 • スキニングできない • 頂点情報を実行中に変更できない• Optimizeのアルゴリズムが変更 – メッシュの順番をアテにしていると不具合の 原因に
  12. 12. AssetのPostprocessが変わった• 今まで動いていたものが動かなくなる可 能性が・・・Assetに追加 コンバート Temporary まだメモリ上 OnPreprocess OnPostprocess 以前は不具合でここ でPrefabに保存するこ OnPostprocessAllAssets とができていた ここで保存するといいか もAssetDataBase 実際に保存 に登録
  13. 13. ほかにも• ProjectViewが1ペインから2ペインに – 一部では使いにくいのでは?という声も – アイコンサイズを変更できるよ – 今までの1ペインも設定で可能に – 1ペインと2ペインを使い分けてもいいよ• WWW#LoadFromCacheOrDownloadの第3引数にCRCチェックが 追加 – 今までのちょっと残念なバージョンチェックが改善されるか も!• ライトマップ – 部分焼きに正式対応した! 長大な背景へライトを焼く時間を大幅短縮!できるかも• アニメーション – Mecanimが追加されたけど旧式もまだ使える モデルのインスペクターのRIGタブからAnimationTypeをレガシーに変更• トポロジー – メッシュの描画にQuads、Lines、Pointsなど指定ができるMeshTopology が追加• 詳しくはhttp://unity3d.com/unity/whats-new/unity-4.0#upgrade
  14. 14. ライトニングトーク #1 猫でも分かる LWF
  15. 15. Unityは2Dが弱い?• 昔はとても貧弱だった – NGUIなどの高機能なアセットが出てかなり改 善された 今回はLightweightSwfをプレゼン
  16. 16. LightweightSwf?• グリー様製のUnity/HTML5向けFlash利用環境• Flashを変換してUnityやHTML5で使用できる• FlashのシンボルをGameObjectとして扱う事が できる• FlashでUIを作成してインポートも可能• タッチなどのイベントもばっちり• ドローコールも節約している• NGUIとの連携もできちゃう• lwfsを使用して簡単変換ができるように• ライセンスはBSDスタイル(ZLIB)
  17. 17. ライトニングトーク #2実行時のためにエディタースクリ プティングを極めよう
  18. 18. • 実行時にパースとかするのはムダ• そんなのしてたら遅い• データミスがあっても実行時までわから ない• ワークフロー大丈夫?
  19. 19. 目標• 使いやすい• 管理が楽
  20. 20. エディタースクリプト• 実行時に必要な理想のものを事前に作る• 実行時に動的にデータ変更も可能 それには スクリプトから.assetsを作る
  21. 21. .assets• シリアライズされたコンテナ• Prefabの親戚• AssetDataBaseから作成• なんでも入れれる• 中身も実行時に見れる
  22. 22. OnPostprosessAllAsset• Assetsに追加したり、変更したりしたとき に呼ばれる• AddObjectToAssetを使って中身を追加でき る• 最後にSaveAssetsしたら完了だよ
  23. 23. AddObjectToAsset注意点• データの更新は面倒でも取り出して更新 – 削除して再度登録はダメ GameObjectから参照されてるとmissingになる• クラスはScriptableObjectを継承して作る – ScriptableObject#CreateInstanceでクラス生成す る
  24. 24. ライトニングトーク #3GitHub と Git と Jenkins で幸せにな るドキュメント管理
  25. 25. Unity日本語ドキュメントオープ ン• 原文が高頻度で更新されて翻訳が間に合 わなかった・・・ – 翻訳中のところが更新されたり・・・ツールを導入してこの問題を解決した!
  26. 26. • Github – ご存知gitのホスティングサービス• Git – ご存知分散型バージョン管理• Jenkins – ご存知継続的インテグレーション
  27. 27. ツール導入して出来上がったフ ロー
  28. 28. • Jenkins効果で差分がわかりやすく• 原文の変更がチケットでわかるように なった – チケットが0になると翻訳全完了!• gitのおかげで複数人でも触りやすい• ブランチはhttps://github.com/unity3d- jp/unity-docにあるよ
  29. 29. コンバート本家Unity DocWiki HTMLページ ダウンロー 開発者が書 ド く アップロー アップロー ド ド 日本語 日本語Wiki Jenkins HTMLページ 原文PUSH コンバート 差分を チケット追 加 フィード アサイン PULLして バック PULL Wikiへ チケット追 加 翻訳者 Github PUSH
  30. 30. 閑話休題
  31. 31. SkypeBotとJenkinsSkypeボットにJenkinsの処理を命令できないか?
  32. 32. Skype Skype Bot Jenkins 命令 命令 開始しまし 開始しまし た た 結果 結果
  33. 33. Sykpeボットを使う理由• 対話型• ボットなら大概の事は許せてしまう• VPNもファイアウォールも越えれる(かも)• セキュリティもバッチリ(Skypeが大丈夫な ら)• なんでもできる! (google検索とかもできちゃう・・・)
  34. 34. • AppBankGames様がダンジョンズ&ゴルフ を作った際に引っかかった罠や行った最 適化などなど – Unityの基本で引っかかった – 弾道計算 – NGUI
  35. 35. ライトニングトーク #4AppBank Games 流 Unity 最適化の手 引き
  36. 36. Unityの基本で引っかかった• 重たい・・・計測してみると – 3000ドローコールされていた – 30万頂点も書いていた – シェーダが超リッチだった iPhone4Sで5FPSしか出ない!
  37. 37. アプローチ• BlobShadowProjector – やめてボールは丸影、プレイヤは独自の処理へ• バッチしてなかった – バッチした• それでも木がバッチされない – nouniformだとバッチされなかったので等倍で使用• 頂点が多い – 削った。15万頂点のクラブとボールは数千ポリゴン に・・・• シェーダ – 使用シェーダを一覧できる管理ツールを作った• 初歩的なミスが多い – 勉強会へ積極的に参加した
  38. 38. 弾道計算結論• Unityの物理演算はモバイルではまだ重た くて使いにくい
  39. 39. 弾道計算が重たい• リアルに近い挙動を目指したが重た い・・・• 風の計算等でレイキャストが増大・・・ – Physics#Raycastを削減! Collider#Raycastを活用• OnCollisonStay/FixedUpdateでボールの計算 をしていたが重たい・・・ – ボールのStateのUpdateで計算するように変更 した
  40. 40. 対策• NGUIをしょうがなく書き換えた – LateUpdateはアニメーション中のみ呼ぶよう に• そもそもNGUIを使わない箇所も – ネイティブのUI表示機能を使用 ただ、やはり調整等とても難しかった
  41. 41. NGUI• ゴルフゲームはUIが多い – NGUIを使ってUIを作っていくことに• NGUIを使ってるととても重たい事 が・・・ – UIPanelのLateUpdateが30%占有している
  42. 42. NGUI結論• Unity3.5のUIは弱いので4以降に期待したい
  43. 43. ライトニングトーク #5Unity と BTS を統合してみた お酒入りました!
  44. 44. Redmine?• Redmineは有名なバグトラッキングシステ ム – BTSはバグの追跡を軸にしたプロジェクト管理 ツール – バグ等をチケットという単位で管理する
  45. 45. • RedmineにはREST APIが用意されている• Unity側はRedmin.NET APIを使用 – JSONとXMLに対応している • しかし、そのままでは使えずJSON部分を取り除く 事に
  46. 46. Redmine.NET API• RedmineManagerを使う – CreateObjectにIssueを追加できる – NameValueCollectionに条件を指定してIssueを 取得できる – 取り出したIssueはUpdateObjectで更新できる
  47. 47. 利点は?• テスターの手間が減る!かも• ユーザーにバグレポートをさせることが できる!かも• ほかいろいろ可能性秘めてる!かも ゲームとBTSを統合することででき ることがたくさんある! かも
  48. 48. ライトニングトーク #6同人ゲームを Unity で作る
  49. 49. Unityを使う理由• 製作時間をカットできる• フリーでも十分高機能• 独自データもエディター拡張したりで使 いやすい
  50. 50. 使用環境• NGUI• BishamonPersonal – 国産のエフェクトツール
  51. 51. 使ってみたメリット• 画面(シーン)ができるのが早い• ビルドが早い• 情報があふれている• 製作時間が削減できた• Assetが多い• 実行時にデータを変更して確認できる
  52. 52. 工夫• PGとデザイナーで使用するスクリプトを 変えた – デザイナーには比較的制約が尐ないJavaScript を使用してもらった
  53. 53. 課題• モデルインポートからのフローが確立で きなかった• コリジョンのカスタマイズができなかっ た• パッチ処理が難しい
  54. 54. ブートキャンプを行った• Unity習熟度を上げる• 3.4→3.5への移行の検証• ミニゲームを分担で作成した – 各人最低1シーン – もし完成しなくてもパージが簡単 – シーン遷移等の複雑な場所をPGが担当
  55. 55. ブートキャンプ結果• PGよりデザイナーの方がミニゲームの出 来が良かった• 情報量が多いので調べれば何とかなった• 個人でも十分作れる
  56. 56. ゲーム制作の部分に注力できる
  57. 57. ゲーム以外での利用• ワンフェスの展示物を作った – 早くて手軽に作れるの便利
  58. 58. ライトニングトーク #7DstAlpha で広がる表現の世界
  59. 59. Unity Technologies Japan様に 寄せられたお便り• 目が髪の毛で隠れないようにしてほし い・・・• 部分的にモザイクをかけたい・・・ DstAlphaBlendでみんな解決!
  60. 60. こんな合成ができる
  61. 61. DstAlphaBlendの使い道• いわゆるステンシルのような使い方がで きるのではないか?• 参考URL:https://github.com/keijiro/unity- facecensor
  62. 62. ライトニングトーク #8実在の地形データを Unity で利用す る
  63. 63. 実在の地図情報を使う!• 実在の地図情報を使うと面白いのでは?• ゼンリン等の地図情報を使うのは難しそ う・・・• 国土地理院というところからお借りする ことに – 非公開個人・教育等が目的なら自由に使える – 商用では審査があり、有料 – 非商用でも公開時は審査がある
  64. 64. 使ってみる• 地図データをグレースケールの高さの データとしてコンバートする• HeightMapFromTextureを使用してTerrineへ• 適当にテクスチャを貼り付けて完成!
  65. 65. 考察• Skypeボットが面白くてこちらに手が回ら なかった・・・• 木や車の生成やARの使用等で面白くなる のでは?• Skypeボットが面白かった
  66. 66. 宣伝• 女性のためのUnityハンズオン勉強会開催 予定 – UnityマスターのUnity男子を募集中 – Global Game Jamとかぶっちゃった・・・
  67. 67. 終わり• ニコニコ生放送 – http://live.nicovideo.jp/watch/lv119675325

×