diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 58cbc82..0000000 --- a/.gitignore +++ /dev/null @@ -1,72 +0,0 @@ -# This .gitignore file should be placed at the root of your Unity project directory -# -# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore -# -/[Ll]ibrary/ -/[Tt]emp/ -/[Oo]bj/ -/[Bb]uild/ -/[Bb]uilds/ -/[Ll]ogs/ -/[Uu]ser[Ss]ettings/ - -# MemoryCaptures can get excessive in size. -# They also could contain extremely sensitive data -/[Mm]emoryCaptures/ - -# Recordings can get excessive in size -/[Rr]ecordings/ - -# Uncomment this line if you wish to ignore the asset store tools plugin -# /[Aa]ssets/AssetStoreTools* - -# Autogenerated Jetbrains Rider plugin -/[Aa]ssets/Plugins/Editor/JetBrains* - -# Visual Studio cache directory -.vs/ - -# Gradle cache directory -.gradle/ - -# Autogenerated VS/MD/Consulo solution and project files -ExportedObj/ -.consulo/ -*.csproj -*.unityproj -*.sln -*.suo -*.tmp -*.user -*.userprefs -*.pidb -*.booproj -*.svd -*.pdb -*.mdb -*.opendb -*.VC.db - -# Unity3D generated meta files -*.pidb.meta -*.pdb.meta -*.mdb.meta - -# Unity3D generated file on crash reports -sysinfo.txt - -# Builds -*.apk -*.aab -*.unitypackage -*.app - -# Crashlytics generated file -crashlytics-build.properties - -# Packed Addressables -/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* - -# Temporary auto-generated Android Assets -/[Aa]ssets/[Ss]treamingAssets/aa.meta -/[Aa]ssets/[Ss]treamingAssets/aa/* diff --git a/3D/Non-random terrain generation/Art/Cobblestone.png b/3D/Non-random terrain generation/Art/Cobblestone.png new file mode 100644 index 0000000..feb0deb Binary files /dev/null and b/3D/Non-random terrain generation/Art/Cobblestone.png differ diff --git a/3D/Non-random terrain generation/Art/Dirt.jpg b/3D/Non-random terrain generation/Art/Dirt.jpg new file mode 100644 index 0000000..af1c581 Binary files /dev/null and b/3D/Non-random terrain generation/Art/Dirt.jpg differ diff --git a/3D/Non-random terrain generation/Art/Grass.jpg b/3D/Non-random terrain generation/Art/Grass.jpg new file mode 100644 index 0000000..6ee761a Binary files /dev/null and b/3D/Non-random terrain generation/Art/Grass.jpg differ diff --git a/3D/Non-random terrain generation/JSON source/grid.json b/3D/Non-random terrain generation/JSON source/grid.json new file mode 100644 index 0000000..d8b4846 --- /dev/null +++ b/3D/Non-random terrain generation/JSON source/grid.json @@ -0,0 +1,262 @@ +{ + "rows": 16, + "columns": 16, + "tiles": [ + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 1 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 1 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 2 }, + { "tileNumber": 2 }, + { "tileNumber": 0 }, + { "tileNumber": 1 } + ]} + \ No newline at end of file diff --git a/3D/Non-random terrain generation/Non-random-terrain-generation.unitypackage b/3D/Non-random terrain generation/Non-random-terrain-generation.unitypackage new file mode 100644 index 0000000..5f2747c Binary files /dev/null and b/3D/Non-random terrain generation/Non-random-terrain-generation.unitypackage differ diff --git a/3D/Non-random terrain generation/Scripts/CubeMovement.cs b/3D/Non-random terrain generation/Scripts/CubeMovement.cs new file mode 100644 index 0000000..acb7db9 --- /dev/null +++ b/3D/Non-random terrain generation/Scripts/CubeMovement.cs @@ -0,0 +1,19 @@ +using UnityEngine; + +public class CubeMovement : MonoBehaviour +{ + public float moveSpeed = 5f; + + private void Update() + { + // Get input for movement in both horizontal and vertical axes + float horizontalInput = Input.GetAxis("Horizontal"); + float verticalInput = Input.GetAxis("Vertical"); + + // Calculate the movement direction based on input + Vector3 movementDirection = new Vector3(horizontalInput, 0f, verticalInput).normalized; + + // Move the cube in the calculated direction + transform.Translate(movementDirection * moveSpeed * Time.deltaTime); + } +} diff --git a/3D/Non-random terrain generation/Scripts/TileGenerator.cs b/3D/Non-random terrain generation/Scripts/TileGenerator.cs new file mode 100644 index 0000000..adda40c --- /dev/null +++ b/3D/Non-random terrain generation/Scripts/TileGenerator.cs @@ -0,0 +1,65 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + + +[System.Serializable] +public class TileData +{ + public int tileNumber; +} + +public class TileGenerator : MonoBehaviour +{ + public Transform gridParent; + public TextAsset jsonFile; + public GameObject[] tilePrefabs; + + private void Start() + { + GenerateGridFromJSON(); + } + + private void GenerateGridFromJSON() + { + string jsonData = jsonFile.text; + GridData gridData = JsonUtility.FromJson<GridData>(jsonData); + + int rows = gridData.rows; + int columns = gridData.columns; + List<TileData> tiles = gridData.tiles; + + for (int row = 0; row < rows; row++) + { + for (int col = 0; col < columns; col++) + { + int tileIndex = row * columns + col; + if (tileIndex < tiles.Count) + { + TileData tileData = tiles[tileIndex]; + + if (tileData.tileNumber >= 0 && tileData.tileNumber < tilePrefabs.Length) + { + GameObject tilePrefab = tilePrefabs[tileData.tileNumber]; + Vector3 position = new Vector3(col, 0f, row); // Set the Y position to 0 to make it flat + GameObject tileGO = Instantiate(tilePrefab, position, Quaternion.identity, gridParent); + // You may also adjust the scale, rotation, or other properties of the tile here. + } + else + { + Debug.LogWarning("Invalid tile number in JSON data at row: " + row + ", col: " + col); + } + } + } + } + } + +} + +[System.Serializable] +public class GridData +{ + public int rows; + public int columns; + public List<TileData> tiles; +} diff --git a/3D/Non-random terrain generation/readme.md b/3D/Non-random terrain generation/readme.md new file mode 100644 index 0000000..f47c159 --- /dev/null +++ b/3D/Non-random terrain generation/readme.md @@ -0,0 +1,3 @@ +# Non random terrain generation. + +In this folder there are numberous sub folders these subfolders contain the assets used. I tried my best to name them to make sense. Just drag and drop the corrosponding items into the scripts. The domain for the grid is just an empty gameobject. \ No newline at end of file