mirror of
https://github.com/CodeninjasWS/Usefull-Unity-Scripts.git
synced 2025-06-09 03:03:52 -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