VRMモデルをカメラ目線にする

カメラ目線にしたい

Vtuberになって配信するときにカメラ目線にしたい、と言われ開発してみました。

VRMLookAtHeadスクリプトをいじる

UniVRMが入っている状態で、UnityにVRMをインポートする。

すると、VRMに自動で付いてくるVRMLookAtHeadスクリプト

f:id:yuma1217:20190523221759j:plain
VRMLookAtHead

これのTargetに、VRMに見てもらいたいオブジェクトをヒエラルキーからドラッグアンドドロップすれば、完成。

今回はカメラ目線にしたいので、Vtuberの前に置いて映すカメラを選択すればOK。

動的にVRMインポートを行いカメラ目線にする

今回、VRMを動的にインポートするように開発を行った。

なので、インポート段階では、↑のTargetは何もアタッチされていない。

ので、動的にアタッチする。

// VRMを動的にインポートした際に、このスクリプトをVRMにAddComponent
private void Awake()
{
    // VRMLookAtHeadスクリプトの参照を受け取る
    var lookAtHead = this.gameObject.GetComponent<VRMLookAtHead>();
    // Targetに目線を向けたいカメラをアタッチする
    lookAtHead.Target = GameObject.Find("VtuberCamera").transform;
}

結果

多分カメラ目線になった、気がする。