Hauzd Engine Function Tags and Prefixes

Hauzd Engine Function Tags and Prefixes

Here you have the complete list of the Hauzd Engine Tags and name prefixes for Objects and Materials,

The Engine limits your every name within 3dsMax, material or object, to be a maximum of 15 characters long, however Tags or Prefixes Do Not add to this count

What are Tags?


Tags are Keywords that tell the engine to perform an specific function or create a certain behavior on your Object or Material, the Tag Always have to be Written in ALL CAPS LOCK and must always
be inside a parenthesis right at the end of your object or material's name.

Example:

materialname(TAG)

objectname(TAG)

Sometimes they can have an "equals value" at the end, this must also be inside the parenthesis in which case:

Example:

materialname(TAG=0.0)

objectname(TAG=0.0)


Below, the list of Material Tags:

ENVMAP

Enables cubemap Reflection on the material, it will reflect whatever cubemap you have setup in your Dev folder based on the Specular Value.

ENVMAPINV               

Exactly the same as Envmap except that it inverts the black and white values, by default where the texture is more white/more opaque, it will reflect more, and where its darker/more transparent, it will reflect less with ENVMPAP INV you can invert this behaviour.

ENVPULL=X.X               

This tag is for the reflection not to stay fixed with the camara, as you move up and down viewing your building, a value of 0.0 would not have any effect (as not having the tag) and as you increase it, every time you move up, the reflection would be staying a bit down, and as you move down, it will stay a bit up, the maximum value is 1.0 and the effect is very drastic at this amount, a value between 0.4 and 0.7 is recommended.

BAKEOPAC=X.X

This makes the material translucent to the light it receives, a value of 1.0 will stop the light from passing through the object and create a solid shadow (same default behaviour as not having this Tag) while having a value of 0.0 will make light pass a 100% through the object, casting no shadow, values inbetween like 0.3/0.5 will blend through this both limits.

MOD 

This tag allows the Diffuse color to influence on your diffuse Texture map, this can be usefull to make fast color corrections, darken or brighten your texture without going to photoshop.

NOCOMPR

This will prevent your texture from generating heavy compresion artifacts, specially when having transparency (WARNING: This can seriously affect the performance of your app, so just use it when absolutelly necessary)

WRITEZ 

This will force your transparent material to be Drawn in the pixel depth sorting as an Opaque Object, meaning, although it will still be transparent, whatever transparent object that's behind it, will be totally blocked, for example a tree, or other windows, this can be used to prevent other transparent objects from overlapping another.

NOMIPS  

This prevents the textures from being "mipmaped" or "Pixelated" when viewed from far away (This tag can also affect performance so use it when necessary)

TWOSIDE    

This tag will make the material turn the object's polygons visible by their 2 sides (On the background the engine is Duplicating your object's mesh to achieve this, so use it when trully necessary, it is usually helpful for fences)

Below, the list of Object Tags:

BAKE=XXXX   

This tag is a MUST for all the objects that need to receive light and cast shadows, it tells the engine that Light has to be processed for this object, as well as giving the texture size for the Lightmap thats gonna be generated from this object for the size of the texture you have to use the same rule for all textures used within the engine, the Power of 2, 64x64, 128x128, 256x256, 512x512, 1024x1024 or 2048x2048 maximum, no other sizes are accepted (Ex: BAKE=64 / BAKE=2048)

TRANS=XXX  

 This tag and value is used for sorting Transparency, The transparency value by default for all transparent objects is 128, so if you take this value as the number of a "layer" whatever value that is below layer 128 will be drawn behind it, and whatever value that is above, will be drawn over it, value ranges from 0 to 255 With this you can specify for example, if you have a transparent balcony, and a transparent window behind it, set the balcony to TRANS=127 and the window to TRANS=126, this way the window will always be behind the balcony, and the balcony will always be behind whatever transparent object gets infront, because remember the default is 128 for all transparent objects unless you change so with this tag. Without the use of this Tag, the transparency sorting for all objects will be random, meaning they can overlap one another in undesired ways because with all them being on "layer 128" the engine wont know which one to draw first.

SORT  

This tag is also for helping drawing transparent objects in a more accurate way, but mostly for Plants and Trees, "SORT" predefines a rendition of lets say your "Tree" object in 16 different angles, for each angle it draws each transparent polygon from your tree from the furthest to the closest to the camera, for them to be sorted in the correct position, this way the end result will be a tree that would almost never overlap a polygon in the back to one on the front, based on the angle the object is being seen from. (TRANS tag wont work in this case because TRANS operates in an object as a whole, and not individual polygons of an object which is exactly what "SORT" exists for)

THEME=XX

This tag is Specificlly when using the Walls Generation Script, it determines the Textures Theme that your generated room will have, from default Themes 1 to 17 (For more info check out the Walls Generation Script Documentation.)

NOTM 

This tag prevents the object from baking the Transform value (XYZ Position Coordinates Value) saving a little bit on memory.  (NOTE: This is more of a Legacy Tag so its not  really necessary so it can be skipped)

MIRROR=10  

This tag is for creating a reflection plane on your floorplan floor, this is a very expensive Tag, performance-wise and only works with total plane floors, it will create visual artifacts and errors with a non-planar geometry like stairs.  10 is the default value and should not be modified, otherwise it can create distortion problems. (This tag generates automatically when using the Walls Generation Script, so most of the time you dont need to worry about it)


Object Name Prefixes

what are name prefixes?

A Name prefix is a keyword that goes infront of your object's name, right at the very beggining, and for the engine this is like a description, or setting the "Type" of object that your geometry or shape is.
every single object you export from your 3d scene into the engine, Must have some sort of prefix depending on what its intended to be, the way of using them is as follows.

Example:

prefix_YourObjectName


(NOTE: No object can have a prefix alone, it MUST have a name following the prefix underscore "_"  with a minimum of 1 character and a maximum of 15 characters,
  its also important to match the prefix's lowercases and uppercases exactly as written on the list )

A complete list of all Engine's prefixes for 3d objects can be seen below:

obj_ 

 This prefix is for marking your 3d object as an "object" on the engine, this sounds very reduntant but "obj" has its unique properties, for example, any 3d object marked as an "obj" in the engine, will be able to be used as an instance object and shared among scenes within the engine, this saves a Lot of memory and optimizes performance, thats why we recommend using the "obj_" prefix for all your "Props" within your 3d scenes, for example furniture, cars, street lamps, trees, plants, anything that gets repeated among your 3d scenes without modifications.

geom_

This is the prefix you will most commonly use on your scene apart from "obj_"  we recommend the use of "geom_" for all your structure geometry, meaning, terrain, walls, roofs, whatever structure thats "unique" and forms part of your building/house/apartment, if you make street lines as geometry they can also be marked as "geom_" since they're never going to be instanced.

plan_ 

This prefix is for the geometry that acts as a 2d display on the engine, since in the engine when you enter an apartment, the first thing you see by default are the 2d plans of the apartment, if you created your floorplan using the Walls Generation Script, all geometry intended for 2d display will be automatically generated with this prefix setup, in which case you dont need to worry for it.

planObj_

This acts the same as the "plan" prefix but "planObj_" is intended for 2d furniture or "props" representation, anything thats not walls, doors, windows, or part of the floorplan structure should have this prefix so the engine can distinguish between this 2 categories and be able to hide them if desired when visualizing the apartmen's measurements.

planDim_ 

You will only add this prefix to the lines (splines) that you will use for marking your floorplan's measurements.

part_ 

This prefix is for marking any geometry that is intended to be highlighted when selected, in most cases you will use the "part_" prefix for marking apartment windows on your building exterior scene.

partColl_ 

This prefix works in conjunction with the "part" prefix, since no geometry object will be able to be highlighted if it is not selected first, and the "partColl_" prefix is preciselly to mark a geometry object as a "selectable volume" so the engine can detect its Collition so users are able to tap on it. (NOTE: the object marked with "part_" must always have a "partColl_" that matches the exact name of the object in order to work, Ex.  part_Window2  -  partColl_Window2)

cam_

You will use this prefix for marking the 3d object the engine will use as the reference for the Camera through which you will view and manipulate your 3d scene when running the App the object you mark with this prefix Must be a "Nurbs" object, a Nurbs Cylinder if the camera is intended to rotate around the project, or a Nurbs plane if the camera is just intended to pan through the project as an aerial view.

camLoc_ 

This prefix works exactly like the "cam" one but "camLoc_" is intended for marking the Nurbs object that will be used as reference for the Points of Interest Camera.

sun_ 

This prefix will mark your Omni light as a "Sun light" that will be recognized by the engine (NOTE: Currently only 1 to 3 suns are supported per scene and can not be used  as regular lamp lights or interior lights)

Gen_ 

This prefix works specifically for the splines that are to be used for the Walls Generation Script, every spline with this prefix will be evaluated by the script.

mapCutout_ 

This prefix is used only within the "MapLoc" 3dmax scene, and only on any spline you create for marking an area where you dont want automatic map buildings to appear, Those automatic buildings are downloaded from OpenStreetMap and can only be prevented from appearing on certain areas you may not want them to be, by drawing a spline over such area on the map, and adding this prefix to it.

mapNoTree_   

This prefix will do the same as "mapCut_" but for Trees that are downloaded/imported from OpenStreetMap, wherever you get undesired trees above your project,  just draw a spline surrounding that area within your "MapLoc" 3dmax scene and mark it with that prefix.

mapCloseBuild_ 

This one will make OpenStreetMap buildings within your drawn spline radius be transparent, making them not obstruct the view of your project.




    • Related Articles

    • Introduction to Hauzd - Part 2

      VERY IMPORTANT NOTICE If you´re using an editor version 1.06.130 or newer, you can import your scenes faster: • You DON'T need to use the prefixes geom_ or obj_ • You DON'T need to UV unwrap channel 2 of every geometric element. • You DON'T need to ...
    • hauzd 2.0 Tags

      This article will be divided in 2 parts: -Tags needed for 3D Modeled objects. -Tags needed for Wall Generation 2.0. What are Tags? Tags are Keywords that tell the engine to perform an specific function or create a certain behavior on your Object or ...
    • Introduction to Hauzd - Part 3

      Para ver el video con subtítulos en español , actívalos en youtube. Introduction to Hauzd - Part 3 Welcome to the third part of our Learning Curve! Missed the second?  GO HERE. in this Tutorial we will learn how to assembly our scenes and use hauzd ...
    • hauzd 2.0 Prefixes

      This article will be divided in 2 parts: -Prefixes needed for 3D Modeled objects. -Prefixes needed for Wall Generation 2.0. What are prefixes? A Name prefix is a keyword that goes infront of your object's name, right at the very beggining, and for ...
    • How to install hauzd Scripts?

      Let´s learn how to install hauzd Scripts! hauzd Max Script Download hauzd Max Script Open 3ds Max 1.On the top bar, go to Customize→Configure System Paths... 2.Double Click in Additional Startup Scripts to open your default folder for Start up ...