Editing Building structures

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
Building structures can consist of a '''BLOCK''', '''HANGAR''', '''HANGAR2''', '''HANGAR3''', or '''TANK''' or any combination of them.
+
A '''Block''' is an object that can be used to create structures on bases. It is a cube or rectangular prism consisting of three dimensions, length, width, and height, and it can use any of the textures that are listed in the base.cfg file (Orbiter\Config\base.cfg), although some may not be appropriate for a block.
Any texture listed in the file (Orbiter\Config\base.cfg) can be used for textures in these structures, but many may not be appropriate for them, such as Runway1.
 
  
A '''BLOCK''' is an object that can be used to create structures on bases. It is a cube or rectangle consisting of three dimensions, length, width, and height.
+
The description of a block is written into the config file of a base (Orbiter\Config\<''Planet''>\Base\<''BaseConfig.cfg''>).
  
A '''HANGAR''' is an object which consists of four sides, and a roof that is semicircular, sorta like half of a barrel. The roof takes up about the upper half of the height, the lower half is wall.
+
So, let's build a block building. Open up a Base config file, here we will use the Bonneville.cfg file we created to build a sample base.
  
A '''HANGAR2''' is an object which consists of four sides, and a peaked roof, much like a house. The roof takes up about the upper half the height, the lower half is wall.
+
  BLOCK
 
+
        POS -50 0 0  
A '''HANGAR3''' is an object which consists of a barrel-shaped roof, much like the HANGAR2, but the roof reaches to the ground, there are only two walls, front and back.
+
        SCALE 10 1 1
 
+
        ROT 30
A '''TANK''' is a structure that is circular of elliptical with a flat roof.
+
        TEX1 Fcd01 5 1
 
+
        TEX2 Fcd03 1 1
If you have not read the article [[Creating a simple base]] for information on how to build a base, I suggest you do so. Orbiter's description for how to build objects is located in Orbiter\Doc\OrbiterConfig.pdf.
+
        TEX3 Roof01 1 1
 
 
The description of a block is written into the config file of a base (Orbiter\Config\<''Planet''>\Base\<''BaseConfig.cfg''>).
 
 
 
== Textures ==
 
 
 
Textures used for building these structures are found in the directory Orbiter\Textures and are listed in the file Orbiter\Config\Base.cfg. Note that there are a number of textures in the \Textures directory that are not listed in the Base.cfg file that could be used, so, if you like type in the filename without the extension into the Base.cfg file so you can use them in building structures, such as Door01, but, not, let's say, Runway01.
 
 
 
Open the Bonneville.cfg file (Orbiter\Config\Earth\Base\) that we created in the article [[Creating a simple base]] in your favorite text editor such as Notepad or Notepad+. Place your cursor at the end of the line BEGIN_OBJECTLIST and press {{Key|Enter}}. That provides a line to type in an object.
 
 
 
<code>
 
  BLOCK
 
    POS 0 0 -50
 
    SCALE 1 1 1
 
    ROT 330
 
    TEX1 0 0 0
 
    TEX2 0 0 0
 
    TEX3 0 0 0
 
 
  END
 
  END
</code>
 
  
Save the file, you can keep the file open as we will be editing this BLOCK. Exit the scenario, then re-launch it. Now, you will see a small cube sitting on the ground about 50 meters in front of you. In the scenario editor, change the time to about 16:00 hours, that puts the Sun behind you so you can see what effect shadows have.
+
BLOCK: This command on the first line dictates that this is a block shaped object.
 +
POS: The distance from the base's center point and elevation. X Y Z
 +
    X: meters north (-) or south (+)
 +
    Y: elevation from the ground in meters
 +
    Z: meters east (+) or west (-)
 +
SCALE: X Y Z Length, depth, height of the block in meters
 +
    X
  
Now note this BLOCK is white on the side facing you. If you moved your ship so you could see one of the sides, you will note that it is gray. Orbiter applies shading for shadows.
+
The next line is the SCALE, which is how big in meters is the block, the first one is the width, or left to right dimension, the second is the height, and the third is the depth or length, front to back.
  
The BLOCK should look something like this:
+
So, type in '''SCALE 10 1 1'''.
[[Image:Block_0_01.png|200px|thumb|center|Image of a BLOCK with no texture.]]
 
  
This BLOCK is a cube 1 meter cubed. Now, let's edit the BLOCK in Bonneville.cfg as follows:
+
Next line is ROT, rotation from east in degrees, 45 would face the block northeast, 135 northwest, 225 wouthwest, and 315 southeast.
  
<code>
+
So, let's type in '''ROT 30'''.
BLOCK
 
    POS 0 0 -50
 
    SCALE 1 1 1
 
    ROT 330
 
    TEX1 Fcd01 1 1
 
    TEX2 Fcd03 1 1
 
    TEX3 Roof01 1 1
 
END
 
</code>
 
 
 
Again, save the scenario, exit to the Launchpad and re-launch. Now, your BLOCK should look like something like this.
 
[[Image:Block_Fcd01_01.png|200px|thumb|center|Image of the same block with Fcd01 on the front and back, Fcd03 on the sides, Roof01 on the top, 1 meter per side.]]
 
 
 
Fcd01 produces a wall with four windows wide and four windows tall all into that one meter square side, and Fcd03 produces a wall with three sets of windows wide and three tall. The number of items produced on a face vary from one to another Fcd.
 
 
 
== Components of a BLOCK ==
 
When building a BLOCK, the first line must be '''BLOCK'''.  
 
  
The next line describes the position of the BLOCK in relation to the center of the base. If you type '''POS 0 0 0''', the center of the BLOCK will sit right on the center of the base.  
+
The next line is TEX1 followed by a texture name and two numbers. This will place a texture on the front and back of the structure. Texture name is any texture listed in the Base.cfg file, but you may not want to select Runway2, for example. the first number is how many of this textures wide, and the last number is how many textures high.
  
For the position parameter, '''POS''' must be the first part of the line.  
+
So, let's type in '''TEX1 Fcd01 5 1'''.
  
The first number '''X''' is the distance north or south of center of the base (north is -, south us +) in meters.
+
Next line, TEX2 followed by a texture name and two numbers, but this is for the left and right face of the structure.
  
The second number '''Y''' is the elevation above the terrain or base plane the bottom of the BLOCK sits, above is +, below is -. This can be useful if you need to put one BLOCK on top of another to build a complex structure.
+
So, let's type in '''TEX2 Fcd03 1 1'''.
  
The third number '''Z''' is the position in meters east +, or west - of the center of the base.
+
And the last line is TEX3 followed by a texture name and two numbers. This will place a texture on the top or roof of the structure, usually Roof01 or Roof02, again how many roof segments in width and length.
  
The next line starts with '''SCALE'''. This indicates the size of the BLOCK in the X, Y, and Z axis. So, if you type in SCALE 1 2 3, that makes the BLOCK 1 meter wide, 2 meters tall, and 3 meters front to back. Orbiter will stretch the texture to fill the dimensions called out.
+
So, let's type in '''TEX3 Roof01 1 1'''.
  
The next  line is '''ROT'''. At ROT 0, the front of the building is facing East, positive ROT is clockwise in degrees, range is 0-360.
+
Then the last thing is type in END on the last line. That tells Orbiter that this is the end of data for this block. The next line may begin a new object.
  
The next line is '''TEX1'''followed by three parameters, the first 0 or which texture is called out from Base.cfg, the first number is how many iterations of the texture is squeezed into the width, and the third number is how many iterations is squeezed into the height. This applies to the front face and the back face of the BLOCK.
+
So, type in '''END'''.
  
The next line is '''TEX2''' followed by three parameters, the same as TEX1, but applies to the left and right faces of the BLOCK.
+
Now, your block should be described as follows.
 
 
The next line is '''TEX3''' followed by three parameters, the same as TEX1 and TEX2, but applies to the top, or roof of the BLOCK.
 
 
 
The first term of each '''TEX''' callout is the name of a texture from Base.cfg. Any one can be used in each, but, using Runway1 or Lpad02 would probably not be appropriate.
 
 
 
Now, let's build two BLOCKs each with different parameters and compare.
 
 
 
Replace the existing BLOCK with the following:
 
  
 
<code>
 
<code>
BLOCK
+
BLOCK
    POS 0 0 -50
+
        POS -50 0 0  
    SCALE 1 2 3
+
        SCALE 10 1 1
    ROT 330
+
        ROT 30
    TEX1 Fcd01 1 1
+
        TEX1 Fcd01 5 1
    TEX2 Fcd01 1 1
+
        TEX2 Fcd03 1 1
    TEX3 Roof01 1 1
+
        TEX3 Roof01 1 1
END
+
END
BLOCK
 
    POS -4 0 -50
 
    SCALE 1 2 3
 
    ROT 330
 
    TEX1 Fcd01 1 2
 
    TEX2 Fcd01 2 1
 
    TEX3 Roof01 2 2
 
END
 
 
</code>
 
</code>
  
After launching Orbiter, you will see two BLOCKs, the same size, both use Fcd01 for all sides, but the windows are different.
+
Save your config file, launch orbiter, and your structure should look something like this.
 
 
For the left BLOCK, SCALE 1 2 3 creates a block 1 meter wide, 2 meters tall, 3 meters deep. TEX1 Fcd01 1 1 creates one Fcd01 wide, 1 Fcd01 tall stretching the Fcd to fit the height. The same with TEX2 and TEX3, TEX3 calling out a Roof design.
 
 
 
For the right block, SCALE 1 2 3 does the same, but TEX1 Fcd01 1 2 creates one Fcd01 wide and two Fcd01 tall making twice as many windows. TEX2 2 1 creates four windows high and eight windows wide on the side faces. TEX3 2 2 creates a roof with twice as many seams.
 
 
 
A TEX parameter can use decimal numbers in the second and third parameter. For example, TEX1 1 1.5 will get you 1.5 times as many Fcd01 tall, which creates 6 windows tall. Remember each Fcd entity may have different number of windows or doors, etc., so you need to vary the math.
 
 
 
Also, note that many of the textures, particularly Fcd ones will have a texture for daytime and another for nighttime, showing some lights through the windows. You can see this by changing your time of day in the scenario to nightime, let's say 04:00.
 
 
 
== Components of a Hangar ==
 
Let's change the BLOCK you have in Booneville.cfg to a HANGAR, it looks like this.
 
 
 
<code>
 
HANGAR
 
    POS 0 0 -50
 
    SCALE 1 1 1
 
    ROT 330
 
    TEX1 Roof01 1 1
 
    TEX2 Roof01 1 1
 
    TEX3 Roof01 1 1
 
END
 
</code>
 
 
 
Your HANGAR should look something like this:
 
[[Image:Hangar_Roof01_Day.png|200px|thumb|center|Image of a HANGAR using Roof01 texture.]]
 
 
 
The term POS is the same as for BLOCK, position in meters from the center of the base, the first number is North- or South+, the second is elevation above ground, the third East+ or West-.
 
 
 
The term SCALE is the dimensions in meters, left to right, then height, then front to back.
 
 
 
ROT is in degrees from East going clockwise.
 
 
 
TEX1 is the texture used for the front and rear walls, TEX2 is the texture used for the front and rear walls, and TEX3 is the texture used for the roof.
 
 
 
This Hangar has a SCALE of 10 5 15, TEX1 and TEX2 is Roof01 5 1, note that there are 5 times as many ribs on the width of the front face.
 
[[Image:Hangar_Roof01_TexX5.png|200px|thumb|center|Hangar with Roof01 on the front, Scale is 10 5 15, TEX1 and TEX2 is Roof01 5 1.]]
 
 
 
== Components of a HANGAR2 ==
 
A HANGAR2, which looks like a house with a peaked roof
 
<code>
 
HANGAR2
 
    POS 0 0 -50
 
    SCALE 1 1 1
 
    ROT 330
 
    TEX1 Roof01 1 1
 
    TEX2 Roof01 1 1
 
    TEX3 Roof01 1 1
 
END
 
</code>
 
 
 
 
 
== Gallery ==
 
In my Block.cfg I have added all textures from the Orbiter\Textures\ folder that can be used for blocks and shown below including night views where appropriate. So, you don't need to keep making different ones in your base to see what they look like. These blocks will be 1 meter each dimension. You can scale as needed in your base. Note: Any blocks that are visible at night have a nighttime view, but, any blocks with no nighttime view are essentially invisible at nighttime.
 
 
 
<gallery mode=nolines class="center">
 
Image:Block_0_01.png|<center>Block with no textures<br>Daytime</center>
 
Image:Block_Ball_01.png|<center>Ball<br>Daytime</center>
 
Image:Block_Ball2_01.png|<center>Ball2<br>Daytime</center>
 
Image:Block_Ball3_01.png|<center>Ball3<br>Daytime</center>
 
Image:Block_Cape17_Day.png|<center>Cape17<br>Daytime</center>
 
Image:Block_Cape18_Day.png|<center>Cape18<br>Daytime</center>
 
Image:Block_Cape19_Day.png|<center>Cape19<br>Daytime</center>
 
Image:Block_Cape20_Day.png|<center>Cape20<br>Daytime</center>
 
Image:Block_Cape21_Day.png|<center>Cape21<br>Daytime</center>
 
Image:Block_Cape22_Day.png|<center>Cape22<br>Daytime</center>
 
Image:Block_Cape23_Day.png|<center>Cape23<br>Daytime</center>
 
Image:Block_Cape23_Night.png|<center>Cape23<br>Nighttime</center>
 
Image:Block_Concrete_Day.png|<center>Concrete<br>Daytime</center>
 
Image:Block_Concrete1_Day.png|<center>Concrete1<br>Daytime</center>
 
Image:Block_Door01_Day.png|<center>Door01<br>Daytime</center>
 
Image:Block_Fcd01_Day.png|<center>Fcd01<br>Daytime</center>
 
Image:Block_Fcd01_Night.png|<center>Fcd01<br>Nighttme</center>
 
Image:Block_Fcd02_Day.png|<center>Fcd02<br>Daytime</center>
 
Image:Block_Fcd02_Night.png|<center>Fcd02<br>Nighttime</center>
 
Image:Block_Fcd03_Day.png|<center>Fcd03<br>Daytime</center>
 
Image:Block_Fcd03_Night.png|<center>Fcd03<br>Nighttime</center>
 
Image:Block_Fcd04_Day.png|<center>Fcd04<br>Daytime</center>
 
Image:Block_Fcd04_Night.png|<center>Fcd04<br>Nighttime</center>
 
Image:Block_Fcd05_Day.png|<center>Fcd05<br>Daytime</center>
 
Image:Block_Fcd05_Night.png|<center>Fcd05<br>Nighttime</center>
 
Image:Block_Fcd06_Day.png|<center>Fcd06<br>Daytime</center>
 
Image:Block_Fcd06_Night.png|<center>Fcd06<br>Nighttime</center>
 
Image:Block_Fcd07_Day.png|<center>Fcd07<br>Daytime</center>
 
Image:Block_Fcd08_Day.png|<center>Fcd08<br>Daytime</center>
 
Image:Block_Fcd09_Day.png|<center>Fcd09<br>Daytime</center>
 
Image:Block_Fcd10_Day.png|<center>Fcd10<br>Daytime</center>
 
Image:Block_Fcd11_Day.png|<center>Fcd11<br>Daytime</center>
 
Image:Block_Fcd11_Night.png|<center>Fcd11<br>Nighttime</center>
 
Image:Block_Fcd12_Day.png|<center>Fcd12<br>Daytime</center>
 
Image:Block_Fcd12_Night.png|<center>Fcd12<br>Nighttime</center>
 
Image:Block_Fcd13_Day.png|<center>Fcd13<br>Daytime</center>
 
Image:Block_Fcd13_Night.png|<center>Fcd13<br>Nighttime</center>
 
Image:Block_Fcd14_Day.png|<center>Fcd14<br>Daytime</center>
 
Image:Block_Fcd15_Day.png|<center>Fcd15<br>Daytime</center>
 
Image:Block_Hangrail_Day.png|<center>Hangrail<br>Daytime</center>
 
Image:Block_Hangrail_Night.png|<center>Hangrail<br>Nighttime</center>
 
Image:Block_Lpad01_Day.png|<center>Lpad01<br>Daytime</center>
 
Image:Block_Lpad01_Night.png|<center>Lpad01<br>Nighttime</center>
 
Image:Block_Lpad02_Day.png|<center>Lpad02<br>Daytime</center>
 
Image:Block_Lpad02_Night.png|<center>Lpad02<br>Nighttime</center>
 
Image:Block_Lpad02a_Day.png|<center>Lpad02a<br>Daytime</center>
 
Image:Block_Lpad02a_Night.png|<center>Lpad02a<br>Nighttime</center>
 
Image:Block_Monorail_Day.png|<center>Monorail<br>Daytime</center>
 
Image:Block_Monorail_Night.png|<center>Monorail<br>Nighttime</center>
 
Image:Block_Roof01_Day.png|<center>Roof01<br>Daytime</center>
 
Image:Block_Roof02_Day.png|<center>Roof02<br>Daytime</center>
 
Image:Block_rough1_Day.png|<center>rough1<br>Daytime</center>
 
Image:Block_Runway1_Day.png|<center>Runway1<br>Daytime</center>
 
Image:Block_Runway2_Day.png|<center>Runway2<br>Daytime</center>
 
Image:Block_Solpanel_Day.png|<center>Solpanel<br>Daytime</center>
 
Image:Block_Taxiway1_Day.png|<center>Taxiway1<br>Daytime</center>
 
Image:Block_Taxiway1_Night.png|<center>Taxiway1<br>Nighttime</center>
 
Image:Block_Taxiway2_Day.png|<center>Taxiway2<br>Daytime</center>
 
Image:Block_Taxiway2_Night.png|<center>Taxiway2<br>Nighttime</center>
 
Image:Block_tile1_Day.png|<center>tile1<br>Daytime</center>
 
Image:Block_visor_Day.png|<center>visor<br>Daytime</center>
 
Image:Block_Wall01_Day.png|<center>Wall01<br>Daytime</center>
 
Image:Block_Window01_Day.png|<center>Window01<br>Daytime</center>
 
</gallery>
 
 
 
[[Category:Articles]]
 
[[Category:Tutorials]]
 

Please note that all contributions to OrbiterWiki are considered to be released under the GNU Free Documentation License 1.2 (see OrbiterWiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)

Template used on this page: