Oculus Questのアプリを作りたい(1)


その2→ https://qiita.com/takeru@github/items/f75d01eb3cd11ebdaf11


# 公式のドキュメントで入門

## Oculus Unity Getting Started Guide
https://developer.oculus.com/documentation/unity/latest/

[Player Settings] -> [VR support is enabled]

### Compatibility and Version Requirements
https://developer.oculus.com/documentation/unity/latest/concepts/unity-req/
2019.1.2f1


### Oculus Integration for Unity
https://developer.oculus.com/downloads/package/unity-integration/
1.37.0 | Published 2019/05/20

### Samples
https://developer.oculus.com/documentation/unity/latest/concepts/unity-sample-framework/


### Getting Started

Unity - Documentation
https://docs.unity3d.com/Manual/index.html

Unity - Tutorials
https://unity3d.com/learn/tutorials

Oculus Unity Getting Started Guide
https://developer.oculus.com/documentation/unity/latest/concepts/book-unity-gsg/

Tutorial: Build Your First VR App
https://developer.oculus.com/documentation/unity/latest/concepts/unity-tutorial/


### VR overview
https://docs.unity3d.com/Manual/VROverview.html

### Unity Scripting Reference
https://developer.oculus.com/documentation/unity/latest/concepts/unity-reference-scripting/


### Compatibility and Version Requirements
This guide describes Unity Editor version recommendations and system requirements.
https://developer.oculus.com/documentation/unity/latest/concepts/unity-req/

### Preparing for Mobile Development
To prepare for Unity mobile development for Oculus Go and Samsung Gear VR, you must set up the Unity Editor for Android development and install the Android SDK. The Oculus Mobile SDK is not required.
https://developer.oculus.com/documentation/unity/latest/concepts/unity-mobileprep/

### Importing the Oculus Utilities Package
Oculus Utilities for Unity is an optional Unity Package that includes scripts, prefabs, and other resources to assist with development.
https://developer.oculus.com/documentation/unity/latest/concepts/unity-import/

### Building Mobile Applications
This section describes the steps necessary for building Unity applications for Oculus Go and Samsung Gear VR.
https://developer.oculus.com/documentation/unity/latest/concepts/unity-build-android/#unity-build-android

### Tutorial: Build Your First VR App
This short tutorial walks you through creating and running a simple Unity app for Rift or Gear VR.
https://developer.oculus.com/documentation/unity/latest/concepts/unity-tutorial/


### Other Oculus Resources for Unity Developers
This guide describes useful tools Oculus provides for Unity developers.
https://developer.oculus.com/documentation/unity/latest/concepts/unity-resources/


### Getting Started FAQ
If you’re new to Oculus development with Unity, this FAQ can answer the most common beginner questions.
https://developer.oculus.com/documentation/unity/latest/concepts/unity-faq/

```
Question:
  What’s the best way to get started if you’re a beginner?
Answer:
  Browse through this FAQ, and check out our Oculus Unity Getting Started Guide.
  Read through Unity’s excellent documentation and try out some of their introductory tutorials to get acquainted with Unity development.
  When you’re ready to get into the trenches, find out what the version of Unity we recommend at our Compatibility and Requirements page, then download and install it. Next, build your own simple VR game by following the instructions in our Tutorial: Build Your First VR App.
  You can also browse around on our Unity Developer Forum.
```

## Tutorial: Build Your First VR App

https://developer.oculus.com/documentation/unity/latest/concepts/unity-tutorial/

C#のコードが壊れている。

```
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
    float speed = 10.0f;

    void Start()
    {
        Debug.Log("Start");
    }

    void FixedUpdate()
    {
        float axisH = Input.GetAxis("Horizontal");
        float axisV = Input.GetAxis("Vertical");
        Debug.Log("Update axisH=" + axisH + " axisV=" + axisV);

        Rigidbody rb = GetComponent<Rigidbody>();
        rb.AddForce(axisH, 0, axisV, ForceMode.Force);
        Debug.Log("Update rb.position=" + rb.position.ToString());
    }
}
```

Macバージョンでキーボード操作で動いた。
VRバージョンはQuestの左ジョイスティックで動いた。


# 物理

【Unity】 物理演算の基礎
https://www.f-sp.com/entry/2019/02/04/175016

[Unity] InputとFixedUpdateと物理演算の関係を整理しよう
https://qiita.com/yuji_yasuhara/items/6f50ecdd5d59e83aac99



# ケーブルなし接続

Oculus Quest を ipアドレスで接続して楽々ケーブルレス開発
https://qiita.com/divideby_zero/items/1151ab760cbaa3d43d45

USBケーブルをつなぐ
IPアドレス確認
  ./Library/Android/sdk/platform-tools/adb shell ip addr show wlan0
Port=5555でtcpipのなにかを起動
  ./Library/Android/sdk/platform-tools/adb tcpip 5555
いったん全部切断
  ./Library/Android/sdk/platform-tools/adb disconnect
  ./Library/Android/sdk/platform-tools/adb kill-server
USBケーブル外す
tcpipで接続
  ./Library/Android/sdk/platform-tools/adb connect 192.168.0.28:5555
デバイスリスト
  ./Library/Android/sdk/platform-tools/adb devices

電源切れてこれやり直しならケーブルでもいいや。

## todo
- Oculus Integrationデカすぎ
- ビルドおそくてつらいんじゃないか
- git管理の設定
- 本を買う(教科書2019/ひよこ2019)
- 動的にオブジェクトを作る
- オブジェクトを押す、持つ
- VSCode設定