# HandsInteractionTrainScene このシーンでは, ハンドトラッキングを実装して物理システムのオブジェクトとのインタラクションのために手を使用する方法を示している. このシーンでユーザーは手を使って近くまたは遠くのオブジェクトとやり取りし, シーンに影響を与えるアクションを実行できる. ## 独自のアプリでサンプルを使用する 次のプレハブをシーンに配置する. `NearFieldButton`はどっちでもいいかも? - `Oculus/SampleFramework/Core/HandsInteraction/Prefabs/InteractableToolsSDKDriver.prefab`: プレハブはツールを作成し, 他のInteractableオブジェクトとのインタラクションを可能にする. - `InteractableToolsCreator` : 指先とレイのツールを作成する. このツールで近距離および遠距離のオブジェクトとやり取りできる. - `LeftHandTools` - 'RightHandTools' - `InteractableToolsInputRouter`: シーン内の全てのツールを管理し, レイの代わりに指先(poke)のツールを使用する必要がある場合をカバーする. - `Oculus/SampleFramework/Core/HandsInteraction/Prefabs/Hands`: 手 - `Oculus/SampleFramework/Usage/HandsTrainExample/Prefabs/NearFieldButton`: オブジェクトの位置を手で触れやすそうな位置になるように調整する. ## ハンドトラッキング関連のクラスのpublicなプロパティとかメソッドとかを把握したい ### OVRHand | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | enum | Hand | -------- | | enum | HandFinger | -------- | | enum | TrachingConfidence | -------- | | bool | IsTracked | -------- | | bool | IsSystemGestureInProgress | -------- | | bool | IsPointerPoseValid | -------- | | Transform | PointerPose | -------- | | float | HandScale | -------- | | TrackingConfidence | HandConfidence | -------- | メソッド | 戻り値の型 | メソッド名(引数の型) | is 何 | | -------- | -------- | -------- | | bool | GetFingerIsPinching(HandFinger) | -------- | | float | GetFingerIsPinchStrength(HandFinger) | -------- | | TrackingConfidence | GetFingerConfidence(HandFinger) | -------- | ### OVRSkeleton | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | interface | IOVRSkeletonDataProvider | -------- | | struct | SkeletonPoseData | -------- | | enum | SkeletonType | -------- | | enum | BoneId | -------- | | IList<OVRBone> | Bones | -------- | | IList<OVRBone> | BindPoses | -------- | | IList<OVRBoneCapsule> | Capsules | -------- | メソッド | 戻り値の型 | メソッド名(引数の型) | is 何 | | -------- | -------- | -------- | | BoneId | GetCurrentStartBoneId() | -------- | | BoneId | GetCurrentEndBoneId() | -------- | | BoneId | GetCurrentMaxSkinnableBones() | -------- | | BoneId | GetCurrentNumSkinnableBones() | -------- | #### OVRBone | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | OVRSkeleton.BoneId | Id | -------- | | short | ParentBoneIndex | -------- | | Transform | Transform | -------- | #### OVRBoneCapsule | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | short | BoneIndex | -------- | | Rigidbody | CapsuleRigidbody | -------- | | CapsuleCollider | CapsuleCollider | -------- | ### OVRSkeletonRenderer ### OVRMesh ### OVRMeshRenderer ### Hands _handPrefabがエディターで設定されている場合, _leftHandと_rightHandの両方を設定する必要はなく、エディターでは表示されません。 OVRHandsEditor.csを参照してください | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | static Hands | Instance | シングルトン. | | HandVisualMode | VisualMode | | | Hand | LeftHand | | | Hand | RightHand | | | enum | HandsVisualMode | | | bool | IsInitialized | | メソッド | 戻り値の型 | メソッド名(引数の型) | is 何 | | -------- | -------- | -------- | | void | SwitchVisualization() | | ### Hand | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | HandSkelton | Skelton | Skeltonコンポーネント | | HandPhysics | Physics | Physics bone capsule colliderコンポーネント | | SkeltonVisualizer | SkeltonVis | Skelton visualizerコンポーネント | | HandMesh | HandMash | Meshコンポーネント | | OVRPlugin.Hand | HandType | | | enum | HandTrackingConfidence | | | bool | IsInitialized | | | bool | IsTracked | | | SkinnedMeshRenderer | HandSkinedMeshRenderer | | | Mesh | Mesh | | | float | ScaledAlpha | | | Hand.HandTrackingConfidence | HandConfidence | | | PointerState | Pointer | | | struct | PointerState | | | OVRPlugin.HandState | State | | メソッド | 戻り値の型 | メソッド名(引数の型) | is 何 | | -------- | -------- | -------- | | float | PinchStrength(OVRPlugin.HandFinger finger) | | | void | ShowSkelton(Hands.HandsVisualMode mode) | | | static Hand.HandTrackingConfidence | OVRPluginConfidenceToHand(OVRPlugin.TrackingConfidence confidence) | | ### HandMesh | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | Mesh | Mesh | | | bool | IsInitialized | | | SkinnedMeshRenderer | HandSkinedMeshRenderer | | | Mesh | Mesh | | メソッド | 戻り値の型 | メソッド名(引数の型) | is 何 | | -------- | -------- | -------- | | void | UpdatePose() | | | void | EnableMeshRenderer(Hands.HandsVisualMode mode) | | | static OVRPlugin.MeshType | GetHandMeshTypeFromOVRHandType(OVRPlugin.Hand hand) | | ### HandSkelton | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | bool | IsInitialized | | | IList<Transform> | Bones | | | SkinnedMeshRenderer | HandSkinedMeshRenderer | | メソッド | 戻り値の型 | メソッド名(引数の型) | is 何 | | -------- | -------- | -------- | | bool | InitializeSkelton(ref OVRPlugin.Skeleton) | | | bool | UpdatePose(OVRPlugin.HandState) | | | static OVRPlugin.BoneId | GetDistalBone(OVRPlugin.BoneId) | | | static bool | IsDistalBone(OVRPlugin.BoneId) | | | static OVRPlugin.BoneId | GetTip(OVRPlugin.BoneId) | | | static int | GetTipParentIndex(OVRPlugin.BoneId) | | | static bool | IsDistal(OVRPlugin.BoneId) | | | static OVRPlugin.SkeletonType | (OVRPlugin.MeshType) | | | static OVRPlugin.SkeletonType | GetSkeletonTypeFromHandType(OVRPlugin.Hand) | | | static OVRPlugin.Hand | GetHandFromMeshType(OVRPlugin.MeshType) | | ### HandPhysics | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | bool | IsInitialized | | メソッド | 戻り値の型 | メソッド名(引数の型) | is 何 | | -------- | -------- | -------- | | List<CapsuleInfo>| GetCapsulesPerBone(OVRPlugin.BoneId) | | | bool | InitializePhysics(ref OVRPlugin.Skeleton) | | | void | UpdatePose() | | ### SkeltonVisualizer 生のスケルトンを表示するゲームオブジェクト | 型 | 変数名 | is 何 | | -------- | -------- | -------- | | bool | EnableVisualization | | | bool | IsInitialized | | メソッド | 戻り値の型 | メソッド名(引数の型) | is 何 | | -------- | -------- | -------- | ### InteractableToolsCreator シーンに指定されているすべての対話可能なツールを生成します。 | 型 | 変数名 | is 何 | | -------- | -------- | -------- | メソッド | 戻り値の型 | メソッド名(引数の型) | is 何 | | -------- | -------- | -------- | [Document](https://developer.oculus.com/documentation/quest/latest/concepts/unity-sf-handtracking/)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up