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

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

ただいまの
回答率

90.84%

  • C#

    6270questions

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

  • Unity

    3385questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

100個のシーンで使用中の効果音を修正して、 更新する場合、便利な方法はないでしょうか?

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 422

sukiyakigozens

score 14

Unity 2017を使用しております。

オーディオファイル(効果音)を変更して、
更新する場合について、質問させてください。
シーンが100個ほどあります。

問題と実現したいこと
すでにオーディオファイルが各シーン内に設置してありますが、
後から音の内容を修正することになり、
何とか現状のオーディオファイルの(インスペクター上の)紐付けを利用して
変更できないものかと、考えております。
※同じオーディオファイル(効果音)が100個のシーン内で使用されております。
(シーンが100個ほどあるのでインスペクター上への
ドラッグドロップの紐付けを全部やり直すのは避けたいと考えております。)

画像ファイルを修正し、更新する場合は、
Unity内のプロジェクト内の画像をダブルクリックすると、
フォトショップで画像が開き、
修正した画像をペーストして、画像ファイルを上書き保存すれば、
自動で新しい画像に更新されます。
同じ画像の使用していれる場合、どのシーンに使用されていても変更されます。
(リンク元ファイルを開き修正すれば他の部分の同じ画像は更新されます)

ところが、オーディオファイルの場合、
これができなくて困っております。
Project内のオーディオファイルをダブルクリックしても
iTunesが立ち上がってしまいます。
※UnityのPreferenceの中にはオーディオファイルの編集するアプリを
指定する機能はないようです。

また、上記のファイルを開いて上書き保存ではなく、
新たに修正したオーディオファイルを
Project内にドラッグしてリプレイスしようとしても、できません。
(名前の最後に「1」などの番号が追加されて新たなファイルが追加されてしまいます)

このリプレイスができないとなると、
オーディオファイルを修正した場合、
すべての100のシーンをそれぞれ開き、効果音を使用しているオブジェクトを選択し、
再度オーディオファイルの紐ずけをする事になってしまうかと思います。

これを避ける便利な方法はないものでしょうか?

ご教授よろしくおねがいいたします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+4

正しい操作を分かっているわけではなく想像や実験によるものなのであくまでご参考として...


(1) OSでの音声ファイルの紐づけを変える

Unity内のプロジェクト内の画像をダブルクリックすると、フォトショップで画像が開き、

自分の環境はWindows10ですが画像をダブルクリックした場合、OS標準のビューアー(フォト)が起動します。おそらくUnityはOSの紐づけに従ってアプリケーションを開く動作をしているのだと思います。質問者さんの環境ではPNGやJPGなどのファイルはPhotoshopに紐づけてお使いなのだと想像します。

wavなどの音声ファイルも同様に音声を編集できるアプリケーションに紐づけておくことで

Unityからダブルクリック->アプリケーション起動->編集して上書き保存

とするとClipの中身だけが書き換わり紐づけはそのままにできるように思えます。自分はwavを編集できるアプリを持ってないので実験はできませんでした。

(2) 直接ファイル書き換え

Windows版UnityのAssets一覧でコンテキストメニューを開くと「Show in Explore」というメニューがあるのでそれを開くとプロジェクトフォルダーがエクスプローラーで開きます。そこにAssetsというフォルダーがありアセットはそのフォルダーに本体とメタファイルの組として保存されているように見えました。そこで現在のファイル名と同じ名前にして別の音声ファイルをエクスプローラー上で上書き保存してUnityの画面に戻ると即座に波形表示が変化しました。
はっきりわかりませんが、画像ファイルの置き換えができることからもUnityは外部のアプリケーションでプロジェクト内のアセットの内容が変更されたことを検知しそれを自動的に認識するようにできているように思えます。試しにプレイボタンを押して音を鳴らしてみると変更後の音声が鳴りました。


なお自分の環境のUnityは古いです・・・
OS: Windows10
Unity: 5.4.0f3 Personal 

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/11 07:19

    Mac版ですと、Assets一覧のコンテキストメニューの「Reveal in Finder」で元ファイルが出てきますね。
    そのファイルの「情報を見る」→「このアプリケーションで開く:」を変更したところ、Unity上でダブルクリックした際に起動するアプリケーションも変化しました。

    キャンセル

  • 2017/12/11 10:42

    コメントありがとうございます。
    なるほどMac/WinともにUnity側に独自のアプリ設定が必要ないような仕組みということなんでしょうね。

    キャンセル

  • 2017/12/11 11:24

    ご回答ありがとうございます。
    Unity内のダブルクリックで、どのアプリが立ち上がるかは、
    Unityの設定ではなく、個々のPCの拡張子ごとに設定されたアプリが開いいただけのようでした。
    (PCの操作の割と基本的なことでした。すいません。)

    当方はマックなのですが、OS上(ファイダー上、情報を見るにて)で
    wavファイルの開くアプリの設定を変えると、無事Unity上でも指定アプリで開きました。

    当方は、音声には「ガレージバンド」を使用しているのですが、
    「ガレージバンド」は音声ファイルを直接開けないようです。
    「ガレージバンド」は、まず個々のプロジェクトがあり、そこに音声をインポートする形の様です。

    従って、別の音声のアプリを使用できれば、
    フォトショップのように直接、修正、更新ができるかと思います。(未確認)

    別の音声のアプリがない場合は、
    ご指摘のとおり、Assets/materials/musicで直接フォルダを開き、
    同名ファイルをリプレイス(上書き保存)し、
    Unity内で動作することが確認出来ました。
    大変ありがとうございました。

    キャンセル

  • 2017/12/11 11:36 編集

    横から失礼します。
    ぶっちゃけファイル名が同じであれば、コピペ等でも差し替えできます。
    (「別の音声のアプリがない場合は〜」で既にお試しでしたらすみません)

    1. ガレージバンドで新しい音声を作成。
    2. 新ファイルを元ファイルと同名にして適当な場所に保存。
    3. Assets/materials/musicをFinderで開き、新ファイルをそこにコピペまたはドラッグ&ドロップ。
    4. 上書き確認ダイアログが出るので上書き許可する。

    キャンセル

  • 2017/12/11 14:57

    いつもご回答ありがとうございます。

    キャンセル

+2

まさかと思いますが念のため…もしかしてプレハブ化してないとかってオチじゃ無いですよね?
プレハブになっていればシーン全部張り直すなんて作業は発生しないハズですが・・・
(ダブルクリックで何が起動するかはアプリの関連付け設定の話しなので別問題だと思います)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/11 10:57

    なるほど、そういう観点もありそうですね。
    自分の回答では「ひもづけ」を2つの意味で使っているので混乱を招くかも知れませんが、アセットとコントローラなどとの「紐づけ」を変更しないままアセットだけ編集により置き換える目的で、アセットのダブルクリックで開くアプリを任意のものに変更する方法としてファイルの種類とアプリとの「紐づけ」を変更できるのを利用して・・・という話のつもりでした。

    キャンセル

  • 2017/12/11 11:26

    ご回答ありがとうございます。
    音声を使用している各オブジェクトは各シーンによって、大きさが異なり、
    貼り付けてある画像も違うので、プレハブ化はしておりませんでした。
    (大きさ、画像が違っていてもプレハブ化はできるのかもしれませんが)

    キャンセル

  • 2017/12/11 11:42

    HiroshiWatanabeさんの意図とは違うかもしれませんが、
    試しにオーディオファイルのみをプレハブ化して、
    そのプレハブを、音付きオブジェクトをインスペクター上で、
    ドラッグドロップで紐付けしようとした所、できませんでした。
    プレハブは音声として紐付けできないようです。
    またドラッグドロップではなく、インスペクター内の右端の丸をクリックすると、
    ポップアップで紐付け候補のファイル一覧が出ますが、
    (上部にSelect AudioClipと出ます)その一覧の中にプレハブが入っていません。
    オーディオファイルのみのプレハブ化ではオブジェクトに紐付けできないようです。

    キャンセル

  • 2017/12/11 12:13

    プレハブ化するのはオーディオがついてるGameObjectです。
    ちなみにスクリプトで後からそのオーディオファイルを別名の物に変更するような運用も可能ですが上でコメントした時にはそこまでのニーズがあるかは意識せずに回答していました。
    (同じ曲を100シーンで使いまわしてるのに1曲編集しただけで100シーン作業しなおしになるのを
    避ける方法はないか、というのが質問内容だと解釈したため)
    曲は同じだけど絵やオブジェクトの大きさが違うという事なら上のプレハブ化したオーディオがついたGameObjectを各シーンのその大きさが違うオブジェクトの子オブジェクトとしてやれば済む話しな気がします。
    1つのGameObjectにあれもこれも全部直接貼り付けてその1部(今の例では曲)が全部共通という構成にしてるのでは無いでしょうか?
    もしそうなら共通の曲は別のGameObject(プレハブ)にして子としてぶらさげてやれば解決する話しなのかなー、と思いました。

    キャンセル

  • 2017/12/11 14:55

    おっしゃるとおり、各オブジェクトに
    コリジョンのスクリプトとオーディオファイルを貼り付けておりました。

    空オブジェクトにオーディオ要素を分割しプレハブ化する形をトライしてみましたが、
    現状よりだいぶ構造を変えなければならいようです。
    (初心者で知識が足りない部分もあります)

    プレハブ化するのが正しいやり方だと思います。
    ありがとうございました。

    キャンセル

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

  • ただいまの回答率 90.84%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    アニメーションの名称とプレハブ化。

    前提・実現したいこと 質問1: 下図の①と②の名称をそれぞれ教えてください。 ②は、①を展開した中に入っています。 ①は、[Model][Rig][Animations]が

  • 解決済

    入れ子構造のプレハブの作り方。

    前提・実現したいこと 標準アセット([Import Package] → [Cameras])で、 [Assets] → [Standard Assets] → [Camera

  • 解決済

    変数が代入されていないエラー

    UnassignedReferenceException: The variable shotSpawn of WeaponController has not been assi

  • 解決済

    Unity5.5.0f3で作成したARアプリをandroid実機へデプロイできません。

    いつもお世話になっております。kichioと申します。ARアプリを下記環境にて作成し 実機へデプロイしている最中なのですが、次のようなエラーメッセージが表示されま す。

  • 解決済

    文字が出力されない。

    前提・実現したいこと テキストアセットを読み込んでいるのですが、ファイルの内容がコンソールに出力されません。 ご教授のほどよろしくお願いします。 該当のソースコード v

  • 解決済

    インポートしたpng画像が使えない

    Webサイトからダウンロードしたpng画像をUnity5のプロジェクトにドロップ&ドロップしました。 しかし、プロジェクトからヒエラルキーに移動させようとしても禁止マークがでます。

  • 解決済

    sharedMaterialを見たい。

    前提・実現したいこと sharedMaterialが使われているかどうかの確認方法について教えていただきたいです。 インスペクタで見ても、sharedMaterialが使われている

  • 解決済

    Assetにあるプレファブから画像を表示させたい

    GameObject(kamasu)からInspector参照でAssetにあるCanvasをインスタンス化させて配下にあるRawImageコンポーネントのRawImage画像をス

同じタグがついた質問を見る

  • C#

    6270questions

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

  • Unity

    3385questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

  • トップ
  • C#に関する質問
  • 100個のシーンで使用中の効果音を修正して、 更新する場合、便利な方法はないでしょうか?