更新対応
Assets\NRSDK\Editor\Scripts\TrackingImageDatabaseInspector.cs(37,43): error CS0433: The type 'JsonData' exists in both 'LitJSON, Version=0.10.0.0, Culture=neutral, PublicKeyToken=null' and 'NRSDK, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' のコンパイルエラー
NRSDK 1.8.0 から上書きで NRSDKForUnity_Release_1.9.3.unitypackage をインポートしたことが原因。
NRSDKフォルダを削除 → Unity起動 → 1.9.3.unitypackage をインポート でエラー対処できた。
1.9.3 では LitJSON.dll が削除されていたことが根本原因なので、今後も旧NRSDKを削除してから新NRSDKをインポートするのが正解。
NRKernal.NRFrame.GetFramePresentHeadPose のコンパイルエラー
LostTrackingReason も引数に渡すように変更された。
以下のようにして対処。
Pose headPose = new Pose(); System.UInt64 timestamp = 0; NRKernal.LostTrackingReason lostReason = NRKernal.LostTrackingReason.NONE; NRKernal.NRFrame.GetFramePresentHeadPose(ref headPose, ref lostReason, ref timestamp);
NRInput の GazeRaycaster/LaserRaycaster の default/hover がスプライトではなくなった
Raycaster の標準のスプライトをカスタマイズしていたので、変更が必要になった。
Sprite を渡していたのを Texture2D を渡すようになったので、以下で変換してから渡すようにした。
テクスチャをReadするので、該当スプライトアトラスのインスペクタで「Read/Write Enabled」にチェックを入れた。
public static Texture2D TextureFromSprite(Sprite sprite) { if (sprite.rect.width != sprite.texture.width) { Texture2D texture = new Texture2D((int)sprite.rect.width, (int)sprite.rect.height); Color[] newColors = sprite.texture.GetPixels((int)sprite.textureRect.x, (int)sprite.textureRect.y, (int)sprite.textureRect.width, (int)sprite.textureRect.height); texture.SetPixels(newColors); texture.Apply(); return texture; } else return sprite.texture; }
備考
- NRSDK 1.8.0 では Development Build で実機起動できなかった が、1.9.3 では実機起動できるようになった
- これで Unity の Assert が実機でも有効になるので助かる
- 1.9.3 での処理負荷計測 でも問題はなかった