お疲れ様です、プログラム担当の藤岡です
・
世間では Advent Calendar の季節ですね
参考になるものや面白いものまで、
非常に楽しく見て回っています
・
僕も何かやりたいと思っているんですけどね…
今はアカとブルーの開発が忙しいのでなかなか…
・
そういえば!
・
先日 Unity5.3 が正式リリースされましたね
Unity5.2からの更新内容については、
公式含め色んな方がまとめているので割愛するとして…
・
では実際に更新すると、
既存プロジェクトにどんな影響が出るのか?
・
今回は自分が実際に試してみて、
わかったことをご紹介していきたいと思います!
・
① なぜかiOSの入力精度が上がった(謎)
アカとブルーでは、
Input.touches[0].position の差分で
指の移動を検知しているのですが、
2フレームに1度、
同じ座標が送られてきて移動がガタつくことがありました
Unity5.2 まで私 のiPhone5/iOS9.1(※) と、
iPodTouch6G/iOS9.1 において、
その現象を確認しています
※iOS8.3だとUnityアプリはXcodeでのチェックが出来ず、
アップデートを強いられるハメに・・・
・
iPadMiniRetina/iOS8.2 では、
この現象は確認できなかったので、
画面サイズなのか?
はたまた
Unity が iOS9 に対応していなかったのか?
実際のところわかりませんが…
・
いずれにせよ、
iPhone と iPodTouch でしか発生していない現象でしたので
こちら側で如何ともし難いところではありました
・
それがなんと!
・
Unity5.3 で完全に解消されてました!
・
3DTouch 対応の為に、
Input 周りがいじられたと考えられますので
副次的に改善したのかもしれませんが、
iPhone 環境下での操作性が劇的に改善され、
僕は喜び勇んでいたのです!
・
・
がっ!
・
・
喜び勇んでいたのも束の間、
ここで別の問題が浮上するのです…
・
② uGUIのTextでdynamic font以外は座標がズレる
Twitter で検索したところ、
海外の方にも同様の現象が発生しているようでして、
・
bitmap font が上にズレます
全部ズレる
・
助けてください
・
仕方が無いので、
フォントをアトラスかした場合に正しく表示されるかどうか…
休日にでも検証してみようとは思ってますが、
・
フォントというか…
uGUIのTextの問題のような気がしてならないので、
対応できるかどうか・・・
・
Dynamic Font は今までどおり問題ないですが、
uGUI を酷使してるプロジェクトで、
上記のような現象が発生した場合は、
Unity5.3 への更新は見送った方が良い気がしてます
(パッチー!はやくきてくれー!)
③tvOS の BuildSettings はあるが PlayerSettings がない
Define Symbol をスクリプト側から一律設定してはいるのですが、
・
private void SetDefineSymbols(string symbol) {
foreach (BuildTargetGroup target in Enum.GetValues(typeof(BuildTargetGroup))) {
if (target == BuildTargetGroup.Unknown)
continue;
if (target == BuildTargetGroup.tvOS)
continue;
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, symbol);
}
}
tvOS はPlayerSettings がないので設定しようとすると
・
怒られます
・
④SceneManager 実装によって ActiveScene のID取得が変わった
新しい namespace ができましたね
・
UnityEngine.SceneManagement.SceneManager
・
僕のところでは、
Scene は文字列でなく、
全て『定数』で管理しているので、
・
今まで Application.loadedLevel で
現在のシーンNoをとっていたところを、
・
SceneManager.GetActiveScene().buildIndex
・
に変更する必要がありました
・
しかしながら、
僕は namespace の using 宣言は極力減らしたい派なので、
一回しか使わないようなものは
namespace をしっかり書くのですが・・・
・
UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex
・
…うん…冗長…
・
その他、
Application.LoadLevel とかも、
SceneManager.LoadScene に修正しました
この辺は記述を変更するだけですね
・
・
ということで、
・
今のところ、
僕が実際に試してみて確認できた影響は上記4点となります
・
入力が直ったことは本当に嬉しかったですし、
ParticleSystem のローカルスケールも対応したらしいので、
uGUI の Text をカカッとパッチで対応してくれれば
もう言うことありませんね!(切実
・
次回は何を話そうか…
・
何か書きます!
おたのしみに!
2011/12/11/19:11 追記
AndroidでSpriteRendererのBatchingが5.2に比べて異常に重くなってる・・・?