Radiosity : RadiosityEffect

Radiosity - superclass: RadiosityEffect; super-superclass:MAXWrapper - classID: #(2036089192, 1721374773) 
 

   

ライティングとレンダリング - クイック ナビゲーション

この RadiosityEffect は Autodesk VIZ 4 で初めて実装され、3ds Max 5 以降で使用できます。

3ds Max コンストラクタ

Radiosity... 	 
Discreet_Radiosity ... 

Autodesk VIZ コンストラクタ

Discreet_Radiosity ... VIZ_Radiosity... 
注: Discreet_Radiosity コンストラクタは、互換性を保つためにスクリプト内で使用します。

   

プロパティ

<Radiosity>.lightUnitsUsed Integer default: 0 -- integer; Light_Units_in_Use 

ラジオシティで使用されるライト単位を取得/設定します。

有効な値は次のとおりです。

0 - International

1 - American

注:

[カスタマイズ](Customize) > [単位設定](Units Setup)ダイアログ ボックスでライト単位を変更すると、現在割り当てられている RadiosityEffect に影響を与えます。MAXScript を使用して値を設定すると、現在割り当てられている RadiosityEffect が使用する単位が変更されますが、[カスタマイズ](Customize)/[単位設定](Units Setup)ダイアログ ボックスには影響しません。

   

<Radiosity>.radProcessInRenderOnly Boolean default: false -- boolean; Process_in_Radiosity_Only 

[ラジオシティ処理パラメータ](Radiosity Processing Parameters)ダイアログ ボックスの[開始](Start)ボタンの状態を取得/設定します。この値を true に設定すると、このボタンは無効になり、ラジオシティ処理がレンダラーのみによって開始されます。 false に設定すると、ユーザがボタンを押すことによって手動で処理を開始できます。

[ラジオシティ処理パラメータ](Radiosity Processing Parameters)ロールアウト

   

<Radiosity>.radInitialQuality Float default: 85.0 -- float; Initial_Quality 

[初期品質](Initial Quality)の値をパーセント単位で取得/設定します。

   

<Radiosity>.radGlobalRefineSteps Integer default: 0 -- integer; Refine_Iterations_Done 

[反復によるリファイン (すべてのオブジェクト)](Refine Iterations (All Objects))の値を取得/設定します。

   

<Radiosity>.radSelectionRefineSteps Integer default: 0 -- integer; Selection_Refine_Steps 

[反復によるリファイン (選択したオブジェクト)](Refine Iterations (Selected Objects))の値を取得/設定します。

   

<Radiosity>.radProcessObjectRefineSteps Boolean default: true -- boolean; processObjectRefineSteps 

[処理結果をオブジェクトに保持](Process Refine Iterations Stored in Objects)ダイアログ ボックスの状態を取得/設定します。 true に設定すると、反復によるリファインが[オブジェクト プロパティ](Object Properties) > [ラジオシティ](Radiosity)タブ > [反復によるリファイン](Refine Iterations)で設定されます。false のとき、これらのオブジェクト固有の設定は無視されます。

   

<Radiosity>.radFiltering Integer default: 0 -- integer; Filtering 

[インタラクティブ ツール](Interactive Tools)コントロール領域の[間接照明フィルタリング](Indirect Light Filtering)の値を取得/設定します。

   

<Radiosity>.radDirectFiltering Integer default: 0 -- integer; Filtering 

[インタラクティブ ツール](Interactive Tools)コントロール領域の[直接照明フィルタリング](Direct Light Filtering)の値を取得/設定します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.radDisplayInViewport Boolean default: true -- boolean; Display_in_Viewport 

[インタラクティブ ツール](Interactive Tools)コントロール領域の[ビューポートにラジオシティを表示](Display Radiosity in Viewport)チェックボックスの状態を取得/設定します。ビューポート内のラジオシティのインタラクティブ表示を有効にします。

[ラジオシティ メッシュ パラメータ](Radiosity Meshing Parameters)ロールアウト

   

<Radiosity>.meshingEnabled Boolean default: false -- boolean; Enable_Meshing 

[グローバル サブディビジョン設定](Global Subdivision Settings)コントロール領域の[有効](Enabled)チェックボックスの状態を取得/設定します。true に設定すると、ユーザ定義のグローバル メッシュ サイズが有効になり、 .useAdaptiveMeshing を true に設定した場合はアダプティブ サブディビジョンが有効になります。

   

<Radiosity>.useAdaptiveMeshing BooleanClass default: true -- boolean; Use_Adaptive_Meshing 

[アダプティブ サブディビジョンを使用](Use Adaptive Subdivision)チェックボックスをオンまたはオフにします。true に設定し、[グローバル サブディビジョン設定](Global Subdivision Settings) > [有効](Enabled)チェックボックス(. meshingEnabled )がオンの場合、アダプティブ サブディビジョンが使用されます。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.meshingSize Float default: 36.0 -- animatable; world units; Meshing_Size 

[メッシュ設定](Mesh Settings)コントロール領域で最大メッシュ サイズの値を取得/設定します。3ds Max 8 以前のバージョンでは、この値は「メッシュのサイズ」と呼ばれていました。

   

<Radiosity>.minimumMeshSize Float default: 3.0 -- animatable; worldUnits; Minimum_Mesh_Size 

[メッシュ設定](Mesh Settings)コントロール領域で最小メッシュ サイズの値を取得および設定します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.contrastThreshold Float default: 75.0 -- animatable; percent; Contrast_Threshold 

[メッシュ設定](Mesh Settings)コントロール領域でコントラストのしきい値を取得します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.initialMeshSize Float default: 12.0 -- animatable; worldUnits; Initial_Mesh_Size 

[メッシュ設定](Mesh Settings)コントロール領域で初期メッシュ サイズの値を取得/設定します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.shootDirectLights BooleanClass default: true -- boolean; Shoot_Direct_Lights 

[ライト設定](Light Settings)コントロール領域の[直接照明を当てる](Shoot Direct Lights)チェックボックスの状態を取得/設定します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.includePointLights BooleanClass default: true -- boolean; Include_Point_Lights 

[ライト設定](Light Settings)コントロール領域の[ポイント ライトをサブディビジョン処理に含める](Include Point Lights in Subdivision)チェックボックスの状態を取得/設定します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.includeLinearLights BooleanClass default: true -- boolean; Include_Linear_Lights 

[ライト設定](Light Settings)コントロール領域の[線形ライトをサブディビジョン処理に含める](Include Linear Lights in Subdivision)チェックボックスの状態を取得/設定します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.includeAreaLights BooleanClass default: true -- boolean; Include_Area_Lights 

[ライト設定](Light Settings)コントロール領域の[エリア ライトをサブディビジョン処理に含める](Include Area Lights in Subdivision)チェックボックスの状態を取得/設定します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.includeSkylight BooleanClass default: false -- boolean; Include_Skylight 

[ライト設定](Light Settings)コントロール領域の[スカイライトを含める](Include Skylight)チェックボックスの状態を取得/設定します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.includeSelfEmittingLights BooleanClass default: false -- boolean; Include_Self_Emitting_Faces 

[ライト設定](Light Settings)コントロール領域の[自己発生面をサブディビジョン処理に含める](Include Self-Emitting Faces in Subdivision)チェックボックスの状態を取得/設定します。3ds Max 8 以降 で使用可能です。

   

<Radiosity>.minimumSelfEmittingSize Float default: 6.0 -- animatable; worldUnits; Minimum_Self_Emitting_Size 

[ライト設定](Light Settings)コントロール領域の[最小自己発光サイズ](Minimum Self-Emitting Size)スピナーの値を取得/設定します。3ds Max 8 以降 で使用可能です。

[ライト ペインティング](Light Painting)ロールアウト

   

<Radiosity>.lightPaintingIntensity Float default: 500.0 -- float; Light_Painting_Intensity 

[ライト ペインティング強度](Light Painting Intensity)の値をルクス単位で取得/設定します。

   

<Radiosity>.lightPaintingPressure Float default: 10.0 -- float; Light_Painting_Pressure 

[ライト ペインティング圧力](Light Painting Pressure)の値をパーセント単位で取得/設定します。

[レンダリング パラメータ](Rendering Parameters)ロールアウト

   

<Radiosity>.rmReuseDirectIllumination Boolean default: false -- boolean; Re_Use_Direct_Illumination 

[ラジオシティ ソリューションの直接光を再利用](Re-Use Direct Illumination from Radiosity Solution)/[直接光でレンダリング](Render Direct Illumination)ラジオボタンの状態を取得/設定します。 true に設定すると、ラジオシティ ソリューションの直接光が再利用されます。 false に設定すると、直接光はレンダリングされます。

   

<Radiosity>.rmRegather Boolean default: false -- boolean; Regather 

[間接光をリギャザー](Regather Indirect Illumination)チェックボックスの状態を取得/設定します。 true に設定すると、間接光はリギャザーされます。

   

<Radiosity>.rmRaysPerSample Integer default: 64 -- integer; Rays_per_Sample 

[各サンプルのレイ数](Rays per Sample)の値を取得/設定します。

   

<Radiosity>.rmFilterRadius Float default: 2.5 -- float; Filter_Radius 

[フィルタの半径](Filter Radius)の値をピクセル単位で取得/設定します。

   

<Radiosity>.rmClampEnabled Boolean default: false -- boolean; Clamp_Enabled 

[クランプ値](Clamp Value)チェックボックスの状態を取得/設定します。

   

<Radiosity>.rmClampValue Float default: 10000.0 -- float; Clamp_Value 

[クランプ値 (cd/m^2)](Clamp Values (cd/m^2))パラメータの値を取得/設定します。 rmClampEnabled が true に設定されているとき、 rmClampValue を超える値がクランプされます。

   

<Radiosity>.rmAdaptiveEnabled Boolean default: false -- boolean; Adaptive_Enabled 

[アダプティブ サンプリング](Adaptive Sampling)チェックボックスの状態を取得/設定します。

   

<Radiosity>.rmSampleSpacing Integer default: 3 -- integer; Sample_Spacing 

[サンプル間隔](Sample Spacing)の値を取得/設定します。

有効な値は次のとおりです。

0 - 2x2

1 - 4x4

2 - 8x8

3 - 16x16

4 - 32x32

   

<Radiosity>.rmSubdivisionContrast Float default: 5.0 -- float; Subdivision_Contrast 

[サブディビジョンのコントラスト](Subdivision Contrast)の値を取得/設定します。

   

<Radiosity>.rmMinSampleSpacing Integer default: 1 -- integer; Minimum_Sample_Spacing 

最小サンプル間隔を取得/設定します。

有効な値は次のとおりです。

0 - 1x1

1 - 2x2

3 - 8x8

4 - 16x16

5 - 32x32

6- 64x64

   

<Radiosity>.rmShowSamples Boolean default: false -- boolean; Show_Samples 

[サンプルを表示](Show Samples)チェックボックスの状態を取得/設定します。

[統計](Statistics)ロールアウト

   

<Radiosity>.statSolutionQuality Float default: 0.0 -- float; Solution_Quality 

[統計](Statistics)ロールアウトの[ソリューション品質](Solution Quality)の値が入ります。読み込み専用です。

   

<Radiosity>.statRefineIterations Integer default: 0 -- integer; Refine_Iterations_Done 

[統計](Statistics)ロールアウトの[反復のリファイン](Refine Iterations)の値が入ります。読み込み専用です。

   

<Radiosity>.elapsedTime Integer default: 0 -- integer; Elapsed_Time 

ラジオシティ ソリューションを処理するために使われる時間 (秒)。読み込み専用です。

   

<Radiosity>.statNumGeomObjects Integer default: 0 -- integer; Number_of_Geometric_Objects 

[統計](Statistics)ロールアウトの[ジオメトリック オブジェクト](Geometric Objects)の値が入ります。読み込み専用です。

   

<Radiosity>.statMeshSize Float default: 36.0 -- float; Meshing_Size 

[統計](Statistics)ロールアウトの[メッシュ サイズ](Meshing Size)の値が入ります。読み込み専用です。

   

<Radiosity>.statNumLightObjects Integer default: 0 -- integer; Number_of_Light_Objects 

[統計](Statistics)ロールアウトの[ライト オブジェクト](Light Objects)の値が入ります。読み込み専用です。

   

<Radiosity>.statNumFaces Integer default: 0 -- integer; Radiosity_scene_faces 

[統計](Statistics)ロールアウトの[メッシュ エレメント](Mesh Elements)の値が入ります。読み込み専用です。

ラジオシティ インタフェース:

   

Interface:srrOps 

メソッド:

   

<void>Start () 

ラジオシティ計算を開始します。

   

<void>Stop () 

ラジオシティ計算を開始します。

   

<void>Reset <boolean>resetGeometry <boolean>noWarningDialog 

ラジオシティ ソリューションをリセットします。 resetGeometry パラメータは、ジオメトリをリセットするかどうかもコントロールします。 noWarningDialog は、リセット警告ダイアログ ボックスを表示するかどうかをコントロールします。

   

<void>GatherObjects <&node array>Nodes <integer>GatherSteps 

   

Nodes is In parameter GatherSteps Validated by Range: 0 to 1000000 

   

<boolean>ShowLightingStatistics () 

[ライト分析](Lighting Analysis)ダイアログ ボックスを表示します。成功の場合は true 、シーン内にラジオシティ ソリューションがない場合は false を返します。

   

<void>AbortLightingStatistics () 

[ライト分析](Lighting Analysis)ダイアログ ボックスが開いている場合は、閉じます。

   

<boolean>CanShowLightingStatistics () 

[照明分析](Lighting Analysis)ダイアログ ボックスを表示できる場合は true 、それ以外の場合は false を返します。

   

<bool>GetPointIlluminance <&float>result <node>node <&point3>point <&point3>vertex0 <&point3>vertex1 <&point3>vertex2 

   

result is Out parameter point is In parameter vertex0 is In parameter vertex1 is In parameter vertex2 is In parameter 

指定した point で照度値が取得できた場合は、 true を返します。結果は result Out パラメータに参照で渡され、 vertex0 、 vertex1 および vertex2 は、point が常駐する面の頂点インデックスに参照で渡されます。

例

sceneRadiosity.radiosity = Radiosity()
obj = plane()
convertToMesh obj
for i in 1 to obj.numFaces do
(
myFace = getFace obj i
myverts = # ()
myverts[1] = getVert obj myFace.x
myverts[2] = getVert obj myFace.y
myverts[3] = getVert obj myFace.z
midPoint = (myverts[1] + myverts[2] + myverts[3])/3
PointVal = 0.0
sceneRadiosity.Radiosity.GetPointIlluminance &pointVal obj midPoint myverts[1] myverts[2] myverts[3]
format "Face %: %\n" i pointVal
)

   

<bool>GetPointLuminance <&float>result <node>node <&point3>point <&point3>vertex0 <&point3>vertex1 <&point3>vertex2 

   

result is Out parameter point is In parameter vertex0 is In parameter vertex1 is In parameter vertex2 is In parameter 

指定した point で輝度値が取得できた場合は、 true を返します。結果は result Out パラメータに参照で渡され、 vertex0 、 vertex1 および vertex2 は、point が常駐する面の頂点インデックスに参照で渡されます。

   

<bool>GetPointReflectance <&float>result <node>node <&point3>point <&point3>vertex0 <&point3>vertex1 <&point3>vertex2 

   

result is Out parameter point is In parameter vertex0 is In parameter vertex1 is In parameter vertex2 is In parameter 

指定した point で反射率の値が取得できた場合は、 true を返します。結果は result Out パラメータに参照で渡され、 vertex0 、 vertex1 および vertex2 は、point が常駐する面の頂点インデックスに参照で渡されます。

   

<bool>GetPointTransmittance <&float>result <node>node <&point3>point <&point3>vertex0 <&point3>vertex1 <&point3>vertex2 

   

result is Out parameter point is In parameter vertex0 is In parameter vertex1 is In parameter vertex2 is In parameter 

指定した point で透過率の値が取得できた場合は、 true を返します。結果は result Out パラメータに参照で渡され、 vertex0 、 vertex1 および vertex2 は、point が常駐する面の頂点インデックスに参照で渡されます。

例

--Show the scene radiosity ReferenceTarget object:
sceneRadiosity.radiosity
--> ReferenceTarget:Radiosity
--Reset the Scene Radiosity solution completely, allow warning:
sceneRadiosity.radiosity.Reset true false
--> OK
--Start new Radiosity Processing:
sceneRadiosity.radiosity.Start ()
--> OK
--Stop the Radiosity Processing:
sceneRadiosity.radiosity.Stop ()
--> OK
--Check whether the Lighting Analysis dialog can be displayed
sceneradiosity.radiosity.CanShowLightingStatistics ()
--> true
--Display the Lighting Analysis dialog
sceneradiosity.radiosity.ShowLightingStatistics ()
--> true
--Close the Lighting Analysis dialog
sceneradiosity.radiosity.AbortLightingStatistics ()
--> OK

3ds Max 6 以降では、次のインタフェースによって、MAXScript がラジオシティ メッシュにアクセスできます。

   

Interface: srrRadiosityMesh 

メソッド:

   

<boolean>doesSolutionExist () 

ラジオシティ ソリューションが存在する場合、 true を返します。

   

<boolean>doesMeshExist <node>node 

指定されたノードにラジオシティ メッシュがある場合、 true を返します。

   

<boolean>isMeshValid <node>node 

指定されたノードに有効なラジオシティ メッシュがある場合、 true を返します。

   

<interval by value>getMeshValidity <node>node 

指定したノードのラジオシティ メッシュの有効性の間隔を返します。

   

<mesh by value>getMesh <node>node 

ノードのラジオシティ メッシュを返します。

   

<interval by value>getMeshTMValidity <node>node 

ラジオシティ メッシュの変換行列の有効性の間隔を返します。

   

<matrix3 by value>getMeshTM <node>node 

指定されたノードのラジオシティ メッシュの変換行列を返します。

関連事項