ZLZ Age Importer

Introduction

On occasion, it may be useful to import ages (made by Cyan or others) into Blender from PRP or AGE files. Importing an age allows a new Writer to become familiar with how an age is constructed before it is exported into Uru. It may also be useful to retired Writers who have deleted (a) BLEND file(s) for their age and wish to continue development of that age.

Previously, Age importing was done using the PyPRP Age Importer. However this version has several issues (mainly running on an old version of Blender and the PRP library), and was discontinued. The new Zero-Length-Zenith importer ("ZLZ" for short) was rewritten from scratch and designed to run on Blender 2.7x. It is slightly more stable than the PyPRP importer, and thus might be a better choice than PyPRP.

NOTE: while this plugin allows you to import Ages, it doesn't mean re-exporting them is possible. Clickables, sounds and the like aren't imported. Also, keep in mind that the imported assets aren't yours: they are still Cyan's/whoever is the author, and should be treated as such.

Required Software

ZLZ's only requirement is the Korman plug-in (ZLZ actually relies on the HSPlasma library for loading Ages, which is distributed with all versions of Korman).

Installation

Download the ZLZ zip file. Then in Blender, go to the User Preferences panel (Ctrl+Alt+U), switch to the Add-ons tab, and click "Install Add-On from File...". Select the ZIP you just downloaded. Remember to activate it by ticking its checkbox, and you're done !

Usage

Importing an Age or PRP file

This is rather straightfoward. Once the plugin is installed and enabled, delete all existing objects in your scene (otherwise they won't be automatically removed), then select File → Import → ZLZ Uru Importer. You can now select the .age or .prp file you want to import.

What to expect from the results

As previously mentioned, ZLZ doesn't import all there is in the PRP - it mostly focuses on visuals like meshes and textures. It's also worth noting Plasma and Blender have very different behaviors, so lots of data simply don't cross over the two softwares correctly. Here is a small list of things that are worth knowing about the importer:

  • The currently active Blender scene will display the whole Age. But all "pages" (=PRP files) are also duplicated on other Blender scenes.
  • Objects are sorted on various layers depending on their type. Visual objects are generally on the first layer, colliders on the second, regions on the third, empties on the fourth, and so on.
  • ZLZ will do its best to mimic Plasma materials, however there are some cases where it's simply impossible to do properly. In this case, it will recolor the incorrect material so it's easier to identify:
    • Purple materials means some layer combination failed to import (or ZLZ didn't understand it)
    • Yellow materials means a layer has a rotation component, which means a UV channel needs to be rotated in order for its texture to show up correctly. The rotation amount is stored as a custom property at the end of the Layer panel in the Property Editor.
    • Cyan materials are a combination of purple and yellow materials.
    • Dark green materials means the material itself simply couldn't be found, and may be located in another PRP.
  • Objects using transparent materials are also displayed in wireframe, to prevent them from being completely invisible.

Reporting bugs

Feel free to report bugs or discuss the plugin in the forum or on the dedicated thread.

Sources

ZLZ has a Git repo on Gitlab, if you're interested.