From 061fe5ea8dc42d28aeaa024a942ec26c0ba113d4 Mon Sep 17 00:00:00 2001 From: Tom Ruisseau Date: Wed, 17 Jul 2024 13:31:42 +0200 Subject: [PATCH] Room page --- src/Doc/Steps/room.md | 34 ++++++++++++++++++---------------- src/Img/Window component.png | Bin 0 -> 37998 bytes 2 files changed, 18 insertions(+), 16 deletions(-) create mode 100644 src/Img/Window component.png diff --git a/src/Doc/Steps/room.md b/src/Doc/Steps/room.md index d74866d..eb82613 100644 --- a/src/Doc/Steps/room.md +++ b/src/Doc/Steps/room.md @@ -10,24 +10,26 @@ The room generation algorithm has several parameters that can be adjusted to cha - **Height**: The height of the room in cells. default value is 2.5 meters. - **Max room size**: The maximum size of the room in cells. default value is room 40x40 cells. -## Room generation example -The following example shows how to generate a room with the default parameters: +## Openings placement -```Csharp -using ClassicRoom; -using UnityEngine; +Openings are the doors and windows. To create one, you need to attach to the prefab a box collider and the ```Openings.cs``` script. This script will allow you to set the opening type (door or window) and the mean of opening (translation or rotation). You'll also need to link the opening's moving part, the center transform and the structure. -public class RoomGenerationExample : MonoBehaviour -{ - - [SerializeField] private RoomGenerationData roomGenerationData; - void Start() - { - ClassicRoom room = gameObject.AddComponent(); - room.InitRoom(roomGenerationData);//generate room with defined parameters - } -} -``` +

+ Opening game object's components +
+ Figure: Opening game object's components example +

+Once the room layout is complete, exterior walls are procedurally replaced by walls containing doors and windows, to match the opening amount set by the user. These walls already contains windows, but doors are placed after the wall so the color can be chosen randomly. +To create a wall prefab, you can modify the base wall that has no openings and dig holes of the right size using the ProBuilder tool. You can then add either the windows to the prefab, or a door spawner with the ```WallDoor.cs``` script. + +These walls can then be added to the lists in the ```RoomGenerationData.asset``` scriptable object, located in ```Assets/Data``` so that they can be picked by the generation algorithm. + +## Textures + +After the walls and openings placement, textures are applied to each side of the room, to the floor, to the ceiling and to window frames. + The textures are chosen from the 4 lists of textures in the ```RoomGenerationData.asset``` scriptable object, located in ```Assets/Data```. + +To allow new textures to be used, you can create Unity's materials and add them to one of the lists. The materials must be set to the Standard shader and have a texture in the Albedo slot. diff --git a/src/Img/Window component.png b/src/Img/Window component.png new file mode 100644 index 0000000000000000000000000000000000000000..e06f31bd843a4268a4b755d34744e4a9f909d4d5 GIT binary patch literal 37998 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 I>{8_a0QV9>)c^nh literal 0 HcmV?d00001