Buldozer for Terrain Builder – DayZ

From Bohemia Interactive Community
Revision as of 17:14, 27 May 2022 by Lou Montana (talk | contribs) (BI(S) repetita)
Jump to navigation Jump to search

Overview

Buldozer for Terrain Builder is an intergral part of Terrain Editing in DayZ. It is a special mode of the game, which allows an in-engine 3D preview and ability to edit.

Requirements:

  • DayZ and DayZ Tools installed and configured.
  • Work-drive prepared using WorkDrive tool from DayZ Tools package. If you dont have that, follow these steps:
    • Choose a path for Work Drive in DayZ Tools Launcher > Settings (uncheck default if you want to use custom).
    • Use DayZ Tools Launcher > Tools > Extract Game Data to prepare data on your work-drive.
    • Please note that the process of extracting game data should be executed after each major game update to make sure your extracted game data reflect current state in the game.


Setup

To verify Buldozer is setup correctly in your Terrain Builder, check following settings:

  • Terrain Builder > Tools > Preferences > Buldozer
    • .exe file path is set to DayZ_x64.exe (from your DayZ installation)
    • Launch parameters are -buldozer -window -nopause -mod= -profiles=P:\Buldozer -name=Buldozer
    • Data directory is P:\
  • Terrain Builder > Tools > Preferences > User settings
    • Data directory is P:\

After checking all of these options, proceed to load your terrain project and click the clapperboard icon in the top toolbar to run and connect Buldozer to the Terrain Builder.


Buldozer Keybinds for Terrain Editing

This part describes default keybinds for Buldozer when used in default mode (for terrain editing). Please note that these keybinds can be changed simply by pressing Esc key (while you have Buldozer open) and going into the controls options. You may see more options there than on this page, but that is because this menu also shows keybinds for the noland mode of Buldozer, which is used for model preview (more on that at here). These keybinds can be also edited in profile input xml files if one wishes to.

Name Action name Key Description
reset camera UABuldResetCamera 0 [NUM] Resets camera to default state.
turbo UABuldTurbo U While holding it increases cursor speed, camera movement and other miscellaneous actions within Buldozer.
slow UABuldSlow J While holding it decreases cursor speed, camera movement and other miscellaneous actions within Buldozer.
free look UABuldFreeLook 5 [NUM] Holding this key together with mouse movement provides a free look around the cursor.
run script UABuldRunScript F10 Runs a custom script method from a folder called scripts on your work-drive / work-folder.
select toggle UABuldSelectToggle space Toggles a selection on closets object to the cursor.
select and move UABuldSelect LMB Used for selecting objects (hold for rectangular area selection), moving active selection (hold) and elevation change (hold) in terrain brush mode.
select add modifier UABuldSelectAddMod 7 Holding this key allows to add more objects to your current selection.
select remove modifier UABuldSelectRemoveMod 8 Holding this key allows to add remove objects from your current selection.
modify selected UABuldModifySelected RMB Used for various actions such as rotation, scale and elevation change on current selection.
cycle modifiers UABuldCycleMod 5 Cycles through rotation, scale and elevate modifiers which can be applied to active selection.
X axis rotation UABuldRotationXAxisMod 1 Holding this key together with mouse movement rotates current selection along X axis.
Z axis rotation UABuldRotationZAxisMod 3 Holding this key together with mouse movement rotates current selection along Z axis.
cycle coord system UABuldCoordModCycle 6 Cycles through two available options (object and world space) for rotations of selected objects.
sample terrain height UABuldSampleTerrainHeight RMB Takes a sample from the cursor position for set height mode of terrain brush.
set terrain height UABuldSetTerrainHeight LMB Sets a previously sampled terrain height in set height mode of terrain brush.
scale modifier UABuldScaleMod E Holding this key together with 'modify selected' and mouse movement allows to scale all objects (up or down) within the current selection.
elevate modifier UABuldElevateMod T Holding this key together with 'modify selected' and mouse movement allows to change relative Y of all objects within the current selection.
brush smooth modifier UABuldSmoothMod Left Shift Switches terrain brush into smooth mode while holding it.
brush flatten modifier UABuldFlattenMod Left Alt Switches terrain brush into flatten mode while holding it.
Brush inner circle up UABuldBrushRatioUp B + wheel up Changes the size of inner (green) circle of terrain brush.
Brush inner circle down UABuldBrushRatioDown B + wheel down Changes the size of inner (green) circle of terrain brush.
brush outer circle up UABuldBrushOuterUp N + wheel up Changes the size of outer (red) circle of terrain brush.
brush outer circle down UABuldBrushOuterDown N + wheel down Changes the size of outer (red) circle of terrain brush.
brush strength up UABuldBrushStrengthUp M + wheel up Changes the strength of terrain brush.
brush strength down UABuldBrushStrengthDown M + wheel down Changes the strength of terrain brush.
toggle nearest object arrow UABuldToggleNearestObjectArrow H Toggles a visualisation arrows on object that is closest to the cursor.
cycle brush modifier UABuldCycleBrushMod G Cycles through all available terrain brush modes (smooth, flatten and set height).
cursor mode UABuldSelectionType F Switches cursor mode between normal and terrain brush mode.
create last selected object UABuldCreateLastSelectedObject V Creates a copy of last selected object with randomized properties as defined in TB template on cursor.
duplicate selection UABuldDuplicateSelection C Creates an exact copy of a selection on cursor.
delete selection UABuldDeleteSelection R Deletes an active selection.
undo UABuldUndo Left Ctrl + X Reverts last executed action.
redo UABuldRedo Left Ctrl + Y Reverts undo action.
move left UABuldMoveLeft MLEFT
A
Moves cursor (camera).
move right UABuldMoveRight MRIGHT
D
Moves cursor (camera).
move forward UABuldMoveForward MUP
W
Moves cursor (camera).
move back UABuldMoveBack MDOWN
S
Moves cursor (camera).
move up UABuldMoveUp Q Moves cursor (camera).
move down UABuldMoveDown Z Moves cursor (camera).
left UABuldLeft ALEFT Moves current selection with cursor (camera) along its axis.
right UABuldRight ARIGHT Moves current selection with camera along its axis.
forward UABuldForward AUP Moves current selection with camera along its axis.
back UABuldBack ADOWN Moves current selection with camera along its axis.
look left UABuldLookLeft 4 [NUM] Rotates camera around the cursor.
look right UABuldLookRight 6 [NUM] Rotates camera around the cursor.
look up UABuldLookUp 8 [NUM] Rotates camera around the cursor.
look down UABuldLookDown 2 [NUM] Rotates camera around the cursor.
zoom in UABuldZoomIn + [NUM] -No content provided-
zoom out UABuldZoomOut - [NUM] -No content provided-
show texture info UABuldTextureInfo I Shows currently used terrain material on the cursor position.


Buldozer script

When it comes to the terrain editing in Buldozer, you sometime want to change a time of the day, increase/decrease view distance, reset weather and so on. For this, you can run a simple Enforce script, located on the workdrive inside a folder called scripts. Such folder should be already created when you prepare work-drive correctly using the tools. But in case it isn't, create it. Inside of the folder, create a file called buldozer.c (it has to have *.c file extension). Open the file in text editor and put following code inside:

static void BuldozerMain() {
	// name of this file depends on the user-name (its buldozer.c when buldozer is launched with -name=Buldozer)
	// same is applied to the name of this method (<username>Main)
	// press F10 (default shortcut) to run this script in Buldozer (only available when connected to Terrain Builder)

	/*
	// Useful calls
	// sets terrain and object view distance and saves the value into the profile
	GetGame().GetWorld().SetPreferredViewDistance(1500);
	// sets terrain view distance for current bz session / mission
	GetGame().GetWorld().SetViewDistance(2200);
	// sets an object view distance for current bz session / mission
	GetGame().GetWorld().SetObjectViewDistance(2200);
	// changes overall brightness of the scene
	// 0 dark, 0< < 1 = light, 1 > darker
	GetGame().GetWorld().SetAperture(0.55);
	// enables/disables water in buldozer
	bool waterVisible = true;
	GetGame().GetWorld().SetBuldozerWaterEnabled(waterVisible);
	// weather setup - sets clear no rain weather with next change happening in 8hrs
	Weather wo = GetGame().GetWeather();
	wo.GetRain().Set(0, 28800, 0);
	wo.GetFog().Set(0, 28800, 0);
	wo.GetOvercast().Set(0, 28800, 0);
	// mission date and time setup (y,m,d,hr,mn)
	GetGame().GetWorld().SetDate(1985, 6, 1, 12, 0);
	*/

	// example usage
	GetGame().GetWorld().SetViewDistance(1600);
	GetGame().GetWorld().SetObjectViewDistance(1600);
	GetGame().GetWorld().SetAperture(0.55);
	Weather wo = GetGame().GetWeather();
	wo.GetRain().Set(0, 0, 28800);
	wo.GetFog().Set(0, 0, 28800);
	wo.GetOvercast().Set(0, 0, 28800);
	wo.SetWindMaximumSpeed(1);
	wo.SetWindMaximumSpeed(1);
	wo.SetWindFunctionParams(0.1, 0.1, 25);
	GetGame().GetWorld().SetDate(1985, 6, 20, 16, 0);
}