Tuesday, October 23, 2018

Quick Start Guide: Importing FFXI zones into Unreal Engine 4

This tutorial will teach you how to extract zones from FINAL FANTASY XI and import them into Unreal Engine 4 using a program called Noesis. You will need to have FFXI installed. You can download the FFXI game client from the game's official website. It is not necessary to actually have an active FFXI account in order to extract the zone files. Simply having the game installed is enough, though if your game client is not updated, you will be unable to load zones that were added to the game via updates.

Loading Into and Exporting From Noesis:

The first step is to create or download a Noesis scene file, which is just a text file, except that it uses the extension ".noesis" instead of ".txt" like a regular text file. You can edit the Noesis scene file in Windows Notepad, or any other standard text editor. Notepad++ is a good option, too. When creating or editing a scene file, note that white space doesn't really matter. Noesis will parse the file the same regardless of whether you use tabs or spaces, so use whichever you prefer.

If you would rather just download a ready-made Noesis scene file instead of creating your own, you can grab one from the following Dropbox folder:

Dropbox Download: Noesis Scene Files - FFXI Zones

A proper scene file should look something like this:


The purpose of creating a scene file is so that you can take advantage of the special advanced load options that Noesis provides. Technically, you can load FFXI's zones without creating a scene file by just opening the corresponding DAT file from within Noesis, but doing it that way doesn't allow you to specify any load options, some of which are necessary to render the finalized geometry correctly after we export it. The load options you want to specify in your scene file are as follows:

Advanced Load Options:

-ff11blendhack 0.99 -ff11keepnames -ff11optimizegeo

There is one advanced load option in particular that I would actually recommend against using unless you have a 3D modeling program and corresponding technical skills, and that's the "-ff11renderunref" command  (i.e. Render Unref), which renders unreferenced geometry — such as the skydome and water pieces — out in the middle of the zone. The reason I recommend against using this particular load option if you're new to this whole process is because the Render Unref command does not position the unreferenced geometry pieces correctly, but instead just spits them all out at identity, thus leaving you to pull them apart and manually place them yourself if you actually want to do anything with them. Trying to do that within Unreal Engine 4 is huge pain in the ass, so you practically need some kind of 3D modeling program to do it effectively and efficiently, and that's going to require more time and effort on your part. If you're just trying to extract a zone using Noesis and import it directly into UE4 as quickly as possible, then it's best to just leave off the Render Unref command.

Anyway, once you've created or downloaded your scene file, open it in Noesis, and then go to "File" → "Export from Preview," which will bring up the Export Media window below:


Click on the "Browse" button and create a new folder named after the zone you're exporting. It's also a good idea to use the zone name as the filename. Next, select the following output options:
  • For "Main output type," select ".fbx - Autodesk FBX."
  • For "Additional texture output," select ".tga - TGA Image."
  • For "Additional animation output," just leave it on "Default" as the selection.
  • For the "Advanced options" field, copy and paste the line of code under the "Advanced Export Options" heading below.
All other options can be left on their default settings.

Advanced Export Options:

-rotate 180 0 180 -scale 90 -fbxscalehack -fbxsmoothgroups -fbxtexrel -fbxtexext .tga
The order in which you list the advanced options does not matter.

Please note that there is a difference between Advanced Load Options and Advanced Export Options. Advanced Load Options do nothing if used as export options, and Advanced Export Options do nothing if used as load options.

A detailed explanation of each advanced option used in this tutorial is provided below:

Advanced Load Options:

-ff11blendhack <arg>

FF11 Blend Hack
sw render to determine alpha coverage, <arg>=min frac.
EXAMPLE: -ff11blendhack 0.99

Technically, this option isn't actually necessary at all. The only thing it does is enable transparencies within the Noesis viewer window. Even if this option isn't used, transparencies will still be exported if you save your texture files in a format that includes an alpha channel.

-ff11renderunref

FF11 Render Unref
render unreferenced map geo at identity.

This option will load in the skydome, the sun, the moon, water pieces, and other unreferenced pieces of geometry which are included in the DAT file but for which there is no position specified. It is assumed that in the official game, these pieces of geometry are placed by either SE's servers or the game client.

-ff11keepnames

FF11 Keep Names
keep map object names intact.

This option will prevent Noesis from renaming the mesh geometry pieces in the scene.

-ff11optimizegeo

FF11 Optimize Geometry
remove degenerates and redundant verts.

This option will combine overlapping and duplicate vertices. Without this option, every individual polygon in the entire scene will technically be a separate piece of geometry, which will cause very hard edges on everything.

Advanced Export Options:

-rotate # # #

Rotate X Y Z
transform all vertices by the given angles.
EXAMPLE: -rotate 180 0 180

Rotates the entire scene by 180 degrees on the X axis and the Z axis. Without this option, your zone will load upside down and backwards when imported into Unreal Engine 4.

-scale #

Scale
scale all vertices on the model, where # is the scale factor.
EXAMPLE: -scale 90

Use this option to increase the size of the zone to the proper dimensions. Without this option, the zone will be too tiny to walk around in when imported into Unreal Engine 4. If you forget this option, you can adjust the "Import Uniform Scale" option when importing into Unreal Engine 4.

-fbxscalehack

FBX Scale Hack
transform override for scale correction.

I'm still not entirely sure what this option does. It sounds likes something to do with the transform (i.e coordinate position) of the geometry, and is to be used in conjunction with the -scale option above. Maybe this command isn't necessary, though? I'm not sure. More experimentation is needed here.

-fbxsmoothgroups

FBX Smooth Groups
generate smoothgroups from vertex normals on export.

Unreal Engine 4 will complain at you if you try to import a 3D model that doesn't have smooth groups.

-fbxtexrel

FBX Tex Rel
only set relative paths for texture filenames.

This option is necessary to preserve the connection between materials and textures. Without it, the filepaths to textures will be incorrect, and models will import as grey and textureless.

NOTE: A previous version of this tutorial listed this option as -fbxtexrelonly instead of -fbxtexrel. Although the command -fbxtexrelonly was correct when this tutorial was originally written, the command was apparently changed in an update to Noesis at some point. I am not certain when exactly this change occurred, but the tutorial has now been updated to reflect this change.

-fbxtexext <arg>

FBX Tex Ext
appends given value to texture names on export.
EXAMPLE: -fbxtexext .tga
EXAMPLE: -fbxtexext .png
EXAMPLE: -fbxtexext .bmp

This option is also necessary to preserve the connection between materials and textures, as it allows you to specify the texture filetype extension. Without this option, UE4 won't be able to determine exactly which texture files its supposed to import for the materials, and so it won't import any, thus leaving your models grey and textureless. If you're saving your texture files in a format other than .tga, then replace ".tga" with the format that you're using.

NOTE: A previous version of this tutorial included an Advanced Export Option called -fbxmtlfrommeshname, which allegedly is supposed to create materials with names matching the pieces of geometry they're applied to. However, the option didn't appear to actually work (at least not for models extracted from FFXI), so I removed it from the tutorial.

Importing into Unreal Engine 4:

When you're importing the FFXI zone geometry into Unreal Engine 4, you'll want to enable the "Combine Meshes" option under the Advanced options for the Mesh section. Otherwise you'll get hundreds of little geometry pieces that will bog down your computer and make rendering a nightmare.


If you used the advanced scale option when you exported your zone from Noesis, then when importing into Unreal you should be able to keep the "Import Uniform Scale" option at its default value of 1.0. If you omitted the scale option in Noesis, then you should set "Import Uniform Scale" to 90.0 in Unreal. If you edit the zone in some other third-party 3D modeling software in between Noesis and Unreal, you may have to experiment with the "Import Uniform Scale" option until you find something that looks correct.


Material Setup:

If you entered the correct Advanced Export Options when you exported your zone data from Noesis, all of the materials should already be hooked up to the correct textures automatically. If everything is gray, go back and try to figure out what you did wrong.

Materials in FFXI can be grouped into four basic types: Standard, Decal, Shiny, and Foliage.

Standard Material Setup:

By default, materials in Unreal Engine 4 are slightly shiny, which does not match the aesthetic of FFXI as presented in the official game client. In order to get rid of the shininess, create a Constant with a value of 0 and plug it into the material's Metallic, Specular, and Roughness channels. Do this for all of the materials (this is very tedious and may take a while). Your finished standard material should look like this:


Decal Material Setup:

Some geometry pieces in FFXI are used as decals to add extra detail to the environment. However, in order to get the decals to display correctly in Unreal Engine 4, you will need to set up the corresponding decal material slightly differently from the standard material above. For decal materials, you should set up the material like this:


Foliage Material Setup:

In order to get materials for bushes and tree leaves to display correctly in UE4, plug the Alpha channel of the Texture Sample into the Opacity Mask channel of the material. Select "Masked" as the Blend Mode, change the Shading Model to "Two Sided Foliage," and put a check in the box for the Two Sided option. The finished foliage material should look like this:




Tuesday, September 18, 2018

Noesis – Advanced Commands

On the surface, Noesis may appear to be a relatively simple and straightforward program. But it actually has a lot of hidden depth to it. Most of this depth comes in the form of special advanced commands for loading and exporting data files. You can view a complete list of all advanced commands by opening the "Export Media" window and clicking on the "Advanced commands" button. The "Export Media" window can be opened by going to "File" in the main toolbar, and then selecting either "Export" or "Export from Preview" from the dropdown menu.

For your convenience, I have compiled a list of advanced commands which are most likely to be relevant when using Noesis to view and export data files from FINAL FANTASY XI. Please note that some of these commands can only be invoked when loading a file, while others can only be invoked when exporting a file! In order to invoke a command when loading a file, you must first use Notepad to create a .noesis scene file which points to the model you want to load, and then open that scene file in Noesis instead of opening the actual file directly. I will explain how to create a .noesis scene file in another post.

I'm still not completely sure which commands can only be invoked on load, and which ones can only be invoked on export, but I will continue to experiment and update this post accordingly. For now, I will distinguish between commands which I know for certain can only be invoked on load or export by marking them with either a red "Load" tag or a blue "Export" tag, respectively. If a command is unmarked, that means either that command works on both load and export, or I am uncertain.



Generic Noesis Commands:

CommandPurpose
-rotate # # #transform all vertices by the given angles. (Order is X Y Z)
-scale #scale all vertices on the model, where # is the scale factor.
(There are many more generic commands than just these two, but so far these are the only ones that I've personally found to be useful when working with data files from FFXI.)



FF11 Model/Data:

CommandPurpose
-ff11blendhack <arg>sw render to determine alpha coverage, <arg>=min frac.Load
-ff11optimizegeoremove degenerates and redundant verts.Export
-ff11keepnameskeep map object names intact.Export
-ff11renderunrefrender unreferenced map geo at identity.Load
-ff11forcelightingforce lighting.
-ff11forcecullforce culling.
-ff11novertcolorno vertex colors.
-ff11noshinyno special assignment for shiny materials.
-ff11shiftvertalpha <arg>explicitly shift vert alpha <arg> bits.
-ff11shiftvertcolor <arg>explicitly shift vert color <arg> bits.
-ff11shiftcolor <arg>explicitly shift tex color <arg> bits.
-ff11shiftalpha <arg>explicitly shift tex alpha <arg> bits.



FF11 SQLE Model:

CommandPurpose
-ff11sqleanim load sqle animation as relative path.Load



Autodesk FBX:

CommandPurpose
-fbxnewexportexports current fbx format instead of legacy.Export
-fbxzupsets the scene axis to z up on export.Export
-fbxsmoothgroupsgenerate smoothgroups from vertex normals on export.Export
-fbxtexrelonlyonly set relative paths for texture filenames.
-fbxmultitakeexport a take for each anim sequence.Export
-fbxbsnonormalsdon't use blendshape normals.Export
-fbxbonestomeshtfderive mesh transforms from bones, and don't write bones.
-fbxpreservecpdoes not allow welding between controlpoints.
-fbxnooptimizedisables fbx geometry optimization pass.
-fbxnoesidecarenables .noefbx sidecar files to preserve extra data.
-fbxcanimtimeuse curve key times instead of clamped evaluator time.
-fbxmtlfrommeshnamecreate materials from mesh names.
-fbxunifybi unifies binormals on import. (0=no, 1=yes, 2=flipped)Load
-fbxrottanrotates tangent/binormals on import.
-fbxnotandisables reading/writing tangents for fbx.
-fbxnoextraframeavoids adding an extra frame for timing.
-fbxframecount overrides the fbx anim frame count.
-fbxframerate specifies the fbx framerate. (frames per second)
-fbxtexext appends given value to texture names on export.Export
-fbxscalehacktransform override for scale correction.
-fbxtritopoly tris to polys, is max degrees for combine.
-fbxtritopolyconctol is concavity tolerance.
-fbxcollapsecpcollapse controlpoints.
-fbxreducekeysreduce animation keys.
-fbxnonlinrotspecifies nearest snap for rotations.
-fbxnomeshhierarchyno separate udcommon mesh hierarchy.
-fbxnomeshbonesno bones generated from mesh nodes.



WaveFront OBJ:


CommandPurpose
-objmtlenables export of mtl file with the obj.Export



DDS:

CommandPurpose
-ddsati2nonormdon't derive+renormalize when decoding DXT ATI2/BC5.



That's all for now. Please comment below if you've found any other of the advanced commands for Noesis to be useful for working with FFXI's data files.

Friday, April 14, 2017

AreaDemo

AreaDemo a Japanese program for previewing a limited number of zones in FFXI outside of the game.

EDIT: Do not bother trying to use AreaDemo for modding purposes. It simply isn't worth the hassle, as I've discovered that everything I was using AreaDemo for can be done using only Noesis. It turns out that Noesis has a built-in Data Viewer tool that allows users to see the file names of all textures and materials on any given DAT file, which means that there's simply no point in going through the trouble of installing AreaDemo simply to get the correct file names for the textures (which is all I was using AreaDemo for, anyway). I'll leave this post up for informational purposes in case you still want to try out AreaDemo simply for the sake of curiosity, but don't feel pressured to download and install it for the sake of modding, and don't bother trying to integrate AreaDemo into your development pipeline. You don't need it.

The primary purpose of using AreaDemo for FFXI zone extraction is to get the texture files, since Noesis (the other model viewing program capable of viewing FFXI's zones) often doesn't correctly save all the textures, and when it does, it generally doesn't preserve the file names of the textures for some reason. AreaDemo does not have this problem, and saves all zone textures with their correct file names intact. Without the correct file names, hooking up texture files to their appropriate materials in Unity, Unreal, or Autodesk Maya becomes an almost impossible guessing game. AreaDemo saves us that trouble by keeping the file names intact.

AreaDemo also converts zone geometry, but unfortunately AreaDemo only saves the geometry data as an MQO file, a custom file format created for the Japanese 3D modeling program, Metasequoia, which is not compatible with either the Unreal or Unity game engines. The most common format of 3D model used in Unity and Unreal is FBX, and although Metasequoia does technically have the ability to convert from MQO to FBX, this feature is only available with Metasequoia's EX License, which costs $150. Because of this, I personally prefer to use Noesis to extract geometry data, and AreaDemo to extract texture data, and then I combine the two in Maya. From there, exporting to either Unreal or Unity is a piece of cake (especially since Maya literally has special menu options specifically for exporting to either Unity or Unreal).

Unfortunately, one major limitation of AreaDemo is that, as far as I can tell, the program appears to only provide its users access to the original zones. That means that there is no way for AreaDemo users to access zones from any of FFXI's expansion packs, not even Rise of the Zilart.

Additionally, it should be noted that AreaDemo only works with the Japanese version of FFXI. This isn't a huge problem, since you don't have to actually purchase the Japanese version, you only have to have it installed, and Square-Enix has made the installation files for FFXI available to download for free from the official website, but it does create an issue in that Square has chosen to make it so that the Japanese version and the North American version cannot both be installed simultaneously on the same PC, which makes this whole process rather annoying for people who don't have multiple computers, or who don't want to dual boot multiple operating systems.

Anyway, relevant links below:
AreaDemo
(requires Japanese version)
FFXI Japanese verison
(required to use AreaDemo)

Wednesday, January 6, 2016

Noesis - 3D model viewer and extraction tool

Noesis is a program for viewing, extracting, and converting digital assets from video games, and was created by a guy named Rich Whitehouse. You can visit his personal website at richwhitehouse.com, or follow him on Twitter @DickWhitehouse. Unlike the FFXI Model Viewer and Altana Viewer, Noesis is a universal model viewer designed to work with (almost) any video game. Thankfully, FFXI happens to be one of the games it works with.

You can get Noesis here.

Advantages:
  • Can view any .DAT file, including zones, not just character models.
  • Can export .DAT file models directly into several standard file formats, including .obj and .fbx formats.
  • Unless specifically disabled by the user (and this is a huge selling point), character models retain skeletons and animations upon export.
Disadvantages:
  • Because Noesis was designed as a universal model viewer for all games, and not a model viewer specifically for any one particular game, the process for loading models involves just using a standard file explorer window for loading files, which makes it a pain to find things if you don't already know exactly where to look. It's recommended that you use either the FFXI Model Viewer or Altana Viewer to find the file locations of the character models you want to load before you go browsing through the FFXI game folders via Noesis. Good luck figuring out which files to load for zones, though.
  • The method for accessing model data for player characters in particular is extremely difficult to use. The process requires creating a custom text file, which is then opened in Noesis. Details on how to create this special text file are provided later in this post.
Download:
Noesis can be downloaded for free from the Resources section on Rich Whitehouse's personal website, richwhitehouse.com. The direct link to Noesis version 4.31 is listed below:
Direct Download: Noesis — version 4.31
(22.28 MB) - (uploaded: 7/14/2018)

It's possible there may have been new versions of Noesis released since I wrote this blog entry. If you prefer to get the most recent version, Rich Whitehouse keeps a page in the Projects section on his personal website updated with the latest version of Noesis, which you can access at the following link:

Alternatively, you can also update your version of Noesis after download by going to "Tools" → "Check for Updates" in the main toolbar in Noesis. Using the latest version is recommended.

XeNTaX Game Research Forum:
Additionally, there is a game modding forum called XeNTaX that has an old topic which is specifically about using Noesis with FFXI, and has some useful information (Rich Whitehouse is the moderator with the screen name MrAdults). You can read the topic here:

Code Snippets:
Rich Whitehouse has provided some of his code on his website.

Viewing Player Character Models:
Viewing, displaying and exporting player character models is extremely tricky in Noesis. To do it, you must create a special scene file using one of two different custom file types created by Rich Whitehouse. The reason for there being two different files types is because everyone who has ever played FFXI knows that the game actually has two sets of character models for player characters. There is the standard, low-resolution player character models that are actually used in-game, and then there's a completely different set of special high-resolution character models which appear only during character creation and then are never seen again. Noesis gives us the ability to view and export both types of character models. The Noesis scenes directory located at "C:\...\noesisv42\scenes" has two example files: one called "sample_elf01ff11.noesis" which is used for the high-resolution character models from the character creation screen, and another called "sample_hume01.ff11datset" which is used for the low-resolution character models from in-game. Both of these file formats can be edited with Notepad or any other text editor.

Hi-Rez Player Character Models (From Character Creation):
In order to view the high-resolution character models which appear only during character creation, you must use this special format of text file called ".noesis", which is one of the custom file extensions Rich Whitehouse created. There is example file called "sample_elf01ff11.noesis" located in your Noesis scenes directory at "C:\...\noesisv42\scenes". When opened with Noesis, this file will display the high resolution character model of the female Elvaan as she appears during character creation. Please note, however, that when Rich Whitehouse wrote this particular scene file, he specified only a partial file path, which results in the scene file only working if you place it inside your root FFXI directory, which should be located at "C:\Program Files (x86)\PlayOnline\SquareEnix\FINAL FANTASY XI," unless of course you specified a custom filepath when you installed FFXI. If you want to save this Noesis scene file anywhere on your computer and still have it work, you will have to specify the full file path in the model line, instead of only the partial path  If only the partial path is specified and not the full file path, and you try to open this Noesis scene file while it is located in any other folder besides the FFXI root directory, you will get an error message. Specify the full file path to avoid the error message.

The following is a post that Rich Whitehouse made on the XeNTaX game research forum explaining how to use the file format:

Originally Posted by MrAdults (Rich Whitehouse)
(Click here to view original post.)

To piece the SQLE models together, you can put a .noesis file in your FFXI directory root (above the ROM directories), like the sample_elf01ff11.noesis file included in the latest build. It looks like this:

sample_elf01ff11.noesis:
NOESIS_SCENE_FILE
version 1
physicslib ""
defaultAxis "0"

object
{
name "body"
model "ROM/63/1.dat"
loadOptions "-ff11sqleanim ../64/40.dat"
}
object
{
name "head"
model "ROM/63/5.dat"
loadOptions "-ff11sqleanim ../64/46.dat"
;this uses the relative positions of the neck joints on each skeleton to place the head
offsetWithBones "bone0001" "body" "bone0004"
;combine both objects into a single model
mergeTo "body"
}

Modifying for other body/head/animation combinations should be pretty obvious. The bones for the head snapping may change, so figure out which ones you should be using by looking at the models in the Noesis data viewer.

Low-Rez Player Character Models (From In-Game):
In order to view the low-resolution character models which are used within the actual game itself, you must use this special format of text file called ".ff11datset" which is a special custom file format that Rich Whitehouse created specifically for use with FFXI in Noesis. You can use this to view and extract the standard in-game player character models with a specific set of armor. There is an example file called "sample_hume01.ff11datset" in the Noesis scenes directory, which shows how to set up the file for a male Hume.

Unlike the Noesis scene files, the FFXI Dat Set file does not require the full file path to be specified in order to work outside of the FFXI root directory.

Like the other scene file, this file also can be edited with Notepad or any other text editor. You can use the FFXI Model Viewer or Altana Viewer to figure out which DAT files to specify in the text file.
sample_hume01.ff11datset:
NOESIS_FF11_DAT_SET
;^ must be the first line of the file

;search for dats using a path retrieved from a registry key
setPathKey "HKEY_LOCAL_MACHINE" "SOFTWARE\PlayOnlineUS\InstallFolder" "0001"

;search for dats on a path relative to this file
;setPathRel "./"

;search for dats on an absolute path
;setPathAbs "c:/whatever/ff11/"

dat "__skeleton" "ROM/27/82.dat"
dat "__animation" "ROM/27/82.dat"
dat "face" "ROM/27/87.dat"
dat "head" "ROM/27/103.dat"
dat "body" "ROM/28/7.dat"
dat "hands" "ROM/28/52.dat"
dat "waist" "ROM/28/84.dat"
dat "legs" "ROM/28/116.dat"
dat "weapon" "ROM/29/20.dat"

Loading and Exporting Zones:
There are two ways to load zone models in Noesis. The first is to simply go to "File" → "Open File" on the main toolbar, and then browse the folders on your PC to find the DAT file you want to load. The second method is to create a special Noesis scene file, place that scene file in your root FFXI directory, and then open that scene file instead of directly opening the DAT file. Using this second method allows you to specify several advanced load options which you cannot specify using the first method.

Advanced Load/Export Options:
The following is a list of special options specifically for FFXI which can be used when loading a model in Noesis:
  • -ff11blendhack <arg>: Software render to determine alpha coverage, <arg>=minimum fraction.
    • This uses the Noesis software renderer to render all FF11 map geometry triangles in UV space, and determine how many of each mesh's triangles are only touching zero-alpha pixels in the texture. -ff11blendhack 0.99 is typically a good value to use. This completely demented solution is not foolproof, but catches the vast majority of broken blending cases.
  • -ff11renderunref: Render unreferenced map geometry at identity.
    • Gets model data about sky/moon/water/etc., and spits models out at identity. You have to figure out how to pull them apart and place them yourself if you want to do something with them.
  • -ff11keepnames: Keep map object names intact.
    • Preserves the names of mesh geometry pieces in the 3D model. Use in conjunction with the above option to avoid having a big terrible inseparable triangle mess.
  • -ff11optimizegeo: Remove degenerates and redundant vertices.
    • Collapse redundancies and remove strip degenerates when exporting geometry. Unlike the other options above, which are invoked when loading a model into Noesis, this command is invoked when exporting a model from Noesis.
  • -ff11sqleanim <arg>: Load SQLE animation <arg> as relative path.
    • Option for SQLE animations. Used only for loading the hi-rez character models from the character creation screen.
With the exception of the "-ff11optimizegeo" command, the above options do not do anything if you try to input them into the Advanced Options box on export (explained below). These advanced options can only be invoked when loading zone models, otherwise the model will be exported without these options enabled, even if you try to input them in the export window. In order to use Advanced Options, you have to create a special Noesis scene file, like the one used for the hi-rez character models above, and use the Noesis extension as the file type (i.e. "filename.noesis"). The following is an example scene file for importing zones into Noesis using a scene file:
FFXI_Zone_BastokMarkets.noesis:
NOESIS_SCENE_FILE
version 1
physicslib ""
defaultAxis "0"

object
{
name "Environment"
model "C:/Program Files (x86)/PlayOnline/SquareEnix/FINAL FANTASY XI/ROM/1/35.dat"
loadOptions "-ff11blendhack 0.99 -ff11renderunref -ff11keepnames"
}

Exporting Zones:
In my personal experience, I have found that it's usually best to use the FBX file format for saving the model data (that's the Main output type), and TGA as the file format for textures. Saving the textures as BMP files will destroy their alpha channel, which is often needed for transparency on many objects, while saving the textures as PNG files preserves the alpha channel but causes the textures to not map correctly to the corresponding geometry for some mysterious reason. Saving the textures as TGA files avoids both of these problems.

Another common issue is that for some reason, when you export FFXI zones from Noesis, by default the zones get flipped upside down in most 3D modeling programs. This problem can be fixed by specifying a rotate value in Noesis on export. To specify a rotate value, type the command "-rotate" into the "Advanced options" box in the "Export media" window in Noesis, followed by three numbers (separated by spaces) to indicate the number of degrees to rotate along the XYZ axes. The pattern is "-rotate X Y Z." So if we wanted to rotate 180 degrees on the X axis, 0 degrees on the Y axis, and 270 degrees on the Z axis, we would type "-rotate 180 0 270," like so:
-rotate 180 0 270
You can enter as many commands as you like into the "Advanced export" options box. For our purposes here, the following is a good set of advanced options to use when exporting a model:
-rotate 180 0 0 -scale 100 -fbxscalehack -fbxsmoothgroups -fbxnewexport -ff11optimizegeo
That about wraps it up. If you have any questions, feel free to leave a comment below.