Added the 3D terrain generation, and deleted the gitignore... people are smart(ish)

This commit is contained in:
gmanandmarbles 2023-08-01 14:53:10 -06:00
parent c4cc829da3
commit 0f2ebd5969
9 changed files with 349 additions and 72 deletions

72
.gitignore vendored
View file

@ -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/*

Binary file not shown.

After

(image error) Size: 9.3 KiB

Binary file not shown.

After

(image error) Size: 7.5 KiB

Binary file not shown.

After

(image error) Size: 20 KiB

View file

@ -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 }
]}

View file

@ -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);
}
}

View file

@ -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;
}

View file

@ -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.