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)がオンの場合、[アダプティブ サブディビジョン](Adaptive Subdivisions)が使用されます。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
       GatherSteps Validated by Range: 0 to 1000000
<boolean>ShowLightingStatistics ()

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

<void>AbortLightingStatistics ()

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

<boolean>CanShowLightingStatistics ()

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

<boolean>GetPointIlluminance <&float>result <node>node <point3>point <point3>vertex0 <point3>vertex1 <point3>vertex2
       result is Out parameter

指定した point で照度値が取得できた場合は、true を返します。結果は result Out パラメータに参照で渡され、vertex0vertex1 および 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
    )
<boolean>GetPointLuminance <&float>result <node>node <point3>point <point3>vertex0 <point3>vertex1 <point3>vertex2
       result is Out parameter

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

<boolean>GetPointReflectance <&float>result <node>node <point3>point <point3>vertex0 <point3>vertex1 <point3>vertex2
       result is Out parameter

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

<boolean>GetPointTransmittance <&float>result <node>node <point3>point <point3>vertex0 <point3>vertex1 <point3>vertex2
       result is Out parameter

指定した point で透過率の値が取得できた場合は、true を返します。結果は result Out パラメータに参照で渡され、vertex0vertex1 および 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

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