Skip to content

Instantly share code, notes, and snippets.

View davepape's full-sized avatar

Dave Pape davepape

View GitHub Profile
@davepape
davepape / grid.cs
Created October 17, 2018 22:53
Create a Unity mesh containing a simple 2D grid of triangles
// Create a mesh of triangles in a 2D grid
// Attach this script to a GameObject that already has a MeshFilter - it will use that MeshFilter, replacing its existing mesh data
// Creates a numCols x numRows grid of vertices in the X/Y plane. Then for each square cell in the grid it creates 2 triangles
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class grid : MonoBehaviour {
public int numRows=10, numCols=10;
@davepape
davepape / waves.cs
Created October 17, 2018 22:56
Create simple animated waves
// Creates a Unity Mesh that contains a wavy 2D surface, then animates that surface.
// Based on grid.cs (except now in the X/Z plane), gives each vertex a different height using Sin & Cos.
// Should be attached to a GameObject that already has a MeshFilter component.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class waves : MonoBehaviour {
public int numRows=10, numCols=10;
@davepape
davepape / triangles3.cs
Last active October 18, 2018 19:12
Create a mesh of 2 triangles, with texture coordinates
// Creating Mesh data in Unity
// This script should be attached to a GameObject that has a MeshFilter and MeshRenderer.
// The script will replace the MeshFilter's geometry by 2 triangles with texture coordinates.
// The vertex coords & tex coords are public variables so they can be manipulated from the Unity inspector.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class triangles3 : MonoBehaviour {
@davepape
davepape / fractalland.cs
Created November 1, 2018 17:27
Create a fractal landscape mesh in Unity3D, using midpoint subdivision
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class fractalland : MonoBehaviour {
Vector3[][] newArray(int size)
{
Vector3[][] v = new Vector3[size][];
for (int i=0; i < size; i++)
@davepape
davepape / noiseland.cs
Last active November 6, 2018 18:48
Create a fractal landscape by combining different frequencies of Perlin noise
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class noiseland : MonoBehaviour {
public int numRows=10, numCols=10;
public float minX=-1, maxX=1, minY=-1, maxY=1;
float height(float x, float y)
@davepape
davepape / noisetex.cs
Last active November 6, 2018 18:49
Create a fractal, procedural texture by combining different frequencies of Perlin noise
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class noisetex : MonoBehaviour {
public int width=256;
public int height=256;
private Texture2D tex;
private Color32[] colors;
@davepape
davepape / noiseland2.cs
Last active November 6, 2018 18:47
Combination of noiseland.cs & noisetex.cs - creates landscape geometry and a texture to apply to the geometry
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class noiseland2 : MonoBehaviour {
public int numRows=10, numCols=10;
public float minX=-1, maxX=1, minY=-1, maxY=1;
public int tex_width=256;
@davepape
davepape / showInput.cs
Last active October 24, 2019 20:56
Display the state of a few example Unity Input values
// Display the state of a few example Unity Input values
// This script should be attached to a text object.
// It uses the "Jump" and "Cancel" buttons to switch between very slow framerate & 60 fps, so that the behavior of GetButtonDown & GetButtonUp can be seen.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class showInput : MonoBehaviour
{
@davepape
davepape / LatLonSphere.cs
Created November 12, 2019 06:12
Create a sphere, as a grid of points regularly spaced in latitude and longitude
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LatLonSphere : MonoBehaviour
{
public int latRes=20, lonRes=40;
void Start()
{
@davepape
davepape / readQuakes.cs
Created November 12, 2019 18:37
Starting point for visualization project - read earthquake data from the USGS geojson data feed.
/* Example of reading earthquake data from the USGS data feed.
Starting point for visualization project.
This script requests GEOJson formatted data, then parses it and prints some of the information.
It requires the JSONObject class for Unity, which can be downloaded from https://github.com/mtschoen/JSONObject
*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;