VR - Unity

このアセットがスゴい!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エンジンを使用。
実演へ