##はじめに
前回の続きです。
今回はVRMの一人称視点対応を行ってみます。そんなに長い内容ではないのですぐに終わります。参考になれば幸いです。アドバイスや間違っている箇所ご指摘等いただけれると励みになります。
##一人称視点時の対応
普通にカメラを設定してしまうと頭のモデルに被るようになってしまいます。
まずはこの対応です。
##タグとレイヤーの設定
一人称視点時のマスクはレイヤーで設定しているようなので、レイヤーの9と10に以下の値を設定します。
レイヤーのNo | 設定する値 |
---|---|
User Layer 9 | FIRSTPERSON_ONLY_LAYER |
User Layer10 | THIRDPERSON_ONLY_LAYER |
##カメラのマスクを設定
キャラの目線に設定しているカメラのマスクを変更します。今回はMainCameraがそのまま視点なのでMainCameraの値を変更。
##一人称視点のセットアップ用スクリプトを作成する
以下のスクリプトを用意し、Scene上のVRMモデルにアタッチします。
VRMFirstPersonSetting.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using VRM;
[RequireComponent(typeof(VRMFirstPerson))]
public class VRMFirstPersonSetting : MonoBehaviour {
[SerializeField] bool isFirtPerson;
VRMFirstPerson vrmFirstPerson;
void Start () {
vrmFirstPerson = GetComponent<VRMFirstPerson>();
if(isFirtPerson)
vrmFirstPerson.Setup();
}
void Update () {
}
}
##うまく行かない場合・・・
モデルによってはVRMのVRMFirstPersonの値を調整する必要があるかもしれません。
##次回
さんざん色々な場所に記事ありますが、SteamVRでの設定を簡単にまとめます。
というかSteamVRでやった方が精度が良い感じだった・・・