mirror of
https://github.com/CodeninjasWS/Usefull-Unity-Scripts.git
synced 2025-05-16 15:40:30 -04:00
Added the 3D terrain generation, and deleted the gitignore... people are smart(ish)
This commit is contained in:
parent
c4cc829da3
commit
0f2ebd5969
9 changed files with 349 additions and 72 deletions
.gitignore
3D/Non-random terrain generation
72
.gitignore
vendored
72
.gitignore
vendored
|
@ -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/*
|
BIN
3D/Non-random terrain generation/Art/Cobblestone.png
Normal file
BIN
3D/Non-random terrain generation/Art/Cobblestone.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 9.3 KiB |
BIN
3D/Non-random terrain generation/Art/Dirt.jpg
Normal file
BIN
3D/Non-random terrain generation/Art/Dirt.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 7.5 KiB |
BIN
3D/Non-random terrain generation/Art/Grass.jpg
Normal file
BIN
3D/Non-random terrain generation/Art/Grass.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 20 KiB |
262
3D/Non-random terrain generation/JSON source/grid.json
Normal file
262
3D/Non-random terrain generation/JSON source/grid.json
Normal 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 }
|
||||
]}
|
||||
|
Binary file not shown.
19
3D/Non-random terrain generation/Scripts/CubeMovement.cs
Normal file
19
3D/Non-random terrain generation/Scripts/CubeMovement.cs
Normal 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);
|
||||
}
|
||||
}
|
65
3D/Non-random terrain generation/Scripts/TileGenerator.cs
Normal file
65
3D/Non-random terrain generation/Scripts/TileGenerator.cs
Normal 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;
|
||||
}
|
3
3D/Non-random terrain generation/readme.md
Normal file
3
3D/Non-random terrain generation/readme.md
Normal 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.
|
Loading…
Add table
Add a link
Reference in a new issue