Text Mesh Proの複数のスタイル

Text Mesh Proのスタイルは作ったFont Assetごとに反映されるっぽい。
一部だけアウトラインをつけたいとなると、おそらくFont Assetを別途つくらないといけない(はず)。
TextMesh Proの項目のでできることはその箇所ごとで変えられるけど、その下の ***** SDF Materialの設定(Face, Outline, Underlay…)などはスタイル(マテリアル)としてまとまる。その代わり、draw callが1度で描かれる。
UnityEngine.UIにある、Outlineなどは反映されない。

参考)Digital Native Studios > Underlay Applied to All Text Mesh Pro Instances

Xcode書き出し時のDefaultHDRIによるエラー

なぜか急にXcodeプロジェクトの書き出しでエラーが出るようになった。

An asset is marAn asset is marked with HideFlags.DontSave but is included in the build: Asset: ‘Library/unity editor resources’ Asset name: DefaultHDRIked with HideFlags.DontSave but is included in the build: Asset: ‘Library/unity editor resources’ Asset name: DefaultHDRI

Continue…

Textで文字を1文字ずつ表示

1文字(指定文字数)ずつ指定時間の間隔で表示させるText。
Textでもいいけど、TMP_Textで。
禁則処理や配置でガタガタしないようにしてる。
(alpha=1にして見えづらくしてるだけ…)
UniRx使用。
Continue…

CanvasのWorldSpaceのタップの位置

WorldSpaceに設定されたCanvasを作るとき、それをメインカメラとは別の専用のカメラで映す際にボタンが反応せずハマった。
このCanvasの他に、WorldSpace以外の設定でのCanvasがあると、タップの位置がずれてしまった。そちらのCanvasと位置を合わせたらうまく動いた。
そもそもどのカメラの基準でタップされた位置が判定されるとかの設定があるのかな…?

Canvasコンポーネント内にあるEventCameraってのがタッチしたスクリーン座標をどのカメラの座標系で計算するかという指定なので、ここにUIを映しているカメラを設定すればいいだけだった。。。
ちなみにスクリプト上で行うのは Canvas.worldCamera を使って設定可能。

VRモードでのカメラの切り替え

VRモードでのカメラの切り替えは、SetParentとかで親オブジェクトを変えるより、以前のカメラを破棄(or disable)にして、あらたなオブジェクトにCameraをAddComponent()した方が扱いやすい気がする。

VRコンテンツでのUI表示

VRにてUIを表示する際に、Cameraの設定はOrthographicでいいかなと思いましたが、どうやらVRコンテンツでは(google VRでは?)カメラの設定をOrthographicではなく、Perspectiveに設定するしかないようです。
Post Processingを使っている場合はその影響が出ないように、UI専用のCameraを作成しそちらをPerspectiveにし、そちらにCanvasのRenderModeをWorldSpaceに設定し、そのカメラの子オブジェクトにしました。
PerspectiveなCameraへUIをスケールを使ってフィットさせる方法は
Continue…

Xcodeのパスのrecursiveの設定

PBXProjectなんかを使って、Xcodeの設定を書き換える際、パスのrecursiveを設定するには、パスの値に**とつければいい。
“$(PROJECT_DIR)/Frameworks/Plugins/iOS/**”
こんな感じ。

VRモードとノーマルモードの切り替え

UnityでのVR対応を作るのは非常に簡単で、PlayerSettingsのOther SettingsからVirtual Reality SupportedをONにして、SDKにCardboardなどを入れればもうVRコンテンツになる。
Unity2017.2b3からはVRではなく、XRと名称が代わり、スクリプトのパッケージ名や、PlayerSettingsの項目も、XR Settingsへと移行。
現状の最新Google VR Unity SDK v1.7ですが、Unityに入っているものはv1.6。
VRと通常コンテンツの切り替えは、基本的には。

VRSettings.enabled = !VRSettings.enabled;

(2017.2b3からはXRSettings)

とすればOK。
ただ、これで成り立つのは

・起動直後からVRコンテンツ
・ノーマルコンテンツもVR同様の横向き

という条件になると思います。
Continue…