【用Unity开发Oculus Quest用的APP】Oculus Quest 中Hand tracking功能的使用

#◆ 写在开头
这次是关于Oculus新更新的Hand tracking相关的说明。

使用Unity新建新的项目、导入的方法请参考下方连接内容
[【用Unity开发Oculus Quest用的APP】导入APP、进行运行状态确认](https://qiita.com/Kujirai_sakananosuke/items/7f0dacd447b5fa256796)
[【用Unity开发Oculus Quest用的APP】抓住物体吧](https://qiita.com/Kujirai_sakananosuke/items/62ca694ff20cff962a96)

#◆ 开发环境
macOS Mojave 版本 10.14.6
Unity 2018.4.12f1
Android SDK

为了能够使用Hand tracking的功能，
Oculus的版本必须得是（Ver12）或以上。（需要更新的请即时更新）
#◆ 制作顺序
- 必要准备
- 生成使用Hand tracking
- 在画面中表示手的必要设置
- 补充说明
- 动作确认

## 必要准备
首先选择，菜单栏中的「Window」→「Asset Store」
在打开的「Asset Store」窗口中，搜索Oculus Integration、
（通常是默认最新版本的）选择Import。

载入完成后，会有如图右半部分所示的窗口弹出。选择Impor按钮。
<img width="448" alt="01のコピー.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/da190db8-5563-70ab-ff50-ce76671bddb9.png">
##  生成使用Hand tracking
在这里我们直接使用上次做好的Scene。

首先将上次「Hierarchy」里留下来的「LocalAvatarWithGrab」删除。
找到刚才Import完成后追加文件夹里的「OVRCameraRig」，鼠标左键点击放入「Hierarchy」中。
<img width="757" alt="03のコピー.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/eb41fc36-c696-afdf-50ad-675b8dbc23ab.png">

选择追加后的「OVRCameraRig」，
将「Inspector」里的「Hand Tracking Support」变更为「Hands Only」。
这样准备部分就完成了。
<img width="438" alt="04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/35573ad9-4d56-cf7d-cd0f-44294f5a9d7a.png">
## 在画面中表示手的必要设置

接下来需要在刚追加的「OVRCameraRig」的下一阶层「TrackingSpace」中的
「LeftHandAnchor」和「RightHandAnchor」里加入「OVRHandPrefab」。

「OVRHandPrefab」在「Oculus Integration」里面。
<img width="500" alt="05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/0dd7bf1e-b38f-e187-d2d2-e10b5ff25dae.png">
鼠标选择拖入即可追加。
<img width="214" alt="06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/8f93c9d2-c042-43b6-1297-f1146ffbab21.png">

选择追加在「RightHandAnchor」中的「OVRHandPrefab」、
将「OVR Skeleton」→「Skeleton Type」设定为「Hand Right」。
「OVR Mesh」→「Mesh Type」也同样设定为「Hand Right」。

（这个是指定哪个是左手哪个是右手的功能，
初始设置是「Hand Left」、所以在这里没有改变左手设置的必要。）
<img width="593" alt="スクリーンショット 2020-01-24 20.26.35.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/2195d3fd-bf04-53fb-d858-898c185ee896.png">
## 补充说明
想要表示手的骨骼的话，只要勾选「OVR Skeleton Renderer」便可。
（这回为了方便辨认，只把右手的选项钩上。记得同时也要删除Materials的设定才行）
<img width="599" alt="スクリーンショット 2020-01-24 20.28.14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/9e497bf2-5041-111f-75f4-6eada329eed4.png">
想要自定义手的一些外观设置的话，调整「Skinned Mesh Renderer」的选项便可。
这里我把左手做如下调整。
<img width="599" alt="スクリーンショット 2020-01-24 20.29.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/303dc94d-c458-c6a3-5ee1-8614e03bd9fc.png">
最后
勾选「OVR Skeleton」中的「Enable Physics Capsules」，便可为手加入触碰判定。
这次我们勾选右手。
<img width="593" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3534313338302f32313935643366642d626630342d353366622d643835382d3839386331383565653839362e706e67.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/faf52ab9-6f6b-f209-ea54-bba8adafe37f.png">

## 动作确认
最后导入后，确认成品吧。
![com.oculus.vrshell-20200124-204654_1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/3a470230-0bca-b2a4-bcc9-053b453896be.gif)