Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

MeshFilter.mesh

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public var mesh: Mesh;
public Mesh mesh;

説明

メッシュフィルターに割り当てられた Mesh を返します

メッシュがメッシュフィルターに割り当てられていない場合、新しいメッシュが作成され割り当てられます。

メッシュがメッシュフィルターに割り当てられている場合は、mesh プロパティーの初回の照会時に複製が作成され、コピーを 返します。mesh プロパティーはメッシュのインスタンスを複製したものを返します。 いったん mesh プロパティーはクエリーされてオリジナルの共有メッシュへのリンクが失われ、MeshFilter.sharedMesh プロパティーが mesh へのエイリアスになります。 メッシュが自動で複製されてしまうのを避けたい場合は、代わりに MeshFilter.sharedMesh を使用してください。

mesh プロパティーを使用することによって、1 つのオブジェクトのみのメッシュを変更することができます。 同じメッシュが使用されている他のオブジェクトは変更されません。

ゲームオブジェクトが破壊されるとき、自動的にインスタンス化されたメッシュは手動で破壊する必要があります。Resources.UnloadUnusedAssets も メッシュを破壊しますが、通常は新しいレベルを読み込むときのみ呼び出します。

以下のコードのショートカットとして mesh プロパティーを考慮してください。


        
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { Mesh mesh = GetComponent<MeshFilter>().sharedMesh; Mesh mesh2 = Instantiate(mesh); GetComponent<MeshFilter>().sharedMesh = mesh2; } }

mesh プロパティーの最初の問い合わせ(query)で呼び出されます。

Note:
MeshFilter がアセットオブジェクトの一部である場合、問い合わせの mesh プロパティーは利用できずアセットメッシュのみが割り当てることができます。


        
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { // Distorts the mesh vertically. void Update() { // Get instantiated mesh Mesh mesh = GetComponent<MeshFilter>().mesh; // Randomly change vertices Vector3[] vertices = mesh.vertices; int p = 0; while (p < vertices.Length) { vertices[p] += new Vector3(0, Random.Range(-0.3F, 0.3F), 0); p++; } mesh.vertices = vertices; mesh.RecalculateNormals(); } }

関連項目: Mesh クラス