Unity 5.6.3 + SteamVR Plugin 1.2.3 でViveのコントローラが表示されない問題
Unity 2017を使えって話はさておき、これから何度もはまりそうなので忘備録です。
1.【SteamVR_UpdatePoses】を更新
deprecatedということで、コンポーネントを入れれない状態(DestroyImmediate(this)でAddした瞬間、自分を殺す状態)になってるのでソースを書き変え
SteamVR_UpdatePoses.cs
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Helper to update poses when using native OpenVR integration.
//
//=============================================================================
using UnityEngine;
using Valve.VR;
[ExecuteInEditMode]
public class SteamVR_UpdatePoses : MonoBehaviour
{
#if !(UNITY_5_6)
void Awake()
{
var camera = GetComponent<Camera>();
camera.stereoTargetEye = StereoTargetEyeMask.None;
camera.clearFlags = CameraClearFlags.Nothing;
camera.useOcclusionCulling = false;
camera.cullingMask = 0;
camera.depth = -9999;
}
#endif
void OnPreCull()
{
var compositor = OpenVR.Compositor;
if (compositor != null)
{
var render = SteamVR_Render.instance;
compositor.GetLastPoses(render.poses, render.gamePoses);
SteamVR_Events.NewPoses.Send(render.poses);
SteamVR_Events.NewPosesApplied.Send();
}
}
}
※SteamVR Plugin 1.2.0のパクリ
2.【Camera(eye)】に作成したコンポーネントを入れる
これでコントローラが表示されます