Animator利用時のGameObjectのactiveのon/off
何度か遊んでいるとキャラクターの顔が崩れてくるなーと思ったので調べてたら、Animatorを使うコードの中でGameObjectのactiveをon/offをしていた。テレシュールブログさんのこの記事で、やってはいけないと知っていたけど、gameObjectのactiveのon/offなんて当たり前のようにやってしまうので注意。
今回は画面外に飛ばしつつRigidbodyのisKinematicをoffにして対応し。
何度か遊んでいるとキャラクターの顔が崩れてくるなーと思ったので調べてたら、Animatorを使うコードの中でGameObjectのactiveをon/offをしていた。テレシュールブログさんのこの記事で、やってはいけないと知っていたけど、gameObjectのactiveのon/offなんて当たり前のようにやってしまうので注意。
今回は画面外に飛ばしつつRigidbodyのisKinematicをoffにして対応し。
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
青いキューブはMaterialがOpaqueのもので、最前面に配置。赤いキューブはMaterialがTransparentで、赤いキューブの後ろに。
なぜか、赤いほうが前面に表示されてしまった。
(ってかこのカメラアングルじゃさっぱり分からんかった;;)
Continue…
KeyCode.Escapeで拾えた。(Unity2017.1.0f3)
/// <summary> /// Update. /// </summary> void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { print("もどる"); } }
なぜか急に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
1文字(指定文字数)ずつ指定時間の間隔で表示させるText。
Textでもいいけど、TMP_Textで。
禁則処理や配置でガタガタしないようにしてる。
(alpha=1にして見えづらくしてるだけ…)
UniRx使用。
Continue…
WorldSpaceに設定されたCanvasを作るとき、それをメインカメラとは別の専用のカメラで映す際にボタンが反応せずハマった。
このCanvasの他に、WorldSpace以外の設定でのCanvasがあると、タップの位置がずれてしまった。そちらのCanvasと位置を合わせたらうまく動いた。
そもそもどのカメラの基準でタップされた位置が判定されるとかの設定があるのかな…?
Canvasコンポーネント内にあるEventCameraってのがタッチしたスクリーン座標をどのカメラの座標系で計算するかという指定なので、ここにUIを映しているカメラを設定すればいいだけだった。。。
ちなみにスクリプト上で行うのは Canvas.worldCamera を使って設定可能。
VRモードでのカメラの切り替えは、SetParentとかで親オブジェクトを変えるより、以前のカメラを破棄(or disable)にして、あらたなオブジェクトにCameraをAddComponent()した方が扱いやすい気がする。
VRにてUIを表示する際に、Cameraの設定はOrthographicでいいかなと思いましたが、どうやらVRコンテンツでは(google VRでは?)カメラの設定をOrthographicではなく、Perspectiveに設定するしかないようです。
Post Processingを使っている場合はその影響が出ないように、UI専用のCameraを作成しそちらをPerspectiveにし、そちらにCanvasのRenderModeをWorldSpaceに設定し、そのカメラの子オブジェクトにしました。
PerspectiveなCameraへUIをスケールを使ってフィットさせる方法は
Continue…
PBXProjectなんかを使って、Xcodeの設定を書き換える際、パスのrecursiveを設定するには、パスの値に**とつければいい。
“$(PROJECT_DIR)/Frameworks/Plugins/iOS/**”
こんな感じ。