うえすと開発メモ

タグ:バグ

Unity4.3.x(4.3.2〜4.3.4で確認)ではRigidBody2DでKinematicがONだと、
2D系のCollisionでIsTriggerにチェックして他のCollisionと接触しても
OnTriggerEnter2D等のイベントが発生しない不具合があるようです。

参考:https://answers.unity3d.com/questions/575438/how-to-make-ontriggerenter2d-work.html

一先ずこれを回避するために以下のスクリプトを貼り付けて、Kinematicがオフでも物理挙動を行わないように矯正することで、トリガー系のイベントが呼ばれるようにしました。


毎フレームlocalpositionを固定しているため、オブジェクトを移動させたい場合は空のGameObjectを親にして親を動かすことで対処可能です。

このエントリーをはてなブックマークに追加

NGUIを使用してスクロールリストの実装をする際にはDraggablePanelを使うことが多いと思いますが、設定によっては一部のAndroid端末で表示がおかしくなることがあります。

ドラゴンツイートではタイムラインの表示にDraggablePanelを使用していたので、
一部端末で以下のような表示になってしまいました。
※現象を確認できた端末はXperia acro HD(IS12S)、Xperia NX(SO-02D)等。

環境はUnity4.2.0、NGUIのバージョンは2.6.4です。
ngui_list_01 
DraggablePanel以下のAtlasテクスチャが真っ黒になってしまっています。 

原因はPanelのClippingの設定が「Alpha Clip」になっていたからでした。
ngui_list_03
赤枠のところの設定を「Soft Clip」にすることで、解消します。
Soft Clipだとスクロールの端の方がぼやけるのですが、Softnessのパラメタを1にすれば気にならなくなります。 
ngui_list_02 
無事表示されました。 

ちなみに「Hard Clip」は古いGPUドライバの端末でサポートされていないので推奨されていません。
https://d.hatena.ne.jp/shinriyo/20130501/p2

開発中の動作確認に使用していたGalaxyNexusでは「Alpha Clip」でも問題なかったので
レビューで指摘されるまで気づかなかったのですが、やはり色々な端末で検証する事は大事ですね。

このエントリーをはてなブックマークに追加

Unityは現在バージョン4.1.2までリリースされていますが、
Unity3.x以前のライセンスをUnity4で使用するためにはアップデート料金が必要な点と、
3.x系で開発していたプロジェクトについては移行によるリスクもあるので、
まだまだ3.xを使用している人は多いと思います。

自分も3.5と4をプロジェクト毎に併用しているのですが、
3.x系の最終バージョン3.5.7で、iOS, Android向けにビルドしたアプリには
それぞれ以下の致命的な不具合があるので注意が必要です。


●iOS版での不具合
 iOS4.x系のデバイス上で、WWWクラスでfile://を使用して
 ローカルファイルを参照しようとすると、アプリが強制終了してしまう

 参考:Facebook Unityユーザー助け合い所
 https://www.wallflux.com/link/167184853341463/1360303281 


●Android版での不具合
 アプリをホームボタン等でバックグラウンドに回した後に復帰させると、
 InputクラスのfingerIdが1加算される。
 更に、バックグラウンド→復帰を繰り返すとfingerIdが加算され続けて、
 32回目以降はスクリーンのタッチが一切効かなくなってしまう
 
 参考:Unityフォーラム
 https://forum.unity3d.com/threads/167432-Problem-with-Input-GetTouch(0)-returns-touch-with-wrong-fingerId


iOSの方はOS4.xを対象に入れないか、WWWクラスでfile://を見にいかなければ問題ないですが、
Androidの方は避けようがないです。

Unity4.1.2ではどちらの不具合も修正されているので、
回避するにはUnityのバージョンを4.1.2に上げるか、3.5.6に落とすしかないのが現状。


※因みに3.x系の開発は終了しているみたいなので、3.5.7に対する修正は無いかと思われます…

このエントリーをはてなブックマークに追加

このページのトップヘ