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

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

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

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

Q&A

解決済

1回答

893閲覧

[Unity]でGameObjectにアタッチしているコンポーネントを、値を維持したまま他のGameObjectにアタッチ先を変更する事は可能ですか?

rocket

総合スコア41

Unity

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

0グッド

0クリップ

投稿2021/11/15 09:22

編集2021/11/16 16:45

間違えてセットしてしまったコンポーネントが沢山あります。
GameObjectについているコンポーネントを、別のGameObjectに移し替えたいです。

画像はイメージです。
大量のオブジェクトにそれぞれ固有の設定がしてありますが、それを付けるオブジェクトを間違えました。本当は子の方に付けるべきものでした。
やっつけ作業で恥ずかしい限りなんですが、沢山あるので難しいならば諦めているところです。
イメージ説明

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

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

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

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

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

mimi_no_naka

2021/11/16 12:58 編集

>GameObjectについているコンポーネントを、別のGameObjectに移し替えたい これが特定のものであれば GameObject.AddComponent<コンポーネント名>(); で同じコンポーネントをアタッチする事は可能かと思いますがこれでは駄目な理由はなんでしょうか? 上記で駄目だと仮定して考えられるやりたい事は ・特定のコンポーネントだけでなくアタッチされている全てコピーしたい ・コンポーネント内の値もコピーしたい が考えられますが質問文からは読み取れないので回答がし辛いと思います。
rocket

2021/11/16 16:35

すみません。ご指摘ありがとうございます。 修正してみます。
guest

回答1

0

ベストアンサー

値を維持したまま他のGameObjectにアタッチ先を変更する事は可能です

1.コピーしたいコンポーネントの上で右クリックして、Copy Componentを選択

イメージ説明

2.コピー先のオブジェクトを選択。Transformなどのコンポーネントの上で右クリックして、Paste Component As Newを選択
イメージ説明

3.値や参照そのままにコンポーネントをコピー出来ます
イメージ説明

上記はUnityの通常機能ですが、
一括で子にコンポーネントをコピーするコマンドが欲しいという話であればエディタ拡張で機能追加が必要です。

投稿2021/11/16 17:07

編集2021/11/16 17:14
Hawn

総合スコア1222

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

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

Hawn

2021/11/16 17:12 編集

移動元のコンポーネントは必要無くなると思うのでRemove Componentで削除して下さい。
rocket

2021/11/18 16:25

なるほど、これならエディター拡張でいけそうな気がしてきました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問