Unity」カテゴリーアーカイブ

ゲームエンジン「Unity」に関するカテゴリーです。

UnityのLineRendererでInvalid AABBエラー

UnityのLineRendererを使っていて

  • Invalid worldAABB
  • Invalid localAABB
  • Invalid AABB

のようなエラーが発生する場合は、設定しているPositionsの値にNaNが含まれていることが原因の場合があるそうです。

NaNかどうかはfloat.IsNaNでチェックできるので確認してみてください。

リンク

【Unity】Assertion failed: Invalid worldAABB. Object is too large or too far away from the origin. – コガネブログ
http://baba-s.hatenablog.com/entry/2018/01/31/102700

【C#】float 型の値が正常ではない場合はデフォルト値を返す拡張メソッド – コガネブログ
http://baba-s.hatenablog.com/entry/2015/03/01/104741

Unity – Scripting API: LineRenderer
https://docs.unity3d.com/ScriptReference/LineRenderer.html

ScreenToWorldPointでクリックした位置のWorld座標が取得できない場合

マウスでクリックした位置に対応するWorld座標を取得したい場合、Camera.ScreenToWorldPointを使うと思いますが、たまに正しい値が取得できないことがあります。

Camera.main.ScreenToWorldPoint (Input.mousePosition);

そういう場合は、CameraのProjectionOrthographicに設定してみるとうまくいくこともあるみたいです。

ちなみに、Perspectiveで正しい値が取得できない理由はよく分かりませんでした。

リンク

Unity で ScreenToWorldPoint が常に同じ座標を返す件 – nirasan’s tech blog
http://nirasan.hatenablog.com/entry/2014/03/28/093924

Unity – Scripting API: Camera.ScreenToWorldPoint
https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html

Unity License Error

タイミング的にWindowsのアップデートが関係していると思いますが、Unityを起動しようとすると「Unity License Error」と表示され、起動できなくなってしまいました。

Unity-License-Error

Webでいろいろ調べてみたところ、とりあえず次のような感じで再アクティベーションできるみたいです。

  1. Unityを終了して、C:\ProgramData\Unityのフォルダーを削除もしくはリネーム
  2. 再度Unityを起動して通常通りにアクティベーション

必ずうまくいくという方法ではないと思いますので、メッセージにある通りUnityのサポートに連絡するのが一番良いと思います。

特に業務で使っているような場合は注意してください。

リンク

unity3d – Unity license error on startup – Stack Overflow
https://stackoverflow.com/questions/46506184/unity-license-error-on-startup