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

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

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

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

Unity

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

Q&A

解決済

1回答

2705閲覧

Unityちゃんのボディを他のキャラに変更したい

sasami_unity

総合スコア1

C#

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

Unity

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

0グッド

0クリップ

投稿2021/06/16 06:34

unityでSkinned Mesh Rendererを使うと表示がおかしくなります。
SDunityちゃんのボディを他のキャラ(今試してるのは同じunity公式キャラのユコとミサキ)に変更したいのですが_bodyのSkinned Mesh Rendererのメッシュを変更すると写真のようになります。

ユコとミサキもキャラとも同じように正しく表示されないです…。
ユコのボディをミサキにしても正しく表示されません。

どうしたらいいでしょうか、恐縮ですがよろしくお願いします。イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

モデルのメッシュだけ変更するのは、基本的にそれを想定して作られたモデルのみしかできません。
メッシュを変更するのではなく、それぞれのモデルをGameObjectとして配置し、それを表示・非表示するようにしてください。

投稿2021/06/17 00:11

sakura_hana

総合スコア11427

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

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

sasami_unity

2021/06/17 05:02

回答ありがとうございます。 キャラのボディのところにgameobjectを置くと表示されるんですが、アニメーションが腕とか足とかが追従してくれません…(ずっとデフォルトの棒立ち) アニメーション通りにボディが追従して欲しいのですが…
sakura_hana

2021/06/18 00:11

「キャラのボディのところにgameobjectを置く」というのが気にかかります。ユニティちゃんのボディの子オブジェクトとしてユコ等のGameObjectを置いているならばそれは使い方が違います。 アニメーションを共有したいならばモデルのインポート設定等を確認する必要があります。 流れとしては、ユニティちゃんを配置したのと同じように完全に独立したユコ等のGameObjectをシーンに配置、モデルのインポート設定でHumanoidを有効化してAnimatorControllerを共有、スクリプトでモデルのGameObjectの表示・非表示を切り替え、となります。
sasami_unity

2021/06/18 03:13

回答ありがとうございます。 まったく新しいGameObjectを作ってそれに既存のアニメータとかスクリプトを入れて、モデルを表示・非表示で切り替えるという形でしょうか…? 自分が作ってるゲームは、武器や髪型とかも変更できるようにしています(武器や髪はCharacter1_referenceのボーンのところに直で入れて動いてます)。 既にUnityちゃんのGameObjectには色々パーティカルや武器、判定など詰まってるため、ボディごとにそれぞれ入れなおすのは出来れば避けたいです…。 あと、Photon2を使ったオンラインゲームなので非表示にするGameObjectまで生成するのは避けたいです…。 なので、できればUnityちゃんのGameObject内の追加・変更で実現したいです。 何か手はありますでしょうか…よろしくお願いします。
sakura_hana

2021/06/18 06:04

それだとかなり厳しいと思います。 根本論から言うと、3Dモデルはボーンとメッシュで出来ています。 Skinned Mesh Rendererで表示されるメッシュの頂点ひとつひとつは「どのボーンの影響をどれぐらい受けるか」というデータを持っています。 異なるモデルでもボーンの位置・向き・大きさ・名称が同一であれば共有できる可能性もありますが、そうでない場合はボーンとメッシュの紐付きができなかったり、想定外の場所にメッシュの頂点が移動することで図のような変な形になります。 両方のモデルのボーン構成を眺めてみて、違いが見えるようならば共有は難しいと思います。(モデルを編集するか、オリジナルモデルを作るか等すれば可能かもしれません) ちなみに武器等を持たせるのは、ボーンひとつひとつはGameObjectであり、アニメーションはボーンが動くことで反映されることを利用したものです。(「子オブジェクトは親オブジェクトに追随する」というUnityの基本機能に則っています) 髪型と同じ要領でユコモデルを分割化してセットという形で出来ればいいのですが、それだと多分難しいと思うので、諦めるか前述の通りモデル編集等の方法になるかなと思います。
sasami_unity

2021/06/19 06:04

回答ありがとうございます。 結局体だけ生成してアニメーションを動かすだけのスクリプトを用意してメインのキャラのスクリプトから操作してメインキャラと同じ動きをさせることで何とかできました! 大変参考になりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問