モノクロタイム

I'm from the future!

Vuforia Ver5.5.9で影が描画されない件

こんにちは,れいじです.

reiji1020.hatenablog.com

この記事について,「記事のとおりやってみたけど影が表示できない.Sceneビューでは表示されるが,Gameビューでは表示できない.どうすればいいか」という質問をTwitterで頂きました.

UnityもVuforiaのバージョンがかなり変わってくるので,最新バージョンのUnity+Vuforiaで検証をしたところ,確かにうまくいきませんでした.

ググってみると,このような記事が引っ掛かりました.

developer.vuforia.com

どうやらVuforia5.5.9では影の描画がされない問題があるみたいです.

そこで解決策として提示されていたのが,

developer.vuforia.com

using UnityEngine;
using System.Collections;
using Vuforia;
 
public class FixProjectionMatrix : MonoBehaviour, IVideoBackgroundEventHandler
{
    private Camera[] mCameras;
 
    // Use this for initialization
    void Start()
    {
        mCameras = VuforiaBehaviour.Instance.GetComponentsInChildren<Camera>();
        VuforiaBehaviour.Instance.RegisterVideoBgEventHandler(this);
    }
     
    // Update is called once per frame
    void Update () {
     
    }
 
    public void OnVideoBackgroundConfigChanged()
    {
        foreach (var cam in mCameras)
        {
            var projMatrix = cam.projectionMatrix;
            for (int i = 0; i < 16; i++)
            {
                if (System.Math.Abs(projMatrix[i]) < 1e-6)
                {
                    projMatrix[i] = 0.0f;
                }
            }
            cam.projectionMatrix = projMatrix;
        }
    }
}

このコードをAR機能を含むシーンに追加するとGameビューでも影がきちんと表示できるとのこと.

質問してきてくれた方も解決できたみたいです.よかったよかった.

[asin:4797384433:detail]

[asin:B00FEFRG44:detail]