DEV: Config Lua

DEV: Config Lua

This documentation is to have a better understanding for the  Dev  folder  config Lua and mainly a guide through its sections.

(NOTE: A New config lua segmented by sections has been created for new studios, this new version can be downloaded by older studios from the "Attachments" tab above, (This lua is configured only for Skyline))

Screenshot:




As you can see on the screenshot above, these blue labels have been created, clearly marking each section of the whole configuration file.

( If you're wondering how you can have your lua looking like this, you can change it under " Settings - Style Configurator - Select Theme - 'Plastic Code Wrap'  " )


Now, here is a brief explanation of each section:


TYPE OF DISPLAY

Here is where you will setup the way in which your app will run, it can be " Portrait " (Vertical View)  or it can be " Landscape " (Horizontal View)
you just write the one you want inside the quotation marks. (This would take effect in conjunction with your UI Illustrator files, they must match the format you choose)


PROJECT NAME

Here you will write the name of your project, the User interface is going to take your project name from here on various displays.


LOGO REFERENCES

This has to do with the UI itself, and this is set by default, it references the logo images you have setup on the "Common/UI" illustrator file, named as "Facilitators" 
this doesnt need to be modified.


IMAGE GALLERY SETUP

On this section you will be setting up the images you're gonna run in your app, this images need to be included inside the " Dev/Common/Gallery " folder and the names of the images should always be
numbers following the regular sequence ( 1, 2, 3, 4, 5, 6..... etc.)

Inside this section you see that you have various "blocks" of text, each of this blocks stand for a "Gallery Section" on your project, By default its named by Exterior Section, Amenities for social area 
images, and Interiors Section.  All of them are written in their English and Spanish version.

Inside you can see the numbers, each one representing a different image that must exist on the Gallery folder, and you write down the description of each image, in their English and Spanish versions.


PROJECT DESCRIPTION TEXT

Here is were you will write, or paste the text for the description of your project,

There you can see where you can change the Title for the text section, you can have your description segmented into diferent sections with different titles as you can see in the Skyline sample project,
and you write it in both languages too, unless it isnt necessary for your project.

Its important to copy the text infront of the " \t " and in a single line like it is by default.


SELECTION HIGHLIGHT COLORS

Here you can setup the colors that your App will have to select your Units, being them buildings, areas, or apartment units, you can also set the highlight color that the apartment will get depending
on its current status, if its Available, Reserved or Sold, by default Available is Green, Reserved is Yellow, and Sold its Red.

The way you setup the colors for now, its changing the 4 numbers inside the parenthesis next to "colorMod" Those numbers stand for  R G B A values (Red, Green, Blue and Alpha) Alpha should always be 1


APP PROPERTY CATEGORIES & LABELS

This section contains the setup for the way in which your app would display certain things like, the measurements of your units, prices numeric displays, with decimals, without decimals, the name
in which you wish to describe your unit's areas like dorms or bathrooms, the way in which you want to display this names may vary

(NOTE: Before modifying anything within this section, contact assistance first)


LIST OF APP NODES

This section contains similar information to the previews, and you should also contact further assistance before modifying.


TYPE OF FILTERED SELECTION

Here is where you can setup the way in which your project Units are gonna be filtered, for this you must notify support on the type of filter you need for your project.


APP AVAILABLE FUNCTIONS

This is a Big section, and it contains part of the Core that makes the app work, here you can find all the functions that define your project's functionallity, what you will be able to add and the way in 
which it will behave, part of this functions you can modify but for the most part it has to be left untouched unless you're sure of what you're changing, basic explanation for certain function
parameters will be covered on this documentation, but for the rest please ask for assistance, although most of the time this whole section can be left by default.


SUN PARAMETERS FUNCTION

Here are all the parameters that control the sun for your exterior scenes, besides what you do with your sun (OmniLight) on 3dsMax, you have to keep in mind that this values add to whatever you already
have on 3dsMax, they wont overwrite values from your OmniLight.

areaRadius

This is lets say the Reach of your sun, the number controls a "sphere" diameter around it, just like the near/far attenuation parameter on 3dsMax omni light, beware that the larger it is, it will cover your entire scene, and begin having really sharp shadows, and the smaller you make it, you start getting soft / blurred shadows, and if too small may not even illuminate your scene.

indirectMissMax & indirectMissMin

These parameters control sort of an environmental map for the light rays calculation, their default values work for every case and it shouldnt be modified.

directMult

This basically controls the Direct Intensity of your Sun, it will create brighter lightspots and darker shadows when cranked up.

indirectMult

This parameter acts like a Global Illumination effect, it will intensify or diminish the amount of light that surrounds everything.

indirectOffset

This is similar to the indirectMult, but it will intensify the colors and create a more natural global illumination effect.

bounceCount

This controls the amount of light bounces in your scene, if you increase the value you will get a brighter scene but you will also increase the baking times significantly, usually it works great by default of 1


PROJECT BUILDING SCENE FUNCTION PARAMETERS

Here you can modify the parameters for your 3d scene or scenes, that are defined as "Buildings" on your project, you can modify how the light affects the objects on your 3d scene inside the engine,
modify the camera controls like the level of zoom in, zoom out, how much you can pan up or pan down, all these sorts of things, for now we'll see a few of these parameters, if you need further information
for modifying these parameters, contact support.

objAoBlend

This will control the Ambient Occlusion blending on all your objects marked with the prefix "obj_" (for information on prefixes go here) the "Blending" in this case, acts like an Opacity Control of the
Ambient Occlusion Shadow.

objAoMaxDist

This controls the "bleeding" of your Ambient Occlusion on all your objects marked with the prefix "obj_"  (for information on prefixes go here) the "bleeding" refers to how much the shadow of the
Ambient Occlusion Spreads among your object.


geomAoBlend

This will control the Ambient Occlusion blending on all your objects marked with the prefix "geom_" (for information on prefixes go here) the "Blending" in this case, acts like an Opacity Control of the
Ambient Occlusion Shadow.

geomAoMaxDist

This controls the "bleeding" of your Ambient Occlusion on all your objects marked with the prefix "geom_"  (for information on prefixes go here) the "bleeding" refers to how much the shadow of the
Ambient Occlusion Spreads among your object.


PROJECT APARTMENT SCENE FUNCTION PARAMETERS

This has basically the same parameters as the "BUILDING SCENE FUNCTION" but these ones will work on your 3d scenes defined as "Apartments"


PROJECT BUILDING TYPE FUNCTION PARAMETERS

This contains a list of which will be the options available to modify for your every building Type,  The difference between Scenes and Types, is that each scene must always be linked to a 3dScene, and its unique, while you can define various types using a single 3dScene, or having various 3d scenes defined like a single apartment type, for example if you have 3 floors, and on each floor has 2 apartments, but each of those apartments can have diferent accomodations inside, you can have various 3d scenes for the different accomodations, and they will be under 1 type of apartment.  Beware that this controls your BuildingTypes, not the apartments, the mention of the apartments on this description was just an example.


PROJECT APARTMENT TYPE FUNCTION PARAMETERS

This will be the same as the "PROJECT BUILDING TYPE FUNCTION" but this one will control the settings that your Apartment Types will contain.


PROJECT COMMON AREA TYPE FUNCTION PARAMETERS

Same type function but acts on your CommonArea instances.  CommonArea refers to a Type Category to mark a  Floorplan scene that represents Amenities or Social Area of a project.  So if you have 
a 3d scene of a Social Area, you will add it as a "floorScene" and you will later define its type as a "CommonArea" this is for it to have its own unique parameters beside the ones that regular Apartments have.

PROJECT BUILDING FUNCTION

This function defines the way in which the engine can recognize that you can be adding for example 10 identical towers / buildings to a project, each one having its own unique availability and units, while still using the same 3d Scene.


PROJECT APARTMENT FUNCTION

This function defines the settings that your every apartment unit will display, your building can have 10 different apartments / individual 3dscenes for example, but they can fill the 50/100/200 or whatever quantity of total apartments your project has, with this function you add each individual apartment unit to fill the whole project, so each can have its own availability and price control, as well as other parameters without having to create an individual 3d scene for every single one on the entire project.


PROJECT COMMON AREA FUNCTION

This acts the same as the building and apartment function, but for your Common Areas.


ADD 3D SCENES

This will be the section you will spend most of your time on, here is where you add the list of your every 3d scene to the app's code, alghough these are code lines, the only thing you have to do is copy/paste and fill the quotations " " with your 3dmax scene name.

Here you also define how you're adding your 3d scene as, if you read the previews functions, you can add your 3d scenes as  Building Scenes and Floorplan Scenes for now, there are more ways
of adding your 3d scenes, for example if you need to define a Masterplan, an Office or a Keyplan of an entire floor.  If this is the case of your project you can contact support to assist you with the
required setup, but by default these 2 ways of adding a 3d scene are the most commonly used.


ADD SCENE TYPES

Here you will add the Type names for your 3D Scenes, for information on Types read the "PROJECT TYPE FUNCTION PARAMETERS" above


ADD PROJECT BUILDING & UNITS

Here is where you will add your every building and every single unit your project contains, with its individual information.  What each quotation group stands for, its defined by the Building or Apartment function, in every project list, each unit has to have its route/Address, for example:

The addApartment function is defined as this:

function addApartment(nodes, parentAddr, id, typeId, floorIdx)

So this function contains the parent Address, the apartment Id, the Type Id, and the floor Index

addApartment(dev.nodes, "A", "1A", "apt_A", 1)

The A is the name of the Main Building 3d scene, the 3dmax scene itself its named "A", so thats the Root, because the apartment its inside the A building, then the "1A" is the name this apartment will have, the "apt_A" is the name of the apartment 3d scene that this Unit is going to use, and the last number here, stands for the Floor number in which this unit resides.  So you just need to keep changing what is inside of the quotation marks, accoding to your scene Units.



ADDITIONAL COMMENTS:

So in the end all the Lua files can look intimidating but if you follow this brief description its just a matter on changing a few numbers here and there if necessary, changing names and copy/pasting lines.
its almost the same you will be doing in the future once we convert all the config luas into a visual user interface, then you will just fill in the blanks and it will be much more intuitive.

For now, before going to deep into configurating these files, we strongly recommend you get in a call with us at least during the development of your first project, and we will guide you through the whole process until you get a complete understanding of these configuration files.






    • Related Articles

    • How to Integrate AR into your projects?

      Our newest Augmented Reality feature can add even more interactivity to your projects!  You can easily inspect, zoom and rotate using your device real time movement and surroundings! To add this new feature to a NEW project, you just need to have our ...
    • Understanding User Interface for forms Feature

      User Interface If you´re creating a new project from scratch, you can use updated standard UI Elements, this File contains all the buttons that the app need to show the forms. Elements can be found on the following layers: btnFormQuote1 will display ...
    • Introduction to Hauzd - Part 4

      Para ver el video con subtítulos en español, actívalos en youtube Introduction to Hauzd - Part 4 In this video we will learn how to modify and use our interface template to create an unique look for your client. Your clients will always appreciate if ...
    • How to: Create and use Forms for Reservation, Quote and Lead generation

      Creating a hauzd project means you will have a powerful 3D application tool to sell your Real Estate Project. We have recently launched a new feature that allows your Sales Team to catch the information of the users, send quotes automatically and ...
    • Integrations via API

      We are working every day to make your life easier and better, that's why we've created CRM integrations via APIs  to help you save time and do less manual tasks. Managing your Inventory data with a CRM? This integration can keep you away from tedious ...