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

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

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

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

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

Unity

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

Q&A

1回答

3379閲覧

Unityのasset「Head Look Controller」で、顔の向きをリセットする方法

chibikurosan

総合スコア52

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

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

Unity

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

0グッド

0クリップ

投稿2015/05/20 02:35

編集2015/05/20 03:03

Unityにて、3Dモデルの顔だけ自然に対象物に向けるよう、
asset storeの「Head Look Controller」を使わせて頂いているのですが、
指定の物の方向を見るを事ができるようになったのですが、
逆に指定の物を見る前にリセットできず。。苦戦しております汗

もしご存知でしたら教えていただけますと幸いです。

追記:失礼しました対象ソースを記載します。

lang

1public class RoomTouchControlls : MonoBehaviour 2{ 3 4 // 顔の持ち主の3Dモデル 5 public HeadLookController headLook; 6 7 〜〜省略〜〜 8 9 void Update () 10 { 11 12 〜〜省略〜〜 13 14 // head look controller にてターゲットに自然に顔が向く 15 headLook.target = obj.transform.position; // objは顔を向ける先 16 17 18 // 対象物が消えると元に戻したい。 19 20 21 〜〜省略〜〜

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

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

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

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

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

runun

2015/05/20 02:42

「指定の物を見る前にリセットできず」という意味がよくわかりません。。。 一度見たら、他の物に顔を向ける事が出来ないという事ですか?
chibikurosan

2015/05/20 02:49

早速ありがとうございます! 最初は60度の方向を向いているとして、 対象物が現れたら120度の方向を見て。 対象物が消えたら60度の方向に戻すというのをやりたいです。 60度は固定じゃなく、3Dモデルのアニメーションによって毎回かわります。
guest

回答1

0

すみません。
「Head Look Controller」を使ったことが無いので、コレだ!という回答はできませんが。。。

最初はAの方向を向いているとして、 対象物が現れたらBの方向を見て。 対象物が消えたらAの方向に戻す。
ということは、対象物の有無でスクリプトのアクティブをON/OFF切り替えればいいのではないでしょうか?
それか、あらかじめスクリプトをアタッチしておくのではなく、対象物が現れたらスクリプトをAddComponentして、対象物が消えたらDestroyするとか。

既に見てるかも知れないし、参考になるかわかりませんが、以下のサイトで使い方が詳しくまとめられています。
Unityでキャラクターに見つめてもらう

投稿2015/05/20 03:05

runun

総合スコア305

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

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

runun

2015/05/20 03:07

コード見ました。 headLook.targetの値を変数で保持しておく事は出来ませんか? 対象物が消えたら、保持していた値をheadLook.targetに設定すれば、顔の向きは元に戻ると思います。
chibikurosan

2015/05/20 03:13

ご丁寧にありがとうございます! 仰る通り、対象物のアクティブをON/OFFにしたり、destroyしても、 向き先の座標を覚えているらしくもどらないようなんです。。汗 参考サイトもありがとうございます! もう少し調べてみます! ありがとうございました!!
runun

2015/05/20 03:17

そうですね。このコードだとON/OFFしても、既にheadLook.targetが向いてしまってるので、強制的に元の向きの値を設定しないと出来ないですね; やはりheadLook.targetの元の値を保持しておくのがいいかと思います。
chibikurosan

2015/05/20 03:50

アドバイスありがとうございます! 変更前のアニメーションに保持用の座標を取得するためのオブジェクトを、 体の前等に設置して試してみます! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問