COMMANDS IN DETAIL
To recap: commands must consist of at least three elements: the command type, the layer type, and the target group. This was explained in The Group-Command Relationship section.

 

Subcommands
Commands may also consist of more elements called subcommands. Subcommands are either scene commands, or directives for groups. They are inserted into the main command string, and are separated by periods (.). They are inserted right after the layer type. Here is an example of a command that contains subcommands (underscored for emphasis):

BTY.BG.MULTIPLIER2.bgColor255,255,255.AA6.Airplane

The subcommands (and their interpreted values) in the line above are:

MULTIPLIER2 (Resolution Multiplier: 0.5)
bgColor255,255,255 (Backdrop Color: 255,255,255)
AA6 (Antialiasing 7-PLD)

Subcommands are case-insensitive. Also note that they reside between the layer type and the target group. Subcommands also follow strict syntax rules, discussed next.

 

Subcommand Syntax
Subcommands follow a somewhat logical syntax rule, based on what kind of parameter is being changed. Because the subcommand list is a bit long, I will only delineate the kinds of formatting you will encounter. The complete list of subcommands is listed after this subsection.

Two-String Format (i.e. REPLACE)
Unique among other subcommands, REPLACE may accept two strings, or text entries. The two text entries must be enclosed in their own respective pair of quotation marks (“), and have no space between them. They should simply be together. They should look like this:

REPLACEACTIVE”searchString””replaceString”

Single-String Format (i.e. OUTPUTSUBDIR)
Other subcommands only accept one string, like OUTPUTSUBDIR. However, just like REPLACEACTIVE and REPLACEOTHER the text entries must be enclosed in a pair of quotation marks.

OUTPUTSUBDIR"fog"

ON-OFF Format (i.e. RTSHADOW)
Some subcommands only accept an “OFF” or “ON” parameter. The word “OFF” or “ON” (whatever case you want to use) must precede these commands without any space between them:

rtShadowON
rtShadowOFF

Extended-Single-String Format (i.e. ENV, VOL, PIX, IMG)
Some subcommands like ENV, VOL, PIX, and IMG have extended parameters that will no doubt cause confusion at the beginning. They must be followed strictly or the subcommand will be ignored. Because ENV, VOL, PIX, and IMG are unique in this sense I will take time to explain them, with ENV serving as our example subcommand. ENV must be followed by either “ON” or “OFF” signifying the user's initial intention. If no other parameter is inputted, PE assumes that all Environmental plugins are to be turned on or off.

ENVON

But if you specify a string or text containing the plugin's name, or part of the plugin's name, then plugins of that name will be turned on or off.

ENVON”ImageWorld”

However, what if you want to simply turn on or off the plugin except the one you specified. If you wish to exclude your specified plugin name, you must input “EX” just before you input the plugin's name:

ENVONEX”ImageWorld”

Furthermore, Janus gives more specific control over this. Although unlikely, suppose you had two instances of ImageWorld. You can turn one off and the other one on by specifying an instance number. If you wanted to turn the second ImageWorld plugin off you specify the plugin's name, follow it with a period (.) and the number of the instance:

ENVOFF”ImageWorld.2”

Note that the number '2' does not mean the second slot in the list of the plugins. It means the second instance of that particular plugin's name. On the other hand, you can also specify a slot number for enabling or disabling instead of using a name:

ENVOFF”.3”

The subcommand above will disable the plugin on the third slot. Note that a period must go before the number. This is the syntax rule. As of this moment, ENV, VOL, PIX, and IMG may only appear once each in one command line. If ENV appears twice in the command, only the right-most subcommand will be recognised.

Integer Format (i.e. MOTBLUR, AA)
Some subcommands accept a single number like MOTBLUR or AA. These numbers (integers) are index numbers from a existing list of values. This list can be accessed in the main interface. If you use the popdown menu in the interface you will find a number beside the setting. Use this as a reference to input subcommand parameters manually.

FRAMESIZE2 (SVGA (800x600))

In this example the index number 2 refers to SVGA (800x600) (you are looking at the list of camera resolutions).

Integer-Math Format (i.e. PATCH)
Certain subcommands accept parameters that perform basic math operations. Most notable of them is PATCH. This subcommand will accept an integer at face value: PATCHACTIVE3 will dial up an active group's subpatch level to 3. But they can also be inputted with four basic math operators to modify, instead of simply replacing the old values. PATCHACTIVE/2 will take each object individually, look at its current subpatch level and then divide it by two. In the same manner PATCHACTIVE+3 will add three levels of subpatch divisions to the active group. Remember that they are applied on the GROUP but on a per-object basis. One limitation is that you must always use integers. Janus will not grok a subcommand like:

PATCHACTIVE*.5 <- invalid parameters due to period (.) Use PATCHACTIVE/2 for the same effect.

Another limitation is that multiple operators are not supported:

PATCHACTIVE*2/3+1 <- invalid parameters - only one operator allowed

Color Format (i.e. BGCOLOR)
Subcommands like BGCOLOR and AMBCOLOR accept color parameters expressed in RGB. The three numbers range from 0-255, must be separated by a comma (,) and must be joined with subcommand (e.g. no whitespace in between):

BGCOLOR125,50,255

Float Format (i.e. SHUTTERREF)
Subcommands that use floating-point numbers must be enclosed in quotation marks.

SHUTTEREFF".34"

 

SUBCOMMAND LIST
Here are the list of available commands in Janus. They are categorised in seven (7) groups, and you will see these groups arranged accordingly in the interface. These six groups are Camera, Scene, Render Globals, Light, GI (Global Illumination), Object, and Miscellaneous (Misc). Note that despite using upper-case in these examples they are actually case-insensitive.

Subcommands marked with an asterisk (*) are not yet supported.

 

CAMERA SUBCOMMANDS
Camera subcommands control aspects only of the rendering camera.

RENDERCAM"<string>"
Specifies which camera is used for this render. Ordinarily, the currently selected camera would be used. But you may also ensure the correct camera is rendered, or when you wish to render out multiple cameras, to specify this pass's render camera.

CAMTYPE<"PERSPECTIVE"|"REALLENS"|"SURFACEBAKING"|"ORTHOGRAPHIC"|"ADVANCED">
Specifies the type of the rendering camera. The above LightWave-native cameras have shorthand versions. These are:

All of these keywords are case-insensitive. Remember to enclose them in quotation marks.

CAMTYPE"persp"

When using third-party cameras be sure to spell the handler's name correctly, and follow the its upper- and lower-casing as it appears in the ASCII scene file. Janus will give out a warning if a third-party camera is being used, but will not be able to check if you have spelled the name correctly.

You may also specify a pre-saved CameraHandler data block. See Plugin Data / Data Blocks section to learn more about saving Plugin Data Blocks.

FRAMESIZE<int>
Specifies a pre-set frame size. Provide an integer corresponding to its index in its list.

MULTIPLIER<int>
Specifies the resolution multiplier. Provide an integer corresponding to its index in its list.

USERFRAMESIZE"<ResX> <ResY>"
Specifies a user-defined frame size. Provide width and height in pixels separated by a whitespace, both enclosed in quotation marks .Note that USERFRAMESIZE has higher priority than FRAMESIZE; if both USERFRAMESIZE and FRAMESIZE are used in one process, USERFRAMESIZE's values will be used.

USERMULTIPLIER"<num>"
Specifies a user-defined resolution multiplier. Provide a number enclosed in quotation marks. Note that USERMULTIPLIER has higher priority than MULTIPLIER; if both USERMULTIPLIER and MULTIPLIER are used in one process, USERMULTIPLIER's values will be used.

PIXELASPECT"<num>"
Specifies a user-defined pixel aspect ratio. Provide a number enclosed in quotation marks. By default, pixel aspect ratio is determined by the chosen preset in FRAMESIZE. If PIXELASPECT is used, the pixel aspect ratio of the resolution preset, if any are used, will be overriden by this subcommand.

FIELD<int>
Specifies Field Rendering parameters.

AA<int>
Specifies antialiasing level. Provide an integer corresponding to its index in its list.

RCFILTER<int>
Specifies Reconstruction Filter level. Provide an integer corresponding to its index in its list.

MOTBLUR<int>
Specifies the level of motion blur. Provide an integer corresponding to its index in its list.

AASAMPLES<int> (LW9.x only)
Specifies antialiasing samples. This is specific to LightWave 9.x only.

OVERSAMPLE"<float>" (LW9.x only)
Specifies antialias samples. This is specific to LightWave 9.x only.

BLURPASS<int> (LW9.x only)
Specifies the number of motion blur passes. This is specific to LightWave 9.x only.

SHUTTEREFF"<float>" (LW9.x only)
Specifies shutter efficiency. This is specific to LightWave 9.x only.

SAMPLINGPATTERN<int> (LW9.x only)
Specifies sampling pattern type. This is specific to LightWave 9.x only.

ADAPTIVESAMPLING<ON|OFF> (LW9.x only)
Specifies if Adaptive Sampling is switched on or off. This is specific to LightWave 9.x only.

SAMPLINGTHRESHOLD"<float>" (LW9.x only)
Specifies Adaptive Sampling Threshold. This is specific to LightWave 9.x only.

 

CAMERA EFFECTS (CAMFX) SUBCOMMANDS
Camera effects subcommands control sub-set of parameters of the rendering camera.

SOFTFILTER<ON|OFF>
Specifies Field Rendering parameters.

DOF<ON|OFF>
Specifies if Depth-of-Field is switched on or off.

STEREO<ON|OFF>
Specifies if Stereoscopic Rendering is turned on of off.

EYESEP"<float>"
Specifies stereoscopic eye separation in meters.

 

SCENE SUBCOMMANDS
Scene subcommands refer to the options found in the Backdrop, Volumetrics, and Compositing tabs in the Effects panel.

BUFFER<ON/OFF>["<nameOfBuffer>"]|<DATA>"<nameOfBuffer.bufferAttribute.bufferValue.subValues>"
Specifies if Render Buffers are to be used, and which Buffers, if any, are to used. If BUFFERON is used without a specified buffer, Janus assumes that all active buffers are to be turned on. This applies inversely with BUFFEROFF.

BUFFERDATA is functionally BUFFERON, in that it will turn on a buffer, but also allows you specify a buffer name, an attribute to change, and the value to change it to. Depending on the nature of the buffer attribute or buffer value, any number extra subvalues may be inputted. Please see the available Render Buffers' own sections to see what subcommands they support.

BGIMAGE<ON/OFF>|<DATA><"bgImagePreset">
Will deactivate the backdrop image if BGIMAGEOFF is used. Background image may be replaced by using the DATA keyword:

BGIMAGEDATA"myBackgroundImagePreset"

..where, "myBackgroundImagePreset" is a saved Scene Plugin Data. See Plugin Data / Data Blocks section to learn more about saving Plugin Data Blocks.

ENV<ON|OFF>[[EX]"<HandlerName>.<HandlerIndex>"]
Turns Environment Handlers (Plugins) on or off. See the Extended-Single-String Format section for details.

ENVDATA"<PresetPluginParameterName>.<HandlerIndex>"
Adds Environment Handlers (Plugins) with a pre-set plugin data block in Janus_SCENEDEFPLUGIN.cfg. The HandlerIndex value represents the index that you want to add the plugin data into, overwriting any plugin's settings in the block. If HandlerIndex is omitted, the plugin will be added into the next available slot. See Plugin Data / Data Blocks section to learn more about saving Plugin Data Blocks.

ENVDATA"myPreset.1"(overwrites EnvironmentHandler slot 1 with the data block from "myPreset")
ENVDATA"myPreset" (adds "myPreset" data block to list of EnvironmentHandlers)

VOL<ON|OFF>[[EX]"<HandlerName> <HandlerIndex>"]
Turns Volumetric Handlers (Plugins) on or off. See the Extended-Single-String Format section for details.

VOLDATA"<PresetPluginParameterName>.<HandlerIndex>"
Replaces or adds Volumetric Handlers (Plugins) with a pre-set plugin data block in Janus_SCENEDEFPLUGIN.cfg. The HandlerIndex value represents the index that you want to add the plugin data into, overwriting any plugin's settings in the block. If HandlerIndex is omitted, the plugin will be added into the next available slot. Plugin Data / Data Blocks section to learn more about saving Plugin Data Blocks.

VOAA<ON|OFF>
Turns Volumetric Antialiasing on or off.

BGCOLOR<int>,<int>,<int>
Specifies backdrop color. Use values between 0 and 255 for each field.

FOGTYPE<int> | FOGTYPEOFF
Specifies the fog type. If FOGTYPE0 is used then it constitutes the same as a turning off the fog (e.g. FOGTYPEOFF).

FOGMINDIST<"meters">, FOGMAXDIST<"meters">
Specifies the fog's minimum and maximum distances. Specify the value in meters. Do not use the 'm' token, as in "10.1m". Simply use "10.1".

FOGMINAMT<"float">, FOGMAXAMT<"float">
Specifies the fog's minimum and maximum amount. Values are float. 0 is 0% and 1.0 is 100%.

FOGCOLOR<int>,<int>,<int>
Specifies fog's color. Use values between 0 and 255 for each field.

 

PROCESSING SUBCOMMANDS
Scene subcommands refer to the options found in the Processing tab in the Effects panel.

DITHERINT<"int">
Specifies Dither Intensity. Values are indexed:

ANIMATEDDITHER<ON|OFF>
Specifies if Animated Dither is enabled or not.

GLOWEFFECT<ON|OFF>
Specifies if Glow Effect is enabled or not.

GLOWINT<"float">
Specifies Glow Intensity. Values are float. 0 is 0% and 1.0 is 100%.

GLOWRAD<"float">
Specifies Glow Radius. Values are number of pixels (expressed in float)

COLORSAT<"float">
Specifies Color Saturation. Values are float. 0 is 0% and 1.0 is 100%.

LIMITDYNRANGE<ON|OFF>
Specifies if Limit Dynamic Range is enabled or not.

IMG<ON|OFF>[[EX]"<HandlerName> <HandlerIndex>"]
Turns Image Filter Handlers (Plugins) on or off. See the Extended-Single-String Format section for details.

IMGDATA"<PresetPluginParameterName>.<HandlerIndex>"
Adds Image Filter Handlers (Plugins) with a pre-set plugin data block in Janus_SCENEDEFPLUGIN.cfg. The HandlerIndex value represents the index that you want to add the plugin data into, overwriting any plugin's settings in the block. If HandlerIndex is omitted, the plugin will be added into the next available slot. Plugin Data / Data Blocks section to learn more about saving Plugin Data Blocks.

PIX<ON|OFF>[[EX]"<HandlerName> <HandlerIndex>"]
Turns Pixel Filter Handlers (Plugins) on or off. See the Extended-Single-String Format section for details.

PIXDATA"<PresetPluginParameterName>.<HandlerIndex>"
Adds Pixel Filter Handlers (Plugins) with a pre-set plugin data block in Janus_SCENEDEFPLUGIN.cfg. The HandlerIndex value represents the index that you want to add the plugin data into, overwriting any plugin's settings in the block. If HandlerIndex is omitted, the plugin will be added into the next available slot. Plugin Data / Data Blocks section to learn more about saving Plugin Data Blocks.

 

RENDER GLOBALS SUBCOMMANDS
Render Globals subcommands deal with all options in the LightWave's Render Globals.

RENDERMODE[<"wire">]|[<"quick">]|[<"real">]
Specifies the Render Mode. Inputted values must either be one of WIRE, QUICK, or REAL, and the subcommand expects it to be typed out.

RENDERMODE"Quick"

RENDERLINES<ON|OFF>
Turns render lines on or off.

RTSHADOW<ON|OFF>
Turns raytraced shadows on or off.

RTREFLECT<ON|OFF>
Turns raytraced reflections on or off.

RTREFRACT<ON|OFF>
Turns raytraced refractions on or off.

RTTRANSP<ON|OFF>
Turns raytraced transparency on or off.

RTOCC<ON|OFF>
Turns raytraced occlusion on or off.

RAYLIMIT<int>
Specifies Ray Recursion Limit.

SF<int>
Sets the start frame.

EF<int>
Sets the end frame.

BY<int>
Sets the frame step.

FPS<"float">
Sets the frame-per-second in floating point.

OUTFORMAT<"string">
Specifies a specific output format for that render pass. You must input the string as it appears in the popdown in the LightWave render output interface. However, a unique partial match will be acceptable, too. For example:

outformat"tga_32"

..will match "LW_TGA32(.tga)" because there are no other TGA_32 strings. However inputting this:

outformat"LW_TGA"

.. will match the first instance of LW_TGA, which is "LW_TGA24", which may or may not be desirable.

RENDERLINES<ON|OFF>
Sets the render lines off or on.

UNPREMULT<ON|OFF>
Sets the unpremultiply by alpha feature off or on.

 

LIGHT SUBCOMMANDS
Light subcommands are scene-centric light parameters. They do not refer to Lights as items (which are categorised separately as Light Items).

VLIGHT<ON|OFF>
Enables / disables global volumetric lights. (Scene-centric)

SHADOWMAPS<ON|OFF>
Enables / disables global shadow maps. (Scene-centric)

LENSFLARES<ON|OFF>
Enables / disables global lens flares. (Scene-centric)

AMBCOLOR<int>,<int>,<int>
Specifies ambient color. Use values between 0 and 255 for each field. (Scene-centric)

AMBINT"<float>"
Specifies ambient intensity. A value of 1.0 is 100%. (Scene-centric)

GLIGHTINT"<float>"
Specifies the global light intensity. (Scene-centric)

GLIGHTINT".515" (Sets it to 51.5%)
GLIGHTINT"1.25" (Sets it to 125%)

FLAREINT"<float>"
Specifies global lens flare intensity. A value of 1.0 is 100%. (Scene-centric)

DEFLIGHTEXCLUDE"EXCLUDE"|"INCLUDE"
Specifies whether or not the default light exclusion behavior is to include or exclude. DEFLIGHTEXCLUDE is not to be appended with ACTIVE, OTHER, or BOTH since this subcommand merely alters how Janus treats lights for a particular pass. If switched to "Include", lights are turned on by default. If the switch is "Exclude" lights are turned off by default and must be assigned to a group and associated with the render pass for it to be turned on. Remember that even lights follow group directives, so that if a group is directed to be replaced with nulls, lights are deactivated as well. Use this option carefully. Also note that the full string "Exclude" or "Include" must be typed out. It is case-insensitive.

LIGHTPASS<ON/OFF>
Specifies whether or not the current pass would be specially treated as a light pass. This subcommand will instruct Janus to search all the associated groups of this pass for lights. If it finds a group with lights, it regards this as a single light 'unit'. When it collates all of the 'units' Janus divides these 'units' into three parts, assigning red, green, and blue light colors to each of the light 'units.' Then it breaks out one scene per color channel. For example, if you have a scene with seven (7) associated groups each containing lights: Group 1 will be assigned a red color, Group 2 green, Group 3 blue. Then it cycles back to Group 4 assigned as red, Group 5 green, Group 6 blue, and Group 7 red again. In this example, the total number of scenes that will be outputted in the end will be three breakout scenes: Scene 1 will have Groups 1 thru 3, Scene 2 will have Groups 4 thru 6, and Scene 3 will have Group 7.

 

 

LIGHT ITEM SUBCOMMANDS
Light Item subcommands are object-centric light parameters. They are special in this case; Light Item subcommands must be suffixed with ACTIVE, OTHER, or BOTH, denoting the group you intend to apply them to. Then the value for that subcommand follows.

LTAffectSpecularACTIVEOFF (deactivates Affect Specular in Active Group lights)

Please note: item-centric subcommands (including those of the Object subcommands) must be inserted as a subcommand. They do not work as a global setting; that is, even if you tick the checkbox of a Light Item parameter such as Affect Diffuse, this will have no effect. To make it take effect, you must insert the subcommand as text.

LTAFFECTDIFFUSE<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that specified lights will have their Affect Diffuse parameter turned on or off. (Object-centric)

LTAFFECTSPECULAR<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that specified lights will have their Affect Specular parameter turned on or off. (Object-centric)

LTAFFECTCAUSTICS<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that specified lights will have their Affect Caustics parameter turned on or off. (Object-centric)

LTINTENSITY<ACTIVE|OTHER|BOTH>"<float>"
Sets light intensity. (Object-centric)

LTCOLOR<ACTIVE|OTHER|BOTH><int>,<int>,<int>
Sets light color. (Object-centric)

LTTYPE<ACTIVE|OTHER|BOTH><int>|<NOMINAL>
Sets the light type. The following values are allowed. (Object-centric)

0 (Distant)
1 (Point)
2 (Spotlight)
3 (Linear)
4 (Area)
NOMINAL (no change)

LTINTFALLOFF<ACTIVE|OTHER|BOTH><int>|<NOMINAL>
Sets the light intensity falloff type. The following values are allowed. (Object-centric)

0 (None)
1 (Linear)
2 (Inverse Distance)
3 (Inverse Distance ^ 2)
NOMINAL (no change)

LTRANGE<ACTIVE|OTHER|BOTH>"<float>"
Sets light nominal range. (Object-centric)

LTSHADOWTYPE<ACTIVE|OTHER|BOTH><int>|<NOMINAL>
Sets the light's shadow type. The following values are allowed. (Object-centric)

0 (None)
1 (Ray Trace)
2 (Shadow Map)
NOMINAL (no change)

LTSHADOWCOLOR<ACTIVE|OTHER|BOTH><int>,<int>,<int>
Sets light's shadow color. (Object-centric)

LTSHADOWMAPSIZE<ACTIVE|OTHER|BOTH><int>
Sets light's shadow map's resolution size. Expressed in an integer. (Object-centric)

LTSHADOWMAPFUZZ<ACTIVE|OTHER|BOTH>"<float>"
Sets light's shadow map's resolution size. Expressed in a floating-point number. (Object-centric)

LTQUALITY<ACTIVE|OTHER|BOTH>"<float>"
Sets light's quality (for Linear and Area lights). (Object-centric)

LTPROJIMAGE<ACTIVE|OTHER|BOTH>"<ltProjImagePresetName>"
Sets light's projection image. Requires a pre-saved Light Projection Image data block. (Object-centric)

 

GLOBAL ILLUMINATION (GI) SUBCOMMANDS
GI subcommands are specific to radiosity settings.

RADIOSITY<ON|OFF>
Specifies that radiosity is enabled or disabled.

RADTYPE<int>
Specifies radiosity type. The following types are available:

RADINTERPOLATE<ON|OFF>
Specifies that radiosity interpolation is enabled or disabled.

RADTRANSP<ON|OFF>
Specifies that radiosity transparency is enabled or disabled.

RADCACHE<ON|OFF>
Specifies that cache radiosity is enabled or disabled.

RADINT"<float>"
Specifies radiosity intensity in floating-point notation. 1.0 is 100%.

RADTOL"<float>"
Specifies radiosity tolerance.

RADRPE"<int>"
Specifies the number of rays per evaluation.

RADMES"<float>"
Specifies the minimum evaluation spacing, in meters.

RADMPS"<float>"
Specifies the minimum pixel spacing.

RADBOUNCE"<int>"
Specifies the number of radiosity bounces.

RADAMB<ON|OFF>
Specifies to use ambient for radiosity.

RADDIRRAYS<ON|OFF>
Specifies the use of directional rays for radiosity.

RADBLURBG<ON|OFF>
Specifies blurring of background for radiosity.

 

CAUSTICS SUBCOMMANDS
These subcommands are specific to caustics-related parameters.

CAUSTICS<ON|OFF>
Specifies that caustics is enabled or disabled.

CAUSTICSCACHE<ON|OFF>
Specifies that caching of caustics is enabled or disabled.

CAUSTICSINT"<float>"
Specifies caustic intensity, in floating point. .5 is 50% and 1.0 is 100%

CAUSTICSACC"<int>"
Specifies caustic accuracy, as an integer.

CAUSTICSSOFT"<int>"
Specifies caustic softness, as an integer.

 

OBJECT SUBCOMMANDS
Like Light subcommands, Object subcommands must be followed by ACTIVE, OTHER, and BOTH. For example, if you want to switch UnseenByCamera off to the active group:

BTY.BG.UBCACTIVEOFF.myObject

Please note: item-centric subcommands (including those of the Light Item subcommands) must be inserted as a subcommand. They do not work as a global setting; that is, even if you tick the checkbox of an Object parameter such as Unseen By Camera , this will have no effect. To make it take effect, you must insert the subcommand as text.

UBC<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that all associated groups (both active and other groups) will have their UnseenByCamera property turned off or on.

UBR<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that all associated groups (both active and other groups) will have their UnseenByRays property turned off or on.

UBF<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that all associated groups (both active and other groups) will have their UnseenByFog property turned off or on.

UBA<ACTIVE|OTHER|BOTH><"surface"|"unaffected"|"black">
Specifies that all associated groups (both active and other groups) will have their UnseenByAlpha property switched to the mode. Note that the values are case-insensitive.

UBRAD<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that all associated groups (both active and other groups) will have their UnseenByRadiosity property switched to the mode. Note that the values are case-insensitive.

CS<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that all associated groups (both active and other groups) will have their Cast Shadow property turned off or on.

SS<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that all associated groups (both active and other groups) will have their Self Shadow property turned off or on.

RS<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that all associated groups (both active and other groups) will have their Receive Shadow property turned off or on.

MATTECBJECT<ACTIVE|OTHER|BOTH><ON|OFF>
Specifies that all associated groups (both active and other groups) will have their MatteObject property turned off or on.

MATTECOLOR<ACTIVE|OTHER|BOTH><int>,<int>,<int>
Specifies that all associated groups (both active and other groups) will have their MatteObject property turned off or on.

DISSOLVE<ACTIVE|OTHER|BOTH>"<float>"
Sets the Object Dissolve property of the specified groups. Specify the value in floating-point and enclose it in quotation marks.

PATCH<ACTIVE|OTHER|BOTH<"numOperationString">
Specifies subpatch level of the ACTIVE GROUP. You may use a number to set the level, or use four types of operators (+,-,/,*)to change the level.

PATCHACTIVE"/2" (will divide an item's subpatch level by half)
PATCHACTIVE"+1" (will add 1 to the item's subpatch level)

REPLACE<ACTIVE|OTHER|BOTH>"<search_string>""<replace_string>"
REPLACE<ACTIVE|OTHER|BOTH>"<replacementObject.lwo>"
Replaces objects by using a search-and-replace function or a direct object reference replacement. If using search-and-replace, it uses object filenames and their paths, not simply their aliases in LightWave. Object naming convention will play a greater part in leveraging this flexible tool.

REPLACEACTIVE"objects\ROBOT\ROBOT.lwo""objects\ROBOT\ROBOT_OCC.lwo"

This will replace all ROBOT.lwo with ROBOT_OCC.lwo. Alternately, depending on your path and filenames, it can shortened to something like this:

REPLACEACTIVE"ROBOT.""ROBOT_OCC."

You may also use a direct object reference replacement, where you specify only one string pointing to the replacement object.

REPLACEOTHER"shadowCatcher.lwo"

 

OBJECT DATA SUBCOMMANDS
Object Data subcommands are those that involve data blocks, or plugin settings.

Please note: item-centric subcommands, such as Object Data must be inserted as a subcommand. They do not work as a global setting; that is, even if you tick the checkbox of an Object parameter such as Clip Map Data , this will have no effect. To make it take effect, you must insert the subcommand as text.

OBJPLUGIN_DM<ACTIVE|OTHER|BOTH>[ON|OFF][<"dataBlockName">]<"dataBlockName"> Specifies the Displacement Map handler data block preset name to use. Note that specifying a preset (e.g. "dataBlockName") will add that preset into the object, but will remove all other plugins of the same type from the object.

objPlugin_DMBOTHOn (turns plugins on)

objPlugin_DMBoth"dm_test1" (adds dm_test1 preset as a DisplacementHandler while stripping all other existing DisplacementHandlers)

OBJPLUGIN_CO<ACTIVE|OTHER|BOTH>[ON|OFF][<"dataBlockName">]<"dataBlockName"> Specifies the Custom Object handler data block preset name to use. Note that specifying a preset (e.g. "dataBlockName") will add that preset into the object, but will remove all other plugins of the same type from the object.

OBJPLUGIN_OR<ACTIVE|OTHER|BOTH>[ON|OFF][<"dataBlockName">]<"dataBlockName"> Specifies the Object Replacement Map handler data block preset name to use. Note that specifying a preset (e.g. "dataBlockName") will add that preset into the object, but will remove all other plugins of the same type from the object.

CLIPDATA<ACTIVE|OTHER|BOTH><"dataBlockName">
Specifies the Clip Map data block preset name to use.

DISPDATA<ACTIVE|OTHER|BOTH><"dataBlockName">
Specifies the Displacement Map data block preset name to use.

NODEDISPDATA<ACTIVE|OTHER|BOTH><"dataBlockName">
Specifies the Node Displacement data block preset name to use.

APSRENDERDATA<ACTIVE|OTHER|BOTH><"dataBlockName">
Specifies the APS Render data block preset name to use.

SRF<ACTIVE|OTHER|BOTH>"<surfaceFile.srf>"
Replaces surfaces of groups. User must provide either 1.) a full absolute file path to the surface file, or 2.) a file path relative to the default Janus_Surfaces directory, or 3.) a file path relative to the 'Project Surfaces Directory' that can be set by the user in the Preferences. For multi-surface object overrides, a text file containing the path the surfaces can also be provided (relative or absolute path).

 

MISC SUBCOMMANDS
Misc subcommands mostly deal with scene-naming and image-output functions. Unique to Misc subcommands, you can use Constant Variables in their Global Settings fields to dynamically change their values.

OUTPUTSUBDIR"<string>"
Designates a suffix to the scene file name after being appended with the pass's name, which in turn creates a subdirectory under the images directory (specified in the Preferences), based on the new scene file name. (See Scene-naming Convention and Image Output Directory). If your scene is named:

SEQ_OPENING.SHOT01.lws

And a COMMAND is placed:

BTY.BG.OUTPUTSUBDIR"ROBOT.OCC".ARMY

Will output this pass as:

SEQ_OPENING.SHOT01.ARMY.ROBOT.OCC.lws

And will map and create a directory for output images (assuming \images is the main images folder):

\images\SEQ_OPENING\SHOT01\ARMY\ROBOT\OCC\

 

OUTPUTABSDIR <"absolutePathString">
Specifies an image path for output. The inputted string will be initially interpreted as an absolute path, for the most part. If the drive portion of the path is omitted, then it will be interpreted as a path relative to the root of the project. Unlike OUTPUTSUBDIR this subcommand will not create child directories. It will simply create the specified directory and set the output images to that directory for that pass.

 

PASSNAME"<string>"
Designates a suffix that replaces the pass's name and thus renames the scene file accordingly. If your scene name is:

SEQ_OPENING.SHOT01.lws

And your COMMAND is:

BTY.BG.PASSNAME"ROBOT.SHADOW".ARMY

The final scene file looks like:

SEQ_OPENING.SHOT01.ROBOT.SHADOW.lws

And will output an image directory called:

\images\SEQ_OPENING\SHOT01\ROBOT\SHADOW\

SUBSCENENAME"<string>"
Designates a suffix that is appended directly after the scene name. This provides more granularity in organising passes. If you wish to leverage Janus's file management behaviors regarding periods, you need to manually specify a period before inputting your sub-scene's name. Example, with a base scene named SEQ_OPENING.lws

BTY.BG.subscene"SHOT01".ARMY

Outputs this scene file:

SEQ_OPENINGSHOT01.ARMY.lws

But you may opt to either place an underscore or a period, depending on your preference:

BTY.BG.subscene"_SHOT01".ARMY
(results in SEQ_OPENING_SHOT1.ARMY)
(which results in \SEQ_OPENING_SHOT01\ARMY\ for output images)

BTY.BG.subscene".red".ARMY
(results in SEQ_OPENING.red.ARMY)
(which results in \SEQ_OPENING\red\ARMY\ for output images)

SCENENAME<"sceneNameString">
Specifies a new scene output scene name for this pass. This replaces the current scene's name and effectively bypasses the native behavior of Janus of appending the passes' names to the scene file. However, the output images subdirectory will still default to the scene name. If you wish to control the final output directory, you may use OUTPUTABSDIR (e.g. output absolute directory), or use SCENENAME in conjunction with PASSNAME and OUTPUTSUBDIR.

SCENENAME may be used in conjunction with SUBSCENENAME.

LWSC<int>
Specifies the LightWave scene format number. Take care in using this for this may potentially make your scene render incorrectly in Screamernet, unless you know what you are doing.

*ACTIVEGROUP<"nameOfActiveGroup">
Forces Janus to treat the inputted name as the active group.

*INHERIT<"commandTypeToInherit">
The current command inherits the parameters of the specified command type, if it exists. Inheritance includes both object property settings and SCENE.CMD directives. However, it will not recursively inherit properties of the specified command's own inheritance, if it happens to have any.

 

SPECIAL SUBCOMMANDS
Special subcommands are those used internally by Janus, and not to be used by the user directly. It is only documented here for reference.

REGION<H|V><int> (for internal Janus use only. Not to be used by user directly)
Specifies how many slices to break the frame into and what orientation they should take.

REGIONH10 (breaks the frame into 10 equal regions horizontally)
REGIONV3 (break the frame into 3 equal regions vertically)

Note that this subcommand is only listed here as a reference. It was not meant to be executed by the user directly; Janus internally uses this subcommand and coordinates other functions with it, so using it directly will not always yield proper results.

 

LEARNING SUBCOMMANDS
The best way to familiarise yourself with subcommands and their syntax is to use the + button beside each parameter in the main UI.

These buttons will append the command line their respective subcommands and even insert the value you happen to have in their partnered value field or listboxes. If you click on the button again, it will remove subcommand. Remember that most commands are allowed to appear only once in the command line. The only exception is the REPLACE subcommand.

 

CONSTANT VARIABLES
For advanced users, Janus sports constant variables that can be used to reference particular data for use with subcommands.

First note that these variables are flanked by a percentage sign (%).

In Janus, constant variables are implemented as a straightforward run-time replacement of the data in question. This is similar to the @define pragma in LScript.

In addition to subcommands, you may use constant variables in the Output Images Directory field (in the Preferences), and in the Breakout Folder Path.

USER VARIABLES
As of Janus 1.4.1 Janus has the ability to define and reference user variables. User variables are defined in the Janus_GlobalPreferences.txt file in the Support_Folder. The format to define a variable is simple; first, it must be under the section [USER_VARIABLES]. Then define the variable by typing it, place an equals sign ('=') and then the value to assign. When referencing user variables you must surround it in percentage signs ('%').

Example: declaring a variable in the Janus_GlobalPreferences.txt.

[USER_VARIABLES]
userVarAlpha=C:\contentPath

Then in a render pass you utilise this user variable:

[NOM.BG.outputSubdir"%userVarAlpha%".ObjectA]

Note that just like Constant Variables, User Variables are simply direct string replacements; they are interpretted as strings when read and when written.