In a previous changeset, the Advanced Logic modifier was changed to defer exporting logic until the very end of the export process. This means that many nodes are designed with the assumption that all non-logic PRP objects are fully exported by the time they are exported. LogicWiz modifiers, however, violated this assumption by exporting during the main export() phase. So, this adds a new `pre_export()` phase for all modifiers that lets them generate logic trees and even entirely new Plasma Objects safely. Futher, old LogicWiz modifiers have been tweaked to not leak junked objects if the export fails in the middle of those modifiers.
Korman
An open source, GPLv3 Blender addon for creating ages for Cyan Worlds' proprietary Plasma engine and its open source variant, CyanWorlds.com Engine. For more information, visit https://guildofwriters.org
Dependencies
- Blender - 3d modelling problem
- libHSPlasma - Universal Plasma library used for manipulating data
- PhysX 2.6 SDK - optional, required only for exporting ages to the Myst Online: URU Live format with libHSPlasma.
Building
Korman is written primarily in Python and therefore requires little in the way of compiling. However, Korman
depends on the libHSPlasma Python bindings called "PyHSPlasma". Therefore, you will need to compile libHSPlasma
with python bindings for the platform of your choice. You will need to be certain that you use the same version
of Python that ships with your Blender install. Once you have done this, copy the HSPlasma library and PyHSPlasma
python library into Blender's python/lib/site-packages
.
See the installer directory for NSIS scripts. You can make a Windows installer by using makensis -DPYTHON_DLL=[pythonDllName] Installer.nsi
. Be sure to provide the Visual C++ redistributable and
libHSPlasma libraries. Prebuilt installers will be provided on the Guild of Writers website.
Installing
Copy the korman
directory into Blender's addons
directory. You must enable the addon in Blender's User
Preferences window. Korman is listed as a System addon. Switch the render engine to Korman and enjoy!
Zen of Korman
- Korman should be intuitive and discoverable.
- Mapping Korman features to Plasma features 1:1 is not desirable.
- Hide annoying details and make age building fun!
- Any Python traceback seen by the user is a bug.
- Korman is written in Python, not C. The code should reflect that fact.
- Avoid "it's better to ask for forgiveness"
try... except
blocks. - Spaces over tabs.
- Break lines around 100 columns (it's OK if your log message exceeds that however).