このアセットがスゴい!2016 Unityを進化させるアセット達 シージャイル株式会社 VR室 室長 島田 侑治 (@yuujii) 自己紹介 • システムエンジニア10年以上 • シージャイル株式会社 VR室 室長 • Twitter @yuujii • VR Creator • Oculus Rift DK1組 Unity Asset Storeで アセット600個くらい購入 今回の話 • • • • Unity Assetアドベントカレンダー in UNITE 2016 VR思考ツール「Eureka」で使用したアセットの紹介 VRで使えるアセット達 実演「○○」を作る Unity Assetアドベントカレンダー in UNITE 2016 Unity Assetアドベントカレンダーとは http://qiita.com/advent-calendar/2014/unity-asset 12月1日からクリスマスまでの期間 http://qiita.com/advent-calendar/2015/unity-asset 毎日アセットの記事を投稿していた一人イベント。 「某エンジンみたいなクオリティの VRでも使える見栄えの良い部屋の アセットが欲しい」 Modern Loft Full Pack POLYBOX モダンな建物のモデルデータアセット Oculusロゴが入っているように、VR向けに さらに表現の最適化、軽量化したシーンも 含まれている。 Terrace Pack POLYBOX Modern Loft Full Packからテラス部分を 切り出したモデルデータアセット Unityエディタ拡張++ 「ちょっとだけコード修正したい けど(中略)億劫」 Script Inspector 3 Flipbook Games UnityのInspector上でスクリプトの編集がで きるようになるエディタ拡張。 シンタックスハイライト、ドキュメントホ バー表示、コード補完、定義へのジャンプ などなど一通りのIDEが持つ機能を持つ 「もっと作業の手を早くしたい」 Haste Pro Barking Mouse Studio プロジェクトにある様々なアセットや操作 を呼び出せるコマンドランチャーが使える ようになるエディタ拡張 シーンにあるオブジェクトや、プロジェク トのファイルだけでなくProject Settingsや 各種メニュー項目にもアクセスができる。 「モデルの頂点数がヤバい。重い」 or 「なんかめっちゃゴツゴツしている」 Krabl Mesh Processors krabl.com Unityのエディタ内で頂点数やポリゴンを削 減できる。また逆に細分化も。 適用例 2751 verts, 3530 tris ↓ 814 verts, 800 tris 62 verts, 56 tris ↓ 2006 verts, 3712 tris 「アニメーション効果を簡単につけたい」 DOTween Pro Demigiant Tween系アセット 他のアセットと比較した場合、簡潔にスク リプトを記述ができ、パフォーマンスも良 い。 また、DoTweenAnimationスクリプトコン ポーネントを使う事で、様々な事がプログ ラミング不要で実現できる。 VR思考ツール「Eureka」で 使用したアセットの紹介 「Gear VRのアプリでAndroidの 音声認識を使いたい」 Android Speech TTS gigadrillgames Gear VRでしゃべった内容をテキスト化、音 声認識ができるアセット Androidの音声認識サービスにアクセスする SpeechRecognizerクラスを操作 「音声入力待ち」「音声入力開始」「音声入力終了」 「音声認識結果受信」「エラー」などでコールバック が使え、音声入力待ちでマイクのアイコンを表示した り、ユーザーが話し始めたらアニメーションを表示。 また、音声認識結果のテキストをインターネット経由 で受け取るまでの待ち時間中に待ち受け中のアニメー ションを表示したりといった細かい制御が可能。 using UnityEngine; using System.Collections; public class SpeechRecognizer : MonoBehaviour { private SpeechPlugin speechPlugin; void Start() { speechPlugin = SpeechPlugin.GetInstance(); speechPlugin.SetDebug(0); speechPlugin.setSpeechEventListener(onReadyForSpeech,onBeginningOfSpeech,onEndOfSpeech,onError,onResults); } public void StartListening() { speechPlugin.StartListening(5); // 受け取る音声認識結果の数 } // 音声認識入力待ち private void onReadyForSpeech(string data) { } // ユーザーのしゃべり始め private void onBeginningOfSpeech(string data) { } // ユーザーのしゃべり終わり private void onEndOfSpeech(string data) { } // エラー発生時 private void onError(string data) { } // 音声認識結果取得 private void onResults(string data) { string[] results = data.Split(','); foreach (string possibleResults in results) { Debug.Log(possibleResults); } } } 「カードを1000個くらい表示したら めちゃくちゃ重くなった。」 Text Mesh Pro Stephan Bouchard テキストの定番アセット パフォーマンスや表現の柔軟性などなど、 凝ったことをする場合はこちら。 Text Mesh ProのFont Asset Creatorで フォントからアセットを作る Charmap 使うテキストが決まっている場合 →Character SetでCustom Charactersを選び、 使うテキストをCustom Charactersへペースト 使うテキストが決まっていない場合 → Character SetでCustom Rangeを選び、 フォントに含まれるASCII、ひらがな、カタカナ、 常用漢字、記号など必要な文字コードの範囲を指定 Calc VRに使えるアセット達 Head Gesture Detector QLC うなずきでYes、首を横に振ればNoといっ た入力を簡単に扱うことができる。 RiftやGear VR、Cardboardなどに対応。 縦に下げる/上げる、横に右/左に向く/前に 戻る、左/右にかしげる/戻す、激しく左右に 振るなど、細かく頭によるジェスチャーも 検知できる。 またどれくらいで反応するかといった感度 も指定できる。 Gesture Recognizer 2.1 Oguz Konya 2Dのマウスジェスチャーアセット ジェスチャーデータの受け渡し部分に手を 入れることでVRへ転用が可能。 ジェスチャー定義は追加可能。 また一筆書きだけでなく二筆以上もできる 「○○の実現方法が分からない」 実演「VRホラー」を作る HE - Abandoned Hospital v.1 Artur G. ハイエンドVRに最適なクオリティの廃墟の 病院モデルデータアセット 含まれるDemoのシーンにはエレベーターや びっくりするような様々な仕掛けが実装さ れている。 ちなみに以前制作したVRホラー 「HauntedRift」は同パブリッシャのHE Abandoned Manor MegaPack v.2を使用 Advanced Footstep System QLC VRに必須な足音の実装に最適なアセット 地面などに設定されているような「テクス チャー」に対し鳴らす足音を定義できる。 実装は簡単 OVRPlayerControllerプレハブの子に AFSCharacterFeetプレハブを入れ、このプ レハブのコンポーネントへ足音の定義を設 定していく。 Simple Waypoint System Rebound Games ベストスプラインツール 内部で高速なDOTweenエンジンを使用。 実演へ
© Copyright 2024 Paperzz