Unity
Vtuber

Final IKを使わずにバーチャルユーチューバーっぽいこと

やらなければ、はじまらない…

使ったもの

参考にしたページ

準備

各種Assetを手に入れます
screenshot.17.png
screenshot.18.png
インポートします
screenshot.20.png
Mecanim Example Scenesの中で今回用いるのはScripts -> IK.csだけです

Unityちゃんはページ右上のData Downloadをクリックするとガイドラインが表示されるので、よく読んで同意して次のページへ
screenshot.21.png
今回は1.2.1を使いました

OVRLipSyncも同様です
screenshot.22.png

それぞれ.unitypackageがダウンロードできるので
メニューバーのAssets -> Import Package -> Custom Package...
から選択してインポートします

SteamVR Pluginはプロジェクト設定を変更するので、最後がいいと思います
screenshot.23.png
screenshot.25.png
インポートすると出ますが、これもそのままAccept Allします

アセットの
UnityChan -> Prefabs -> unitychan
SteamVR -> Prefabs -> [SteamVR]
SteamVR -> Prefabs -> [CameraRig]
をそれぞれHierarchyにドラッグ&ドロップ
この時点でViveヘッドセットでカメラを動かし、Unityちゃんを眺められます
screenshot.26.png

手を動かす

空のGameObjectを二つ作成し(Create Empty)
[CameraRig] -> Controller(left)
[CameraRig] -> Controller(right)
以下に配置します
配置した後、positionの数字を 0 0 0 に直しておいてください
screenshot.27.png
名前をIK_LeftHandとIK_RightHandに変えてあります

unitychanにScripts -> IKをアタッチして、Inspectorの設定からこの二つのオブジェクトを指定します
screenshot.28.png
コントローラーで手を動かせるようになりました、Controlloer -> modelを消せばコントローラーが非表示になります

頭を動かす

空のGameObjectを作成し
[CameraRig] -> Camera(head) -> Camera(eye)
以下に配置します
配置した後、positionの数字を 0 0 1 に直しておいてください
screenshot.29.png
名前をIK_LookAtに変えてあります
unitychanのScripts -> IKにある、Inspectorの設定からこのオブジェクトを指定します
このままでも頭は動きますが、カメラ位置と頭の位置が違うので、これを直します

scripts.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Script : MonoBehaviour {

    public Transform Camera;
    public Transform Unitychan;
    public Transform Head;

    void Update () {
        Unitychan.position = Camera.position - (Head.position - Unitychan.position);
    }
}

適当なゲームオブジェクトを作成してスクリプトをアタッチ
screenshot.30.png
Cameraには[Camerarig] -> Camera(head) -> camera(eye)
Unitychanにはunitychan
HeadにはUnitychan -> Reference -> Spine -> Spine1 -> Spine2 -> Neck -> Head

これで君もUnitychan! kawaii!

pic.twitter.com/h02UdVz97k

— ほりし (@trg17579) 2018年1月9日

これから

  • 口動かしたい
  • 地に足つけたい
  • 表情変えたい
  • Final IK買う