質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Oculus Rift

Oculus Riftは、ゲームに特化した広視野角バーチャルリアリティヘッドマウントディスプレイ です。そのため、バーチャルリアリティ・ゲームで使用するのを第一目的として開発されています。

Q&A

解決済

1回答

2181閲覧

(Unity)Oculus touchの入力でアニメーション再生がしたい

Amimi

総合スコア13

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Oculus Rift

Oculus Riftは、ゲームに特化した広視野角バーチャルリアリティヘッドマウントディスプレイ です。そのため、バーチャルリアリティ・ゲームで使用するのを第一目的として開発されています。

0グッド

0クリップ

投稿2018/10/07 07:25

Oculus touchボタンを押したままの時に手を握る等のアニメを再生(握った状態のまま)、
ボタンを離すと握った手を戻すアニメを再生させてもとに戻すということを実現させたいです。

https://qiita.com/ngron/items/d37426e25bae6471c817
http://tiro105.hateblo.jp/entry/2014/06/26/214919
こちら等を参考にスクリプトを作ってみたのですが
ボタンを押しても再生がされないようです。

お手数ですが解決方法をご教示いただけますと幸いです…!
同じような事が出来れば別のアプローチ方法でもなんでも問題ございません。
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HandController : MonoBehaviour
{
Animation anim;

// Use this for initialization void Start() { } // Update is called once per frame void Update() { //押したときの処理 if (OVRInput.GetDown(OVRInput.RawButton.A)) { anim.Play("R_hand_pa"); } if (OVRInput.GetDown(OVRInput.RawButton.RIndexTrigger)) { anim.Play("R_hand_1"); } if (OVRInput.GetDown(OVRInput.RawButton.RHandTrigger)) { anim.Play("R_hand_gu"); } if (OVRInput.GetDown(OVRInput.RawButton.LIndexTrigger)) { anim.Play("L_hand_1"); } if (OVRInput.GetDown(OVRInput.RawButton.LHandTrigger)) { anim.Play("L_hand_gu"); } if (OVRInput.GetDown(OVRInput.RawButton.X)) { anim.Play("L_hand_pa"); } //離したときの処理 if (OVRInput.GetUp(OVRInput.RawButton.A)) { anim.Play("R_hand_pa_modori"); } if (OVRInput.GetUp(OVRInput.RawButton.RIndexTrigger)) { anim.Play("R_hand_1_modori"); } if (OVRInput.GetUp(OVRInput.RawButton.RHandTrigger)) { anim.Play("R_hand_gu_modori"); } if (OVRInput.GetUp(OVRInput.RawButton.LIndexTrigger)) { anim.Play("L_hand_1_modori"); } if (OVRInput.GetUp(OVRInput.RawButton.LHandTrigger)) { anim.Play("L_hand_gu_modori"); } if (OVRInput.GetUp(OVRInput.RawButton.X)) { anim.Play("L_hand_pa_modori"); } }

}
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

補足情報(FW/ツールのバージョンなど)

Unity 2018.2.10f1

プログラミングが全くできないデザイナーなのでブログ等に記載されていることのコピペだけでどうにか
してきましたがこの件で完全に詰まってしまいました…。

https://qiita.com/ngron/items/d37426e25bae6471c817
こちらで紹介されていましたブレンドシェイプのボタン切り替えはうまくいっていました。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sayachang_bot

2018/10/08 05:18

キャラクターモデルをOculusRiftでアバターとして動かしたい、という意図であっていますか。また、アセット「Oculus Integration」やOculus Softwareなどを使っているのでしょうか。
Amimi

2018/10/09 02:35

ご回答ありがとうございます! Oculus Utilitiesを入れております!
Amimi

2018/10/09 10:58

質問がわかりにくい件に関しまして、申し訳ございません! 次からは気をつけるように致します…!
guest

回答1

0

ベストアンサー

表情を変えるのであれば、ご提示の参考リンクでブレンドシェイプのパラメータを設定すればいけます。が、アニメーションを扱うのなら、Animatorをどう使うのかを確認すると良いでしょう。

以下の記事が参考になると思います。
http://shinriyo.hateblo.jp/entry/2015/03/10/Animator%E3%81%A7%E9%80%86%E5%86%8D%E7%94%9F_Unity

実装をするなら、まずはひとつのボタンだけ(例えば中指トリガー)で動くところを目指すのが良いです。いっぺんにたくさんのボタン動作を実装しようとすると、正しく動作しているのかの確認がしづらくなります。
boolの「フラグ」を用意して、アニメーションが順方向に進む状態、逆再生する状態を分けます。
ボタンを押した/離したことによって、このフラグを切り替えると良いでしょう。

ただ、今回はアニメーションを「開始する」「終了する」というのをどのようにプログラムを書くかということが問題なのかもしれません。
Animatorについてさらに調べるのが良いかもしれません。

また、別のアプローチとしては、「握った手を戻すアニメ」を追加でもうひとつ作成し、別のボタンに違うアニメ再生機能を実装するというやり方もできそうです。

投稿2018/10/08 05:27

sayachang_bot

総合スコア228

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Amimi

2018/10/09 10:59

返答遅れてしまい申し訳ございません! 頂いたアドバイスを参考に色々試した所うまくいきました! 本当に助かりました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問