MR開発での「HelloWorld」的な何か


書くに至った経緯

  1. 折角会社資産にHoloLensがあるんだし皆に使ってほしい。
  2. でも公式チュートリアルも初心者には結構しんどいぞ...
  3. よし、HelloWorld的なのを作ろう。(唐突)

という事で、
タップするとでボールが落ちるだけのお手軽チュートリアルを記載します。

用意するもの

  • Windows 10が動くPC
  • Unity
    バージョン管理がしやすいのでUnityHubからインストールしてください。
  • Visual Studio 2019
  • Windows 10 SDK
  • MRTK v2.1(執筆段階で最新)
    Microsoft.MixedReality.Toolkit.Unity.Foundation.2.1.0.unitypackageというファイルをDLしてください。

Unityプロジェクト作成

  1. UnityHubのプロジェクト項目から新規作成をクリック。
  2. テンプレートから【3D】を選び、適当なプロジェクト名を付けて作成。
  3. プロジェクトが作成されると編集画面が表示されます。

環境準備

  1. File→Build Settingis...を選択。
  2. PlatformからUniversal Windows Platformを選択し、Switch Platformをクリック。
  3. Assets→Import Package→Cusutom Packageを選択。
  4. ダウンロードしたMicrosoft.MixedReality.Toolkit.Unity.Foundation.2.1.0.unitypackageを開く。
  5. Import Unity Package画面のチェックボックスをすべて選択し、Importを押す。
    ↓の状態になったらOK
  6. File→Save as...をクリックし、現状を適当な名前を付けて保存する。

アプリ作成

  1. Hierarchyという窓を右クリックし、3D Object→Sphereを選択。
  2. Inspector窓のTransformでボールの位置を変更(Zを1に変更)
  3. (ちょっと大きいので)Inspector窓のTransformでボールの大きさを変更(X,Y,Zを全て0.3に)
  4. Add ComponentからRigidbodyを追加。
  5. Add ComponentからRigidbodyを追加。
  6. Add ComponentからNew Script→Ochiruyatuを入力し新規スクリプトを作成。
  7. 追加されたAssetsフォルダ内のスクリプトをダブルクリックし、下記のコードを記入する。
    Ochiruyatu.xs
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Ochiruyatu : MonoBehaviour
    
    {
        private Rigidbody rb;
        void Start()
        {
            rb = GetComponent<Rigidbody>();
        }
        public void TapAction()
        {
            if(rb != null)
        {
            rb.useGravity = true;
        }
        }
    }
    

  8. RigidbodyのUse Gravityのチェックを外す。
  9. Input Action Handler(Script)のOn Input...の+をクリックし下記の様に設定する。

  10. HierarchyのMixedRealityToolkitを選択。
  11. Inspector窓のMixedRealityToolkit(Script)項目からCopy&Customizeをクリック。
  12. Clone ProfileウィンドウのCloneをクリック。
  13. 赤印の部分も同様にCloneする。

  14. Add Spatial Observerを選択し、追加されたSpatial Object Mesh Observerを下記の様に変更する。

    完成!!!!!!!!

    Unityのスタート(再生ボタン)を押して、Games窓で操作してみましょう。

    操作方法

    • WASDキーでカメラの移動
    • Space+左クリックで選択