Edit_Normals: モディファイヤ

Edit_Normals - superclass: modifier; super-superclass:MAXWrapper - classID: #(1252338403, 902438110) 

> MAXWrapper > モディファイヤ > Edit_Normals

注:

Edit_Normals モディファイヤでは、編集可能なポリゴン オブジェクトのリアルタイム レンダリングで使用される法線ベクトルを編集できます。

3ds Max 5 では、編集した法線をサポートしていたのは PolyObject だけでした。Edit_Normals の結果を非 PolyObject へ変換する操作 (たとえば、「パッチに変換」や「メッシュ選択」など) を行った場合、法線が失われていました。

3ds Max 6 ではこの点が変更され、編集した法線が TriMesh によってサポートされるようになりました。

トポロジを変更するすべてのモディファイヤでは、法線は削除されます。このモディファイヤには、MeshSmooth、Tessellate、Slice、ミラー、Symmetry、Face Extrud、および Vertex Weld があります。また、Normal モディファイヤ (面方向の反転に使用) では、編集した法線がサポートされないことになります。[ポリゴンに変換](Turn to Poly)は面トポロジの修正に使用できるため、編集した法線も取り除きます。

すべての複合オブジェクトは、編集した法線をそのオペランドから取り除きます。

トポロジ演算が多いため、[編集可能ポリゴン](Editable Poly)は編集した法線をサポートしません。スタックを集約した場合、法線が失われます。EPoly に集約しながら、法線を保持する必要がある場合、[法線を編集](Edit Normals)の下で、そのモディファイヤに対して[集約](Collapse)を使用してください。

すべての変形モディファイヤとマップ モディファイヤでは、法線は保持されます。たとえば[ベンド](Bend)を適用する場合、法線はジオメトリとともに曲げられる必要があります。マップ モディファイヤ (UVW アンラップ など) は法線にまったく影響しません。

ジオメトリック モディファイヤの中には、編集した法線を完全にはサポートしないものもあります。法線は取り除かれませんが、すべての明示的な法線が正しく変形されません。このモディファイヤのカテゴリには、Push と Relax が含まれます。

Smooth モディファイヤでは、指定した明示的な法線が変更されず、すべての未指定の法線が正しく修正されます。

Edit_Normals は次の点で[メッシュ選択](Mesh Select)または[ポリゴンを選択](Poly Select)に似ています。ボックスを作成し、Edit_Normals を適用し、いくつかの法線を変更してから、2 番目の Edit_Normals モディファイヤを適用した場合、1 番目の Edit_Normals は、ユーザ指定の法線をパイプラインから「継承」します。ただし、その後1 番目の Edit_Normals は元の Edit_Normals モディファイヤに対して行ったすべての変更を無視します。これは[メッシュ選択](Mesh Select)で、パイプからの選択部分に対する変更がすべて無視される場合と類似します。

Edit_Normals モディファイヤには、3 つのカテゴリの法線があります。

Unspecified - スムージング グループから計算される通常の法線です。既定では、すべての法線が Unspecified です。

Specified - スムージング グループに関係なく、特定の面の特定のコーナーで使用される法線です。Specified の法線は、明示的な値に設定されません。つまり、スムージング グループを無視しますが、それらを使用する面の面法線に基づいています。

Explicit - 特定の値に設定される法線です。また、すべての Explicit の法線は指定されることになります。

コンストラクタ

Edit_Normals ... editNormals ... 

プロパティ

<Edit_Normals>.displayLength Float default: 10.0 -- world units; Display_Length 

ビューポートで表示する法線の長さを取得/設定します。

   

<Edit_Normals>.ignoreBackfacing Boolean default: false -- boolean; Ignore_Backfacing 

[バックグラウンドを無視](Ignore Backfacing)オプションを取得/設定します。

   

<Edit_Normals>.selectBy Integer default: 0 -- integer; Select_By 

選択オプションを設定します。

0 - 法線で選択

1 - 頂点で選択

2 - エッジで選択

3 - 面で選択

   

<Edit_Normals>.showHandles Boolean default: false -- boolean; Show_Handles 

true に設定すると、モディファイヤは法線の端にハンドルを表示します。

Edit_Normals インターフェース:

Interface:EditNormalsMod 

プロパティ:

.SelLevel: enum : Read|Write 

SelLevel enums: {#Object|#Normal|#Vertex|#Edge|#Face} 

選択レベルを取得/設定します。

   

メソッド:

<bool>Move <&point3>offset 

offset is In and Out parameter 

選択した法線を、指定のオフセットだけ移動します。正常に終了した場合は true を返します。

   

<bool>Rotate <&quat>rotation 

rotation is In and Out parameter 

選択した法線を、指定の四元数値だけ回転します。正常に終了した場合は true を返します。

   

<bool>Break [selection:<bitArray>] [node:<node>] [toAverage:<bool>] 

selection default value: undefined 
node default value: undefined 
toAverage default value: false 

現在の選択を無効にします。正常に終了した場合は true を返します。

同じモディファイヤが複数のノードに適用されている場合、オプションの node: パラメータを指定して、この単一のノードだけにメソッドを限定します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<bool>Unify [selection:<bitArray>] [node:<node>] [toAverage:<bool>] 

selection default value: undefined 
node default value: undefined 
toAverage default value: false 

現在の選択を統合します。正常に終了した場合は true を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<bool>Average [useThresh:<bool>] [threshold:<float>] [selection:<bitArray>] [node:<node>] 

useThresh default value: false 
threshold default value: 0.0 
selection default value: undefined 
node default value: undefined 

   

<bool>AverageGlobal [useThresh:<bool>] [threshold:<float>] 

useThresh default value: false 
threshold default value: 0.0 

オプションでしきい値を指定できる平均法線。

   

<bool>AverageTwo <node>node1 <index>normalID1 <node>node2 <index>normalID2 

2 つの異なるノードからの 2 つの法線の平均。

   

<bool>Reset [selection:<bitArray>] [node:<node>] 

selection default value: undefined 
node default value: undefined 

現在の選択をリセットします。正常に終了した場合は true を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<bool>Specify [selection:<bitArray>] [node:<node>] 

selection default value: undefined 
node default value: undefined 

現在の選択の法線を Specified にします。正常に終了した場合は true を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<bool>MakeExplicit [selection:<bitArray>] [node:<node>] 

selection default value: undefined 
node default value: undefined 

現在の選択の法線を[明示](Explicit)にします。正常に終了した場合は true を返します。

同じモディファイヤが複数のノードに適用されている場合、オプションの node: パラメータを指定して、この単一のノードだけにメソッドを限定します。

   

<bool>Copy <index>normalID [node:<node>] 

node default value: undefined 

インデックスで指定された法線をクリップボードにコピーします。正常に終了した場合は true を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<bool>Pasteselection:<bitArray> [node:<node>] 

selection default value: undefined 
node default value: undefined 

現在のF選択箇所に法線をコピーします。正常に終了した場合は true を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

注: Copy は 1 つの法線に対してのみ行われますが、 Paste はコピーした単一の値を、任意の数の選択した法線に適用できます。

   

<bitArray>GetSelection [node:<node>] 

node default value: undefined 

現在選択されている法線を bitArray として返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<bool>SetSelection <&bitArray>newSelection node:<node> 

newSelection is In and Out parameter 
node default value: undefined 

与えられた bitArray を使用して、現在選択されている法線を返します。

   

<bool>Select <&bitArray>newSelection [invert:<bool>] [select:<bool>] [node:<node>] 

newSelection is In and Out parameter 
invert default value: false 
select default value: true 
node default value: undefined 

bitArray で指定された法線を選択します。このメソッドでは既存の選択は 1 つも削除されません。

オプションの invert: パラメータが true に設定されている場合、指定の法線の選択状態が反転します。

オプションの select: パラメータが false に設定されている場合、指定の法線が選択解除されます。 true に設定されている場合、または省略されている場合は、法線が選択されます。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<void>ConvertVertexSelection <&bitArray>vertexSelection <&bitArray>normalSelection [node:<node>] 

vertexSelection is In and Out parameter 
normalSelection is In and Out parameter 
node default value: undefined 

2 つの bitArrays が参照により入出力パラメータとして渡されます。最初の bitArray は変換元の頂点を定義します。このメソッドを呼び出した後、2 番目の bitArray に、指定した頂点が共有する法線が組み込まれます。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

--create a Box, convert to EPoly, add Edit_Normals modifier
b=box()
convertToMesh b
addModifier b (Edit_Normals())

my_verts = #{1} --define a bitArray specifying vertex 1
my_normals = #{} --define an empty bitArray to store the result
--call the method with the two bitArrays passed by-reference:
b.Edit_Normals.ConvertVertexSelection &my_verts &my_normals
my_normals--now take a look at the bitArray
#{1, 9, 22}--it will contain the normal indices used by vertex 1

   

<void>ConvertEdgeSelection <&bitArray>edgeSelection <&bitArray>normalSelection [node:<node>] 

edgeSelection is In and Out parameter 
normalSelection is In and Out parameter 
node default value: undefined 

2 つの bitArrays が参照により入出力パラメータとして渡されます。最初の bitArray は変換元のエッジを定義します。このメソッドを呼び出した後、2 番目の bitArray に、指定したエッジが共有する法線が組み込まれます。

同じモディファイヤが複数のノードに適用されている場合、オプションの node: パラメータを指定して、この単一のノードだけにメソッドを限定します。

   

<void>ConvertFaceSelection <&bitArray>faceSelection <&bitArray>normalSelection [node:<node>] 

faceSelection is In and Out parameter 
normalSelection is In and Out parameter 
node default value: undefined 

2 つの bitArrays が参照により入出力パラメータとして渡されます。最初の bitArray は変換元の面を定義します。このメソッドを呼び出した後、2 番目の bitArray に、指定した面が共有する法線が組み込まれます。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<integer>GetNumNormals [node:<node>] 

node default value: undefined 

法線の数を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<point3>GetNormal <index>normalIndex [node:<node>] 

node default value: undefined 

インデックスで指定された法線を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<void>SetNormal <index>normalIndex <&point3>normalValue [node:<node>] 

normalValue is In and Out parameter 
node default value: undefined 

インデックスで指定された法線の値を設定します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<bool>GetNormalExplicit <index>normalIndex [node:<node>] 

node default value: undefined

インデックスで指定された法線が Explict の場合に true を、それ以外の場合に false を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<void>SetNormalExplicit <index>normalIndex [explicit:<bool>] [node:<node>] 

explicit default value: true 
node default value: undefined 

インデックスで指定された法線の Explict 状態を設定します。オプションの explicit: パラメータが false に設定されている場合、Explicit 状態を削除し、法線を Specified にします。 true に設定されている場合、または省略されている場合、法線は Explicit になります。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<integer>GetNumFaces [node:<node>] 

node default value: undefined 

面の数を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<integer>GetFaceDegree <index>face [node:<node>] 

node default value: undefined 

インデックスで指定された面のコーナー数を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<index>GetNormalID <index>face <index>corner [node:<node>] 

node default value: undefined 

インデックスで指定された面の指定のコーナーの法線 ID を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<void>SetNormalID <index>face <index>corner <index>normalID [node:<node>] 

node default value: undefined 

インデックスで指定された面の指定のコーナーの法線 ID を設定します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<bool>GetFaceNormalSpecified <index>face <index>corner [node:<node>] 

node default value: undefined 

インデックスで指定された面の、インデックスで指定されたコーナーの法線が Specified の場合は true を、それ以外の場合は false を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<void>SetFaceNormalSpecified <index>face <index>corner [specified:<bool>] [node:<node>] 

specified default value: true 
node default value: undefined 

インデックスの付いた面の指定のコーナーの法線を、Specified に設定します。オプションの specified: パラメータが true の場合、または省略されている場合は、法線の Specified 状態を設定します。オプションの specified: パラメータが false に設定されている場合は、Specified 状態をリセットします。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<integer>GetNumVertices [node:<node>] 

node default value: undefined 

頂点の数を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<index>GetVertexID <index>face <index>corner [node:<node>] 

node default value: undefined 

インデックスの付いた面の指定のコーナーの頂点インデックスを返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<point3>GetVertex <index>vertexID [node:<node>] 

node default value: undefined 

指定された頂点の位置を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<integer>GetNumEdges [node:<node>] 

node default value: undefined 

エッジの数を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<index>GetEdgeID <index>face <index>side [node:<node>] 

node default value: undefined 

インデックスで指定された面の、指定の側面のエッジのインデックスを返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<index>GetFaceEdgeSide <index>face <index>edge [node:<node>] 

node default value: undefined 

指定のエッジと面の側面のインデックスを返します。したがって、側面のインデックスを取得するために、エッジは面ごとに使用する必要があります。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<index>GetEdgeVertex <index>edge <index>end [:<node>]node 

node default value: undefined 

インデックスで指定されたエッジの指定の端にある頂点のインデックスを返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<index>GetEdgeFace <index>edge <index>side [node:<node>] 

node default value: undefined 

指定のエッジおよび指定の側面を使用した面のインデックスを返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<index>GetEdgeNormal <index>edge <index>end <index>side [node:<node>] 

node default value: undefined 

インデックスの付いたエッジの指定の端にある法線を返します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<void>RebuildNormals [node:<node>] 

node default value: undefined 

法線を再構築します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

<void>RecomputeNormals [node:<node>] 

node default value: undefined 

法線を再計算します。

node : <node> は、Edit Normal モディファイヤが複数のノードに適用されている場合に使用します。これがキーワード引数になっているメソッドについては、単一のノードにこの演算が適用されます。どのノードに演算が適用されるかは、ノードを選択する順序に従います。このため、ノードを指定しないと結果を予測できません。

   

関連事項