fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

2013年12月 | ARCHIVE-SELECT | 2014年02月

| PAGE-SELECT |

≫ EDIT

モデル内のオブジェクトの表示切り替え

ゲーム中にモデル内にあるオブジェクトの表示状態をスクリプトから切り替えます。
とりあえず、ゲーム中に同じオブジェクトの名称があったと仮定しました。
多分キャラクターなどだと、中のオブジェクト名がシーンで被ってる場合もあると思うので。

こんな感じに。
一度キャラクターを取得してから、その中のオブジェクトを探しています。

// ゲームオブジェクトを取得(キャラクタを取得後、キャラクターの中のオブジェクトを取得)
GameObject object = GameObject.Find("CharaName");
GameObject meshObject = object.transform.Find ("ObjectName").gameObject;
// メッシュレンダラーを取得してコンポーネントを無効化
SkinnedMeshRenderer meshRenderer = meshObject.GetComponent< SkinnedMeshRenderer>();
meshRenderer.enabled = false;


今回はスキンだったのでこれですが、スキン以外のものだと

MeshRenderer meshRenderer = meshObject.GetComponent< MeshRenderer>();


こんな感じでできると思います。

とりあえず結果として、こんなものが
モデル表示
こんな感じに消えました!
モデル非表示

| Unity | 00:34 | comments:1 | trackbacks:0 | TOP↑

| PAGE-SELECT |