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

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

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

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

Unity3D

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

Q&A

解決済

2回答

2394閲覧

AudioSourceとスクリプトはどこにアタッチすべき?

lamp

総合スコア41

C#

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

Unity3D

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

1グッド

0クリップ

投稿2017/10/31 08:45

###前提・実現したいこと
Unityにおいてhumanoid準拠のFBXファイルを使い、パンチを放ったとき音が出るようにしたいです。
この場合AudioSourceとスクリプトはそれぞれどこにアタッチしたら良いのでしょうか。
本体でしょうか?
攻撃判定を持たせた左手首のボーンでしょうか?

退会済みユーザー👍を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

ぶっちゃけた話「設計による(基本的にどこでもいい)」ので丸投げ低評価とさせてもらっています。

AudioSourceは「音源の位置」となりますが、厳密にしたいなら左手首、そうでないならキャラクターオブジェクトのどこかであればほぼ問題無いと思います。
2D等モノラル音源でいいということならキャラクターに付ける必要も無くて、シーン上のどこかにあればいいです。

スクリプトも、パンチを「放った時」の音なら、

  • 入力を受け取りキャラクターの攻撃を行うGameManager的スクリプト内でやってしまう(=シーン上に1つだけ存在するオブジェクト)
  • GameManagerから命令を受け取り発動する演出用の自作Characterクラス(=キャラクターのルートオブジェクト)
  • AnimationEventとして組み込んでモーションに合わせて自動発動(=Animatorと同じ場所)

などなど、色々考えられます。

「パンチが当たった時」でOnCollision系を使うならColliderと同じオブジェクトですが、
そこからGameManager系かCharacterクラスに飛ばして処理した方が使いやすいかもしれません。
(どの音を使うか等が制御しやすい)

なお、スクリプトはAudioSourceの参照だけ持っていればいいので、スクリプトとAudioSourceは別のオブジェクトにあっても問題ありません。

「Unity 設計」でググると(今回の質問の直接的な回答となるものは少ないかもしれませんが)色々出て来るので調べてみるといいかもしれません。

投稿2017/11/01 01:07

sakura_hana

総合スコア11427

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

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

0

スクリプトとAudioSourceは同じところにアタッチしてください。
AudioSourceには出したい音を入れてくださいね

じゃあどこにアタッチすればいいのというと
キー入力if (Input.GetKeyDown等 で音が出るようにするなら本体でも左手首でもいいと思います。
当たり判定void OnCollisionEnterとかOnTriggerEnter等 で音が出るようにするなら左手首で

まあスクリプトによるので見せてもらえたらうれしいです

投稿2017/10/31 23:13

編集2017/10/31 23:23
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

sakura_hana

2017/11/01 01:08

>スクリプトとAudioSourceは同じところにアタッチしてください。 参照だけ持っていればいいので別の場所でも問題無いです。
退会済みユーザー

退会済みユーザー

2017/11/01 01:10

そうなんですか!自分はいつも同じ場所にしてたので知りませんでした・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問