Akey備忘録

忘れそうなことを書いておく。

UnityのVRTKでアウトラインを表示する。

Qiitaより

VRTKのVRTK_OutlineObjectCopyHighlighterを使う。

開発環境

・Unity2017.1.0f3 ・SteamVR ・VRTK

はじめに

プロジェクトを作成後、SteamVRとVRTKをインポートしておく。 VRTKのセットアップが面倒な場合、適当なサンプルシーンから [VRTK_Scripts]と[VRTK_SDKManager]を使うシーンにコピペすればVRTKが使えて楽。

アウトラインの表示

表示したいオブジェクトをシーンに配置した後 VRTK_OutlineObjectCopyHighlighterをアタッチ。(Add Componentから"outline"を検索ですぐ出てくる) f:id:teraokaakihiro:20180424210230p:plain

その後アウトラインを表示するスクリプトを書く。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using VRTK.Highlighters;  //usingは忘れがちなので忘れずに

public class SetOutline : MonoBehaviour {

  VRTK_OutlineObjectCopyHighlighter vrtk_outline;

  void Start ()
  {
    vrtk_outline = GetComponent<VRTK_OutlineObjectCopyHighlighter>();
    vrtk_outline.Initialise();
    Color color = Color.black;
    vrtk_outline.Highlight(color);
  }
}

vrtk_outline.Initialise()を実行してvrtk_outline.Highlight()で表示する。

f:id:teraokaakihiro:20180424210229p:plain

こんな感じで表示されます。(Ticknessの値は左が1、右が0.5)

今回はStart()に書いたので最初から表示されるが、任意のタイミングで表示、非表示も可能。