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>.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>.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 以降 で使用可能です。
<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)の値をパーセント単位で取得/設定します。
<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)チェックボックスの状態を取得/設定します。
<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 パラメータに参照で渡され、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 )
<boolean>GetPointLuminance <&float>result <node>node <point3>point <point3>vertex0 <point3>vertex1 <point3>vertex2
result is Out parameter
指定した point
で輝度値が取得できた場合は、true
を返します。結果は result
Out パラメータに参照で渡され、vertex0
、vertex1
および vertex2
は、point が常駐する面の頂点インデックスに参照で渡されます。
<boolean>GetPointReflectance <&float>result <node>node <point3>point <point3>vertex0 <point3>vertex1 <point3>vertex2
result is Out parameter
指定した point
で反射率の値が取得できた場合は、true
を返します。結果は result
Out パラメータに参照で渡され、vertex0
、vertex1
および vertex2
は、point が常駐する面の頂点インデックスに参照で渡されます。
<boolean>GetPointTransmittance <&float>result <node>node <point3>point <point3>vertex0 <point3>vertex1 <point3>vertex2
result is Out 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
指定されたノードのラジオシティ メッシュの変換行列を返します。