3DSMax Function Publishing
[Asset Toolchain (Import / Export), Language Support]
Detailed Description
nMaxExpose package exposes Nebula script commands to maxscript.
Introduction
nMaxExpose package is 3dsmax plugin which enables to call Nebula2 script command with MaxScript.
It makes you can use all Nebula script commands with maxscript. For example use of this package, you can construct entity editing tool just adding custom attribute which is the feature of 3DSMax and writing some UI. All this can be easily done only with maxscript.
One good thing of this approach is that all custom data can be saved into 3DSMax file(.max) and can be loaded for later use of editing and can be exported to script file by Nebula's script server and serialization mechanism.
So artist can make game assets and edit it's attributes within 3DSMax. All this assets are ready to use for game after it is exported to the form of script file.
- See also:
- For documentation on the maxscript, see the MaxScript Reference which is provided with 3DSMax.
Installation
Before building the package, 3dsmax and 3dsmax SDK should be installed on your system.
- Run update.tcl to generate workspace.
- Ensure that the path of 3dsmax SDK is on your project path.
- Build the package and copy it to
$3dsmax\pluginsdirectory. - Run 3dsmax.
A sample maxscript file is provided with this package. This sample shows a simple NOH of Nebula using treeview control.
- Note:
- This package was tested on 3dsmax5 with vc6 and 3dsmax6 with vc7 (also vc7.1)
If you want to use this package with previous version of 3dsmax than 3dsmax5, that version of 3dsmax should provide Function Publishing system.
Commands
All nmaxexpose commands can be tested on maxscript listener. You can find it where Utility Command Panel > MaxScript > Open Listener menu in 3DSMax.
- new "classname" "path"
Create a new object of the specified class at the specified path in the NOH. Returns object name on success and empty string on failure.
example:obj = nebula2.new "nroot" "usr/entity"
- delete "path"
Delete the NOH object at the specified location in the NOH. Returns true on success and false on failure.
example:nebula2.delete "foo"
- dir()
Return a array containing the names of the children of the current working directory in the NOH.
- sel "path"
Set the current working directory of the NOH to the specified path. Returns current selected object name on success and empty string on failure.
example:sel "/usr/scene"
- lookup "path"
Return object name if there's the object in given path.
- nprint "message"
Put message on Nebula's log file (if it exist) and listener.
- call "command" "arguments"
Execute the command given by command on the currently selected object in the NOH. It also can be executed with given path and command. A command which doesn't have any argument(void type) must be provided empty array.
An arguments should be provied by maxscript array type.
- Note:
- There's no way to execute call command with no argument even the command does not have any arguments. You should provide empty array in that case.
call ".saveas" "foo.n2" call "/usr/entity.savease" "foo.n2" call ".getcmds" #()
- callv "command"
Synonym for call command except it takes no arguments. It is convenient when you call void type of command.
example:callv ".getcmds"
License
nMaxExpose is licensed under the terms of the Nebula License.
(C) 2004 Kim, Hyoun Woo
Classes | |
| class | INebulaInterface |
| Base class for function publishing system of Nebula. More... | |
| class | nMaxExpose |
| Class for 3dsmax Function Publishing of Nebula. More... | |
| class | nMaxConverter |
| class | nObjectAttribute |
| class | nMaxScriptBuilder |
| class | nObjectAttribute |
| class | nNebulaInterface |
| The implementation class. More... | |