このアセットがスゴい!
2016
Unityを進化させるアセット達
シージャイル株式会社
VR室 室長 島田 侑治
自己紹介
• システムエンジニア
10年以上
• シージャイル株式会社
VR室 室長
•
@yuujii
•
VR Creator
•
Oculus Rift DK1組
Unity Asset Storeで
今回の話
•
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からテラス部分を 切り出したモデルデータアセット
「ちょっとだけコード修正したい
けど(中略)億劫」
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 trisDOTween Pro
Demigiant
Tween系アセット 他のアセットと比較した場合、簡潔にスク リプトを記述ができ、パフォーマンスも良 い。 また、DoTweenAnimationスクリプトコン ポーネントを使う事で、様々な事がプログ ラミング不要で実現できる。VR思考ツール「Eureka」で
使用したアセットの紹介
「
Gear VRのアプリでAndroidの
音声認識を使いたい」
Android Speech TTS
gigadrillgames
Gear VRでしゃべった内容をテキスト化、音 声認識ができるアセット Androidの音声認識サービスにアクセスする SpeechRecognizerクラスを操作 「音声入力待ち」「音声入力開始」「音声入力終了」 「音声認識結果受信」「エラー」などでコールバック が使え、音声入力待ちでマイクのアイコンを表示した り、ユーザーが話し始めたらアニメーションを表示。 また、音声認識結果のテキストをインターネット経由 で受け取るまでの待ち時間中に待ち受け中のアニメー ションを表示したりといった細かい制御が可能。usingUnityEngine;
usingSystem.Collections;
public class SpeechRecognizer : MonoBehaviour{
privateSpeechPluginspeechPlugin;
voidStart() {
speechPlugin = SpeechPlugin.GetInstance(); speechPlugin.SetDebug(0);
speechPlugin.setSpeechEventListener(onReadyForSpeech,onBeginningOfSpeech,onEndOfSpeech,onError,onResults); }
public void StartListening() {
speechPlugin.StartListening(5);// 受け取る音声認識結果の数 }
// 音声認識入力待ち
private void onReadyForSpeech(stringdata) { } // ユーザーのしゃべり始め
private void onBeginningOfSpeech(stringdata) { } // ユーザーのしゃべり終わり
private void onEndOfSpeech(stringdata) { } // エラー発生時
private void onError(stringdata) { } // 音声認識結果取得
private void onResults(stringdata) {
string[] results = data.Split(',');
foreach(stringpossibleResultsinresults) {
Debug.Log(possibleResults); }
} }
「カードを
1000個くらい表示したら
めちゃくちゃ重くなった。」
Text Mesh Pro
Stephan Bouchard
テキストの定番アセットパフォーマンスや表現の柔軟性などなど、 凝ったことをする場合はこちら。
Text Mesh ProのFont Asset Creatorで
フォントからアセットを作る
使うテキストが決まっている場合
→Character SetでCustom Charactersを選び、 使うテキストをCustom Charactersへペースト
使うテキストが決まっていない場合
→Character SetでCustom Rangeを選び、
フォントに含まれるASCII、ひらがな、カタカナ、 常用漢字、記号など必要な文字コードの範囲を指定