AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

VRIKでVRMキャラクターを自分で動かしてみた

SteamVRを開発機にインストールしたら無事touchでトラッキングできるようになりました。
VR中は自分が見えないので、RenderTextureを設定したカメラを板に張り付けて鏡を前面に置きました。

f:id:yasu9780:20201001201100p:plain
RenderTextureに自分を映す

両手と頭しかトラッキングしてないので、腰や足はあくまでIKソルバー
(VIVEトラッカーを三つ追加で買えば、足と腰もトラッキングできるらしい?)

ButtonXを押したらスクショを取れるように、バインドで悪戦苦闘してましたが、
まずSteamVR inputでmysetというBindセットを作って、そこにButton_xとButton_x_touchを登録

f:id:yasu9780:20201001200955p:plain
SteamVR input

StearmVR上のBinding UIで、mysetとしてbutton_xとbutton_x_touchを登録

f:id:yasu9780:20201001201017p:plain
Open Binding UI

buttonはtouchできないから登録不要と思ってましたが、button_x_touchも登録しないとbutton_xがとれない感じでした。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valve.VR;
using UnityEngine.UI;

public class Main : MonoBehaviour
{
    public Text text1;
    public SteamVR_Input_Sources handType;
    public SteamVR_ActionSet myAction;

    public SteamVR_Action_Boolean Button_X_Touch;
    public SteamVR_Action_Boolean Button_X;

    void Start()
    {
        myAction.Activate(SteamVR_Input_Sources.Any);
    }

    void Update()
    {
        handType = SteamVR_Input_Sources.LeftHand;

        string output = "";
        output += "Button_X = " + Button_X.GetState(handType) + "\n";
        output += "Button_X_touch = " + Button_X_Touch.GetState(handType) + "\n";
        text1.text = output;


        bool a = Button_X.GetState(handType);
        if (a!=null && a==true)
        {
            Debug.Log("ScreenShot");
            ScreenCapture.CaptureScreenshot("Assets/image.png");
        }
    }
}

ButtonXを押したらスクショは取れたんですが、どこをスクショとってるのか人物が映ってなかったので
しかたなく自分でキーボードのPrintScreenを押しました。・゚・(ノ∀`)・゚・。 


w.atwiki.jp

VIVE trackerを買い増して足と腰もトラッキングしてフルトラッキングしてみたいな。
そしたら、以下みたいにモーションキャプチャーでアニメーションを作ってみたい
VeryAnimationでリダクションして手直しする流れ

styly.cc