このアセットがスゴい!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 アドベントカレンダーとは 12 月 1 日からクリスマスまでの期間 毎日アセットの記事を投稿していた一人イベント http://qiita.com/advent-calendar/2014/unity-asset 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 でフォントからアセットを作る 使うテキストが決まっている場合 Character Set で Custom Characters を選び 使うテキストを Custom Characters へペースト Charmap Calc 使うテキストが決まっていない場合 Character SetでCustom Rangeを選び フォントに含まれるASCII ひらがな カタカナ 常用漢字 記号など必要な文字コードの範囲を指定
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 エンジンを使用
実演へ