Skip to content

PrimitiveRenderer Component ​

Plane、Ring、Sphere、Cylinderなどの形状をモデルAssetなしで描画します。

設定する手順 ​

  1. 形状を選び、形状パラメータとMaterialを設定します。
  2. SceneViewまたはGameViewで結果を確認します。
  3. 編集中のSceneまたはPrefabを保存します。

項目の説明 ​

項目C#名型操作定義時の初期値意味
RenderingLayerMaskRenderingLayerMaskuint読取・変更1uこのRendererを表示するCameraのCullingMaskと照合するbit集合です。
マテリアルMaterialMaterial?読取・変更{}描画に使うMaterial参照です。既定MaterialはEngine側から解決されます。
LayerLayerint読取・変更0描画するLayer番号です。
OrderOrderint読取・変更0同じLayer内の並び順です。
表示Visiblebool読取・変更true通常描画に表示するかを指定します。
BlendModeBlendModeBlendMode読取・変更BlendMode::Normal背景への色の混ぜ方です。加算などの方式を選びます。
QueueQueueRenderPhase読取・変更RenderPhase::Opaque同じ描画区分内の並び順です。
TypeTypePrimitiveType読取・変更PrimitiveType::Plane形状または動作の種類です。
RenderSpaceRenderSpacePrimitiveRenderSpace読取・変更PrimitiveRenderSpace::World3DWorld3DとScreen2Dの描画空間を選びます。
大きさPlane.SizeVector2読取・変更Vector2::AnyInit(1.0f)形状の幅・高さ・奥行きです。TransformのScaleも掛かります。
基準点Plane.PivotVector2読取・変更Vector2::AnyInit(0.5f)形状の原点または投影中心をずらします。
Plane.AxisPlane.AxisPrimitivePlaneAxis読取・変更PrimitivePlaneAxis::XY形状・回転・関節などの基準軸です。
分割XPlane.DivideXint読取・変更1横方向の分割数です。
分割YPlane.DivideYint読取・変更1縦方向の分割数です。
大きさCrossPlane.SizeVector2読取・変更Vector2::AnyInit(1.0f)形状の幅・高さ・奥行きです。TransformのScaleも掛かります。
基準点CrossPlane.PivotVector2読取・変更Vector2::AnyInit(0.5f)形状の原点または投影中心をずらします。
枚数CrossPlane.Countint読取・変更2交差させるPlaneの枚数です。
外周半径Ring.OuterRadiusfloat読取・変更1.0fRingの外半径です。
内周半径Ring.InnerRadiusfloat読取・変更0.5fRingの内半径です。外半径以下にします。
開始角Ring.StartAnglefloat読取・変更0.0f円弧などの開始角度です。
終了角Ring.EndAnglefloat読取・変更360.0f円弧などの終了角度です。
分割数Ring.Divideint読取・変更16円周方向の分割数です。
上面半径Cylinder.TopRadiusfloat読取・変更1.0fCylinder上端の半径です。
中心半径Cylinder.CenterRadiusfloat読取・変更1.0fCylinder中央の半径です。
下面半径Cylinder.BottomRadiusfloat読取・変更1.0fCylinder下端の半径です。
上面WeightCylinder.TopRadiusWeightfloat読取・変更0.0f上端から中央への半径の補間形状です。
下面WeightCylinder.BottomRadiusWeightfloat読取・変更0.0f下端から中央への半径の補間形状です。
上面色Cylinder.TopColorColor4読取・変更Color4::White()Cylinder上側の頂点色です。
中心色Cylinder.CenterColorColor4読取・変更Color4::White()Cylinder中央の頂点色です。
底面色Cylinder.BottomColorColor4読取・変更Color4::White()Cylinder下側の頂点色です。
高さCylinder.Heightfloat読取・変更2.0f形状の高さです。
展開角Cylinder.MaxAnglefloat読取・変更360.0f関節の回転角度の上限です。
円周分割Cylinder.RadialDivideint読取・変更16円周方向の分割数です。
高さ分割Cylinder.HeightDivideint読取・変更8高さ方向の分割数です。
Cylinder.CapCylinder.CapPrimitiveCylinderCap読取・変更PrimitiveCylinderCap::BothCylinderの上端・下端を閉じるかを選びます。
Cylinder.UVModeCylinder.UVModePrimitiveCylinderUVMode読取・変更PrimitiveCylinderUVMode::None形状に対するUVの割り当て方式です。
半径Sphere.Radiusfloat読取・変更1.0f形状または効果の半径です。
経度分割Sphere.LongitudeDivideint読取・変更24Sphereの経度方向の分割数です。
緯度分割Sphere.LatitudeDivideint読取・変更16Sphereの緯度方向の分割数です。
半径Hemisphere.Radiusfloat読取・変更1.0f形状または効果の半径です。
経度分割Hemisphere.LongitudeDivideint読取・変更24Sphereの経度方向の分割数です。
緯度分割Hemisphere.LatitudeDivideint読取・変更8Sphereの緯度方向の分割数です。
底面のフタHemisphere.BottomCapbool読取・変更true半球の底を面で閉じます。
大きさCube.SizeVector3読取・変更Vector3::AnyInit(1.0f)形状の幅・高さ・奥行きです。TransformのScaleも掛かります。
基準点Cube.PivotVector3読取・変更Vector3::AnyInit(0.5f)形状の原点または投影中心をずらします。
RenderFlagsRenderFlagsMeshRenderFlags読取・変更MeshRenderFlags::Default照明・影・IBL・反射などを受けるかのbit設定です。
デカールを受けるreceiveDecalsbool読取・変更trueDecalの投影を受け付けます。

Inspectorの設定と使い方 ​

「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。

設定・操作編集場所C#の入口意味・使い方
表示レイヤーと描画順Editor / C#RenderingLayerMask / Layer / OrderRenderingLayerMaskはCameraのCullingMaskと照合する表示先のbitです。LayerとOrderは描画の並び順で、衝突タイプとは別です。
Material・個別パラメータEditor / C#Material / MaterialInstanceMaterialは共有Asset、MaterialInstanceはこのRendererの上書きです。色・Texture・発光などの公開Parameterを個別に変え、ほかの物体のMaterial設定を変えずに点滅や色違いを作れます。
ブレンドモード・キューEditor / C#BlendMode / Queue透明度をどう合成するかと、どの描画段階へ送るかを指定します。Alphaを下げるだけで透過描画になるとは限らないため、Materialの表面方式と合わせます。
形状・描画空間Editor / C#Type / RenderSpace / receiveDecalsPlane・CrossPlane・Ring・Cylinder・Sphere・Hemisphere・Cubeから選びます。World3DとScreen2Dで座標の意味が異なります。描画形状を選んでもPhysicsの当たり形状は追加されません。
Plane・CrossPlaneEditor / C#Plane / CrossPlanePlaneは大きさ・基準点・軸・X/Y分割、CrossPlaneは大きさ・基準点・板の枚数を指定します。板の向きはCameraやLightに対して確認します。
RingEditor / C#Ring外周と内周の半径、開始角・終了角、分割数で輪や扇形を作ります。角度は度で指定し、内周を0にすると穴のない形へ近づきます。
CylinderEditor / C#Cylinder上面・中心・下面半径とWeight、3つの色、高さ、展開角、円周・高さ分割、フタ、UV方式を指定します。円錐台や部分的な円柱にも使えます。
Sphere・Hemisphere・CubeEditor / C#Sphere / Hemisphere / CubeSphere系は半径と経度・緯度分割、Hemisphereは底面のフタも指定します。Cubeは大きさと基準点です。分割数を増やすほど形状生成と描画の負荷が増えます。

初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。

C#から使う ​

操作型はPrimitiveRendererです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。

実用例:このRendererだけ色を変える ​

PrimitiveRendererの個別Material設定へ色を適用します。ほかの物体が使う共有Material Assetの変更ではありません。

cs
using NEMEngine;

public sealed class MaterialTint : MonoBehaviour {

    void Start() {
        // 色を変えるRendererを取得
        var renderer = GetComponent<PrimitiveRenderer>();
        if (renderer == null) return;
        // 共有Assetを変えず、この物体だけ上書き
        bool applied = renderer.MaterialInstance.SetColor(
            MaterialParameterNames.BaseColor, new Color4(0.2f, 0.8f, 1.0f, 1.0f));
        // Materialが指定Parameterを持つか確認
        if (!applied) Debug.LogWarning("ベースカラーの設定を確認してください");
    }
}

選択値(Enum) ​

型・各値の詳説使える値
BlendModeAdd / Multiply / Normal / Screen / Subtract
MeshRenderFlagsCastReflection / CastShadow / Default / Lighting / None / ReceiveIBL / ReceiveReflection / ReceiveShadow
PrimitiveCylinderCapBoth / Bottom / None / Top
PrimitiveCylinderUVModeNone / Radial
PrimitivePlaneAxisXY / XZ / YZ
PrimitiveRenderSpaceScreen2D / World3D
PrimitiveTypeCrossPlane / Cube / Cylinder / Hemisphere / Plane / Ring / Sphere
RenderPhaseEditorOverlay / Opaque / PostProcessUI / ScreenUI / Transparent

PrimitiveRenderer ​

宣言・詳説種類・操作役割
public BlendMode BlendModeプロパティ(読取・変更)背景への色の混ぜ方です。加算などの方式を選びます。
public PrimitiveRenderer.CrossPlaneAccessor CrossPlaneプロパティ(読取専用)交差する板の枚数・寸法などの設定です。
public PrimitiveRenderer.CubeAccessor Cubeプロパティ(読取専用)Cubeの寸法・原点設定です。
public PrimitiveRenderer.CylinderAccessor Cylinderプロパティ(読取専用)Cylinderの半径・高さ・分割数・頂点色の設定です。
public static PrimitiveRenderer FromEntity(GameObject gameObject)関数既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。
public Color4 GetColor()関数現在のマテリアル color を取得する。
public PrimitiveRenderer.HemisphereAccessor Hemisphereプロパティ(読取専用)半球の半径・分割数・底面の設定です。
public int Layerプロパティ(読取・変更)描画するLayer番号です。
public Material? Materialプロパティ(読取・変更)描画に使うMaterial参照です。既定MaterialはEngine側から解決されます。
public MaterialInstance MaterialInstanceプロパティ(読取専用)このRendererだけに適用するMaterial Parameterです。共有Materialの変更とは区別します。
public int Orderプロパティ(読取・変更)同じLayer内の並び順です。
public PrimitiveRenderer.PlaneAccessor Planeプロパティ(読取専用)無限平面との衝突を有効にします。
public RenderPhase Queueプロパティ(読取・変更)同じ描画区分内の並び順です。
public MeshRenderFlags RenderFlagsプロパティ(読取・変更)照明・影・IBL・反射などを受けるかのbit設定です。
public PrimitiveRenderSpace RenderSpaceプロパティ(読取・変更)World3DとScreen2Dの描画空間を選びます。
public uint RenderingLayerMaskプロパティ(読取・変更)このRendererを表示するCameraのCullingMaskと照合するbit集合です。
public PrimitiveRenderer.RingAccessor Ringプロパティ(読取専用)Ringの内外半径・角度・分割数の設定です。
public void SetColor(Color3 color)関数色Parameterを設定します。
public void SetColor(Color4 color)関数マテリアル color を上書きする。
public PrimitiveRenderer.SphereAccessor Sphereプロパティ(読取専用)Sphere形状の半径と分割数などの設定です。
public PrimitiveType Typeプロパティ(読取・変更)形状または動作の種類です。
public bool Visibleプロパティ(読取・変更)通常描画に表示するかを指定します。
public static int componentTypeIDプロパティ(読取専用)組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。
public bool receiveDecalsプロパティ(読取・変更)Decalの投影を受け付けます。

PrimitiveRenderer.CrossPlaneAccessor ​

宣言・詳説種類・操作役割
public int Countプロパティ(読取・変更)交差させるPlaneの枚数です。
public Vector2 Pivotプロパティ(読取・変更)形状の原点または投影中心をずらします。
public Vector2 Sizeプロパティ(読取・変更)形状の幅・高さ・奥行きです。TransformのScaleも掛かります。

PrimitiveRenderer.CubeAccessor ​

宣言・詳説種類・操作役割
public Vector3 Pivotプロパティ(読取・変更)形状の原点または投影中心をずらします。
public Vector3 Sizeプロパティ(読取・変更)形状の幅・高さ・奥行きです。TransformのScaleも掛かります。

PrimitiveRenderer.CylinderAccessor ​

宣言・詳説種類・操作役割
public Color4 BottomColorプロパティ(読取・変更)Cylinder下側の頂点色です。
public float BottomRadiusプロパティ(読取・変更)Cylinder下端の半径です。
public float BottomRadiusWeightプロパティ(読取・変更)下端から中央への半径の補間形状です。
public PrimitiveCylinderCap Capプロパティ(読取・変更)Cylinderの上端・下端を閉じるかを選びます。
public Color4 CenterColorプロパティ(読取・変更)Cylinder中央の頂点色です。
public float CenterRadiusプロパティ(読取・変更)Cylinder中央の半径です。
public float Heightプロパティ(読取・変更)形状の高さです。
public int HeightDivideプロパティ(読取・変更)高さ方向の分割数です。
public float MaxAngleプロパティ(読取・変更)関節の回転角度の上限です。
public int RadialDivideプロパティ(読取・変更)円周方向の分割数です。
public Color4 TopColorプロパティ(読取・変更)Cylinder上側の頂点色です。
public float TopRadiusプロパティ(読取・変更)Cylinder上端の半径です。
public float TopRadiusWeightプロパティ(読取・変更)上端から中央への半径の補間形状です。
public PrimitiveCylinderUVMode UVModeプロパティ(読取・変更)形状に対するUVの割り当て方式です。

PrimitiveRenderer.HemisphereAccessor ​

宣言・詳説種類・操作役割
public bool BottomCapプロパティ(読取・変更)半球の底を面で閉じます。
public int LatitudeDivideプロパティ(読取・変更)Sphereの緯度方向の分割数です。
public int LongitudeDivideプロパティ(読取・変更)Sphereの経度方向の分割数です。
public float Radiusプロパティ(読取・変更)形状または効果の半径です。

PrimitiveRenderer.PlaneAccessor ​

宣言・詳説種類・操作役割
public PrimitivePlaneAxis Axisプロパティ(読取・変更)形状・回転・関節などの基準軸です。
public int DivideXプロパティ(読取・変更)横方向の分割数です。
public int DivideYプロパティ(読取・変更)縦方向の分割数です。
public Vector2 Pivotプロパティ(読取・変更)形状の原点または投影中心をずらします。
public Vector2 Sizeプロパティ(読取・変更)形状の幅・高さ・奥行きです。TransformのScaleも掛かります。

PrimitiveRenderer.RingAccessor ​

宣言・詳説種類・操作役割
public int Divideプロパティ(読取・変更)円周方向の分割数です。
public float EndAngleプロパティ(読取・変更)円弧などの終了角度です。
public float InnerRadiusプロパティ(読取・変更)Ringの内半径です。外半径以下にします。
public float OuterRadiusプロパティ(読取・変更)Ringの外半径です。
public float StartAngleプロパティ(読取・変更)円弧などの開始角度です。

PrimitiveRenderer.SphereAccessor ​

宣言・詳説種類・操作役割
public int LatitudeDivideプロパティ(読取・変更)Sphereの緯度方向の分割数です。
public int LongitudeDivideプロパティ(読取・変更)Sphereの経度方向の分割数です。
public float Radiusプロパティ(読取・変更)形状または効果の半径です。

継承する共通操作:Component ​

宣言・詳説種類・操作役割
public T AddComponent<T>() where T : Component関数ComponentまたはScriptを追加し、操作する参照を返します。
public T? GetComponent<T>() where T : class関数component access(owner GameObjectへの委譲)
public T? GetComponentInChildren<T>(bool includeInactive = false) where T : class関数子階層から指定型のComponentを探します。
public T? GetComponentInParent<T>(bool includeInactive = false) where T : class関数親階層から指定型のComponentを探します。
public T[] GetComponents<T>() where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public void GetComponents<T>(List<T> results) where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public T[] GetComponentsInChildren<T>(bool includeInactive = false) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(bool includeInactive, List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public T[] GetComponentsInParent<T>(bool includeInactive = false) where T : class関数親階層にある指定型のComponentを収集します。
public void GetComponentsInParent<T>(bool includeInactive, List<T> results) where T : class関数親階層にある指定型のComponentを収集します。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public bool HasComponent<T>() where T : class関数指定型のComponentを持つかを調べます。
public void RemoveComponent<T>() where T : Component関数指定型のComponentを取り除きます。
public bool TryGetComponent<T>(out T component) where T : class関数Componentを検索し、見つかったかをbool、結果をout引数で返します。
public GameObject gameObjectプロパティ(読取専用)このComponentを所有するGameObjectです。
public Transform transformプロパティ(読取専用)所有GameObjectのTransformです。

継承する共通操作:Object ​

宣言・詳説種類・操作役割
public static void Destroy(Object? target)関数参照先の個体だけを安全地点で破棄する
public override bool Equals(object? obj)関数2つの値が等しいかを調べます。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public static GameObject Instantiate(Prefab original)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static bool operator ==(Object? lhs, Object? rhs)関数等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static implicit operator bool(Object? value)関数暗黙の型変換を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static bool operator !=(Object? lhs, Object? rhs)関数不等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。

使用時の注意 ​

World3DとScreen2Dを区別します。厚みのない形状は表裏から見えるため、法線の向きは視点にも関係します。

Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。

関連項目 ​

現行版マニュアル · 8ea58ba2 · 2026-10-28確認