Shared Network Server Example

From HEWIKI
Jump to: navigation, search

Contents

Overview

This example seeks to illustrate some of the "whys" a shared Art Server is the the appropriate way to set up your Art Server. It also briefly describes how HeroEngine parses the location of resources (textures, meshes, etc.).


Definitions


Presumptions


How HeroEngine parses the paths to resources

C:\Art\HE\   (local hard drive example)
\\ArtServer\GameContent\Art\HE\  (networked drive example)

Notice that both examples end in \HE\ This defines the root of the file structure and every folder inside this root MUST match with a corresponding folder in the Remote Art Repository. Otherwise, the engine will not be able to find the textures and exported meshes.

NOTE: The exact string (\HE\) used to identify the root is configurable on a per-universe basis. A clean engine version of HeroEngine will use \HE\ as a default, however your team can (and may have) changed this to match your game title or other convention. For example, in our Hero's Journey Reference server, it is /HJ/. Please check with your team lead for the exact string. See: Editing client configuration values. The ArtDirectory client configuration string determines the path used.

HeroEngine uses the root (defined as \HE\ above) to identify where the file structure in the Remote Art Repository is. So, when HE opens and tries to reference a mesh file or a texture, it will trim off everything previous and up to "\HE\" before requesting that resource from the Repository. For instance, if a mesh file references a texture, it will look something like this inside the engine:

C:\Art\HE\Textures\brickwall.dds


This matches exactly where you have that texture on C drive when the mesh was created in 3D Max. HeroEngine searches for a match on \HE\ and strips out everything before it and including the \HE\. After trimming, it will end up looking like this in the engine....

Textures\brickwall.dds


It's at this point that HE can successfully request the texture from the remote repository. When you look at the remote repository, this texture would be stored in that exact path ("Textures\brickwall.dds"). The folder Textures will exist at the root level of the REMOTE art Repository.


We highly recommend that you use a mapped drive letter that resides on a shared network accessible server that all artists can access....not because the engine requires it, but because it will make it easier for artists to share their work among each other.

Example

Artist A stores their art in the following root path on their local machine:

C:\Art\CoolGame\HE\

Artist B stores their art in the following, different root path on their local machine:

D:\MyArt\CoolGame\HE\

Both export their art and then use the repository to move it over to the Remote Art Repository. They look at their art inside the game. It looks good, and the engine shows it. All appears to be well in Denmark.

Later, Artist A moves on to another project and Artist B inherits Artist A's art.

Artist B copies over Artist A's work into their art folder.

However, when Artist B opens Artist A's art in Max, it won't show textures, because Max expects to find it in C:\Art\CoolGame\HE\ but Artist B keeps her art in D:\MyArt\CoolGame\HE\ .

The moral of this example: This means that Artist B must re-create the Artist A's folder structure or re-link the textures and re-export all of Artist A's files. However, if both Artist A and B worked in a common networked drive, using the same mapped drive letter, they can both work on each others file without having the hassles mentioned above.

So, the bottom line is we recommend all your artists work from a shared network drive.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox