Physical - superclass: Camera; super-superclass:Node - 53:0 - classID: #(1181315608, 686293133)Exposes the Physical Camera to MAXScript. Available in 3ds Max 2016 and higher.
Constructors:
Physical ...
Physical_Camera ... DOF BOX EXAMPLE:
-- Reset Max File
resetmaxfile #noprompt
-- Set the viewport Matrix
viewport.setTM (matrix3 [1,0,0] [0,0,-1] [0,1,0] [6,-150,-800])
-- Create a box
bx = box width:500 height:300 length:2000 backfacecull:true mapcoords:on
addModifier bx (normalModifier flip:true)
-- Create a checker map with tiling in U and V at 10
mp1 = checker color1:[0,200,255] color2:[255,255,200]
mp1.coords.U_Tiling = 10
mp1.coords.V_Tiling = 10
-- Assign a physical material to the box
bx.material = PhysicalMaterial base_color_map:mp1
-- Create and assign to the scene a Physical_Camera_Exposure_Control
SceneExposureControl.exposureControl = Physical_Camera_Exposure_Control()
-- Create a photometric Freelight
om = Free_Light pos:[0,-300,250] global_ev:6
-- Create a Sphere
sph = sphere radius:50 pos:[0,0,50] segs:32
sph.material = PhysicalMaterial base_color:green
-- Create 2 Teapots
tp1 = teapot radius:50 pos:[80,-250,0]
tp1.material = PhysicalMaterial base_color:red
tp2 = teapot radius:50 pos:[-100,500,0]
tp2.material = PhysicalMaterial base_color:blue
-- Switch to High Quality Viewport
actionMan.executeAction -844228238 "12" -- Viewport Lighting and Shadows: High Quality
-- Create a physical camera from the viewport
macros.run "Lights and Cameras" "PhysicalCamera_CreateFromView"
-- Retrieve the just created camera in the scene "cameras" array
physCam = cameras[1]
-- Place the physical camera target on the sphere
physCam.Target.pos = sph.pos
-- Set a small aperture
physCam.f_number = 0.058
-- Enable Depth of Field in the camera/viewport
physCam.use_dof = on
RESULT:

Basic Rollout
<Physical>.targeted BooleanClass default: true -- booleanGets/sets the state of the "Targeted" checkbox.
When set to True (default), the Camera will look at a dedicated Target object to control its orientation. Looking straight down can cause gimbal lock problems due to the up vector being in the XY plane.
When set to False, the Camera will be free and can be oriented freely without any gimbal lock problems using only its own Transformation controller.
<Physical>.target_distance Float default: 196.85 -- animatable; worldUnitsGets the target distance defined by the distance from the Camera to its Target object when the .targeted value is set to True. Settings this value when in targeted mode will have no effect on the actual distance between the Camera and its Target object, but the value will be stored in the Camera. When the .targeted property is switched to False, the value will be updated to the latest distance between the Camera and its Target Object.
Gets/sets the target distance when the .targeted property is set to False.
<Physical>.show_camera_cone Integer default: 0 -- integerGets/sets the selection of the "Show Camera Cone" drop-down list.
Possible values are:
0 - When Selected (default)
1 - Always
2 - Never
<Physical>.horizon_on BooleanClass default: false -- animatable; boolean; Show_Horizon_LineGets/sets the state of the "Show Horizon Line" checkbox.
When set to True, a line will be displayed at the horizon in the Viewport when looking through the Camera.
Physical Camera Rollout
Film/Sensor Group Of Controls
<Physical>.film_preset String default: "35mm" -- stringGets/sets the selection of the "Preset" drop-down list.
Setting this value will set the .film_width_mm and .fov properties to preset values.
Possible values are:
"35mm" - default - 35mm (Full Frame) - Width 36.0mm
"APS-C (Canon)" - APS-C (Canon) - Width 22.3mm
"APS-C (Nikon)" - APS-C (Nikon, Sony, and so on) - Width 23.7mm
"APS-H (Canon)" - APS-H (Canon) - Width 27.9mm
"Four Thirds" - Four Thirds - Width 17.3mm
"Custom" - Custom - Custom Width
<Physical>.film_width_mm Float default: 36.0 -- animatable; floatGets/sets the value of the "Width" spinner, controlling the film width in millimeters.
Lens Group Of Control
<Physical>.focal_length_mm Float default: 40.0 -- animatable; worldUnits; Lens_Focal_Length_mmGets/sets the value of the "Focal Length" spinner, controlling the Camera's focal length in millimeters.
<Physical>.specify_fov BooleanClass default: false -- booleanGets/sets the state of the "Specify FOV" checkbox.
When set to True, the .fov property will be used to enforce a field of view on the Camera.
When set to False (default). the field of view will be calculated automatically from the Film/Sensor Width, Focal Length, and Zoom values.
<Physical>.fov Float default: 48.112 -- animatable; floatGets/sets the explicit Field Of View value to be used when the .specify_fov property is set to True.
<Physical>.zoom_factor Float default: 1.0 -- animatable; floatGets/sets the value of the "Zoom" spinner.
Increasing this value above 1.0 has the effect of narrowing the Field Of View and zooming in.
Decreasing the value below 1.0 has the effect of widening the Field Of View and thus zooming out.
<Physical>.f_number Float default: 8.0 -- animatable; floatGets/sets the value of the "Aperture" spinner.
It is expressed as f over the .f_number property.
Focus Group Of Controls
<Physical>.specify_focus Integer default: 0 -- animatable; integer; Specify_Focus_DistanceGets/sets the state of the "Focus" radio buttons.
Possible values are:
0 - Use Target Distance - The distance between the Camera and its Target Object, resp. The explicit Target Distance value when in Free mode will be used to define where the subject is in focus.
1 - Custom - The explicit value provided by the .focus_distance property will be used to define the distance where the subject is in focus.
<Physical>.focus_distance Float default: 196.85 -- animatable; worldUnitsGets/sets the value of the "Focus Distance" spinner.
This property is only used when the .specify_focus property is set to 1 (Custom).
<Physical>.lens_breathing_amount Float default: 1.0 -- animatable; floatGets/sets the value of the "Lens Breathing" spinner.
<Physical>.use_dof BooleanClass default: false -- boolean; Enable_DOFGets/sets the state of the "Enable Depth Of Field" checkbox.
Shutter Group Of Controls
<Physical>.shutter_unit_type Integer default: 3 -- integerGets/sets the selection of the "Type" drop-down list.
Possible values are:
0 - 1 / seconds
1 - seconds
2 - degrees
3 - frames (default)
Note that the 0 and 1 modes use a different set of properties to specify the Duration and Offset than the 2 and 3 modes, and their respective values will not synchronize when this property is changed. For example, if the mode is set to 1/Seconds and the Offset is changed to 0.005 (1/200.0 seconds) by setting the .shutter_offset_frames property, switching the UI to Degrees or Frames display will show the Offset to still be 0.0 unless changed explicitly using the .shutter_offset_seconds property.
<Physical>.shutter_length_frames Float default: 0.5 -- animatable; floatGets/sets the value of the "Duration" spinner used when the .shutter_unit_type property is set to 2 (degrees) or 3 (frames).
Note that in the case of Degrees display, the UI will represent the duration in Degrees, while setting the property as frames internally.
For example, setting the property to 1.0 frames will result is a display of 360 degrees in the UI when the Type is set to degrees, and 1.0 when set to frames.
<Physical>.shutter_length_seconds Float default: 0.001 -- animatable; floatGets/sets the value of the "Duration" spinner used when the .shutter_unit_type property is set to 0 (1/seconds) or 1 (seconds).
Note that the value will always be represented as 1/seconds internally, while the UI will change the spinner between 1/Seconds and Seconds according to the .shutter_unit_type property. For example, if the internal value is 0.001, the UI will display it as either 1000.0 or 0.001 depending on the drop-down list settings.
<Physical>.shutter_offset_enabled BooleanClass default: false -- booleanGets/sets the state of the "Offset" checkbox.
When set to False (default), the Shutter Offset will be assumed as 0.0.
When set to True, the Shutter Offset value corresponding to the current Shutter Type (Seconds or Frames) will be used - see the next two properties for details.
<Physical>.shutter_offset_frames Float default: 0.0 -- animatable; floatGets/sets the value of the "Offset" spinner used when the .shutter_unit_type property is set to 2 (degrees) or 3 (frames).
Note that in the case of Degrees display, the UI will represent the duration in Degrees, while setting the property as Frames internally.
For example, setting the property to 0.5 Frames will result in a display of 180 Degrees in the UI when the Type is set to Degrees, and 0.5 when set to Frames.
<Physical>.shutter_offset_seconds Float default: 0.0 -- animatable; floatGets/sets the value of the "Offset" spinner used when the .shutter_unit_type property is set to 0 (1/seconds) or 1 (seconds).
<Physical>.motion_blur_enabled BooleanClass default: false -- booleanGets/sets the state of the "Enable Motion Blur" checkbox.
Exposure Rollout
Exposure Gain Group Of Controls
<Physical>.exposure_gain_type Integer default: 1 -- integerGets/sets the state of the "Exposure Gain" radio buttons.
Possible values are:
0 - Manual -uses the .iso property.
1 - Target (default)- uses the .exposure_value property.
<Physical>.iso Float default: 6000.0 -- animatable; floatGets/sets the value of the "Manual ... ISO" spinner used when the .exposure_gain_type property is set to 0 (Manual).
<Physical>.exposure_value Float default: 6.0 -- animatable; floatGets/sets the value of the "Target ... EV" spinner used when the .exposure_gain_type property is set to 1 (Target).
White Balance Group Of Controls
<Physical>.white_balance_type Integer default: 0 -- integerGets/sets the state of the "White Balance" radio buttons.
Possible values are:
0 - Illuminant (default) - uses the .white_balance_illuminant property.
1 - Temperature - uses the .white_balance_kelvin property.
2 - Custom - uses the .white_balance_custom property.
<Physical>.white_balance_illuminant Integer default: 0 -- integerGets/sets the selection of the "Illuminant" drop-down list used when the .white_balance_type property is set to 0.
Possible values are:
0 - Daylight (6500K)
1 - Sunlight (5200K)
2 - Shade (7000K)
3 - Overcast (6000K)
4 - Incandescent (3200K)
5 - Fluorescent (4000K)
6 - CIE A - Incandescent / Tungsten
7 - CIE D50 - Horizon Light
8 - CIE D55 - Morning/Afternoon Daylight
9 - CIE D65 - Noon Daylight
10 - CIE D75 - Northern Daylight
11 - CIE F1 - Fluorescent Daylight
12 - CIE F2 - Fluorescent Cool White
13 - CIE F3 - Fluorescent White
14 - CIE F4 - Fluorescent Warm White
15 - CIE F5 - Fluorescent Daylight
16 - CIE F6 - Fluorescent Light White
17 - CIE F7 - Fluorescent D65 Simulator
18 - CIE F8 - Fluorescent D60 Simulator
19 - CIE F9 - Fluorescent Cool White Deluxe
20 - CIE F10 - Fluorescent TL-85
21 - CIE F11 - Fluorescent TL-84
22 - CIE F12 - Fluorescent TL-83
23 - Halogen Warn (2800K)
24 - Halogen (3200K)
25 - Halogen Cool (4000K)
26 - HID Ceramic Metal Halide Warm (3000K)
27 - HID Ceramic Metal Halide Cool (4200K)
28 - HID Quartz Metal Halide Warm (3200K)
29 - HID Quartz Metal Halide (4000K)
30 - HID Quartz Metal Halide Cool (6000K)
31 - HID Mercury (3900K)
32 - HID Phosphor Mercury (4000K)
33 - HID Xenon (6000K)
34 - High Pressure Sodium (2100K)
35 - Low Pressure Sodium (1800K)
<Physical>.white_balance_kelvin Float default: 6500.0 -- animatable; float; White_Balance_TemperatureGets/sets the value of the "Temperature" spinner used when the .white_balance_type property is set to 1.
<Physical>.white_balance_custom Color default: (color 255 255 255 0) -- animatable;
fRGBA color;
Controller Scaling: ([1,1,1,1] : (color 255 255 255));
Gets/sets the value of the "Custom" color picker used when the .white_balance_type property is set to 2.
<Physical>.vignetting_enabled BooleanClass default: false -- booleanGets/sets the state of the "Enable Vignetting" checkbox.
When set to True, vignetting will be applied to the rendered image.
When set to False, no vignetting will be applied.
<Physical>.vignetting_amount Float default: 1.0 -- animatable; floatGets/sets the value of the "Amount" spinner controlling the Vignetting Amount when .vignetting_enabled is set to True.
Bokeh (Depth Of Field) Rollout
Aperture Shape Group Of Controls
<Physical>.bokeh_shape Integer default: 0 -- animatable; integerGets/sets the state of the "Aperture Shape" radio buttons.
Possible values are:
0 - Circular (default)
1 - Bladed
2 - Custom Texture
<Physical>.bokeh_blades_number Integer default: 7 -- animatable; integerGets/sets the value of the "Blades" spinner used when .bokeh_shape is set to 1.
It controls the number of Bokeh effect blades.
<Physical>.pb_bokeh_blades_rotation_degrees Float default: 0.0 -- animatable; float; Bokeh_Blades_Rotation_DegreesGets/sets the value of the "Rotation" spinner used when .bokeh_shape is set to 1.
It defines the rotation in degrees of the Bokeh effect blades.
<Physical>.bokeh_texture UndefinedClass default: undefined -- texturemap; Bokeh_BitmapGets/sets the custom Bokeh textureMap used when .bokeh_shape is set to 2.
<Physical>.bokeh_texture_affect_exposure BooleanClass default: true -- boolean; Bokeh_Bitmap_Affect_ExposureGets/sets the state of the "Affect Exposure" checkbox used when .bokeh_shape is set to 2.
When set to True (default), the Bokeh texture will also affect the Exposure.
<Physical>.bokeh_center_bias Float default: 0.0 -- animatable; floatGets/sets the value of the "Center Bias (Ring Effect)" slider.
<Physical>.bokeh_optical_vignetting Float default: 0.0 -- animatable; floatGets/sets the value of the "Optical Vignetting (Cat Eye)" slider.
<Physical>.bokeh_anisotropy Float default: 0.0 -- animatable; floatGets/sets the value of the "Anisotropy (Anamorphic Lens)" slider.
Valid range is from -1.0 (vertical) to 1.0 (horizontal).
Perspective Control Rollout
Lens Shift Group Of Controls
<Physical>.horizontal_shift Float default: 0.0 -- animatable; float; Controller Scaling: (1 : 100.0); Gets/sets the value of the "Horizontal" spinner.
Negative values shift the image to the left.
Positive values shift the image to the right.
<Physical>.horizontal_shift Float default: 0.0 -- animatable; float; Vertical_Shift; Controller Scaling: (1 : 100.0Gets/sets the value of the "Vertical" spinner.
Negative values shift the image down.
Positive values shift the image up.
Tilt Correction Group Of Controls
<Physical>.horizontal_tilt_correction Float default: 0.0 -- animatable; floatGets/sets the value of the "Horizontal" spinner.
<Physical>.vertical_tilt_correction Float default: 0.0 -- animatable; floatGets/sets the value of the "Vertical" spinner.
<Physical>.auto_vertical_tilt_correction BooleanClass default: false -- animatable; booleanGets/sets the state of the "Auto Vertical Tilt Correction" checkbox.
Lens Distortion Rollout
<Physical>.distortion_type Integer default: 0 -- integerGets/sets the state of the "Distortion Type" radio buttons.
Possible values are:
0 - None (default)
1 - Cubic
2 - Texture
<Physical>.distortion_cubic_amount Float default: 0.0 -- animatable; floatGets/sets the value of the "Amount" spinner used when the .distortion_type property is set to 1.
<Physical>.distortion_texture UndefinedClass default: undefined -- texturemapGets/sets the texture map used when the .distortion_type property is set to 2.
Miscellaneous Rollout
Clipping Planes Group Of Controls
<Physical>.clip_on BooleanClass default: false -- boolean; Clipping_EnabledGets/sets the state of the "Enable" checkbox.
When set to False (default), automatic clipping will be performed.
When set to True, the Near and Far clipping values will be used.
<Physical>.clip_near Float default: 0.0 -- animatable; worldUnits; Clipping_Near<Physical>.near_clip Float default: 0.0 -- animatable; alias for clip_near<Physical>.nearclip Float default: 0.0 -- animatable; alias for clip_nearGets/sets the value of the "Near" spinner used when the .clip_on property is set to True.
It defines the distance from the Camera position to the Near Clipping Plane in world units. Any points closer to the Camera than this distance will not be rendered.
<Physical>.clip_far Float default: 39370.1 -- animatable; worldUnits; Clipping_Far<Physical>.far_clip Float default: 39370.1 -- animatable; alias for clip_far<Physical>.farclip Float default: 39370.1 -- animatable; alias for clip_farGets/sets the value of the "Far" spinner used when the .clip_on property is set to True.
It defines the distance from the Camera position to the Far Clipping Plane in world units.
Any points farther from the Camera than this distance will not be rendered.
Environment Range Group Of Controls
<Physical>.environment_far Float default: 39370.1 -- animatable; worldUnits; Environment_Range_Far<Physical>.farrange Float default: 39370.1 -- animatable; alias for environment_farGets/sets the value of the "Near Range" spinner.
Used by Camera-based Atmospheric Effects like Fog to define the near range of the effect.
<Physical>.environment_near Float default: 0.0 -- animatable; worldUnits; Environment_Range_Near<Physical>.nearrange Float default: 0.0 -- animatable; alias for environment_nearGets/sets the value of the "Far Range" spinner.
Used by Camera-based Atmospheric Effects like Fog to define the far range of the effect.
Not Exposed In The User Interface
<Physical>.show_focus_plane_in_cam_view BooleanClass default: false -- animatable; boolean; Show_Focus_Plane_in_Camera_ViewWhen set to False, the semi-transparent Focus Plane will not be drawn when the viewport is set to the Physical Camera.
When set to True, the semi-transparent Focus Plane will be visible in the Physical Camera viewport.