ブログ

NRSDK 1.8.0 から 1.9.3 への更新対応

更新対応

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;
}

 

備考

-ブログ

© 2022 墾田ええねん! Powered by AFFINGER5