add games
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
#if UNITY_EDITOR || UNITY_STANDALONE
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using ProBuilder2.Common;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ProBuilder2.Examples
|
||||
{
|
||||
/**
|
||||
* Creates a cube on start and colors it's vertices programmitically.
|
||||
*/
|
||||
public class HueCube : MonoBehaviour
|
||||
{
|
||||
pb_Object pb;
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Create a new ProBuilder cube to work with.
|
||||
pb = pb_ShapeGenerator.CubeGenerator(Vector3.one);
|
||||
|
||||
// Cycle through each unique vertex in the cube (8 total), and assign a color
|
||||
// to the index in the sharedIndices array.
|
||||
int si_len = pb.sharedIndices.Length;
|
||||
Color[] vertexColors = new Color[si_len];
|
||||
for(int i = 0; i < si_len; i++)
|
||||
{
|
||||
vertexColors[i] = HSVtoRGB( (i/(float)si_len) * 360f, 1f, 1f);
|
||||
}
|
||||
|
||||
// Now go through each face (vertex colors are stored the pb_Face class) and
|
||||
// assign the pre-calculated index color to each index in the triangles array.
|
||||
Color[] colors = pb.colors;
|
||||
|
||||
for(int CurSharedIndex = 0; CurSharedIndex < pb.sharedIndices.Length; CurSharedIndex++)
|
||||
{
|
||||
foreach(int CurIndex in pb.sharedIndices[CurSharedIndex].array)
|
||||
{
|
||||
colors[CurIndex] = vertexColors[CurSharedIndex];
|
||||
}
|
||||
}
|
||||
|
||||
pb.SetColors(colors);
|
||||
|
||||
// In order for these changes to take effect, you must refresh the mesh
|
||||
// object.
|
||||
pb.Refresh();
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert HSV to RGB.
|
||||
* http://www.cs.rit.edu/~ncs/color/t_convert.html
|
||||
* r,g,b values are from 0 to 1
|
||||
* h = [0,360], s = [0,1], v = [0,1]
|
||||
* if s == 0, then h = -1 (undefined)
|
||||
*/
|
||||
static Color HSVtoRGB(float h, float s, float v )
|
||||
{
|
||||
float r, g, b;
|
||||
int i;
|
||||
float f, p, q, t;
|
||||
if( s == 0 ) {
|
||||
// achromatic (grey)
|
||||
return new Color(v, v, v, 1f);
|
||||
}
|
||||
h /= 60; // sector 0 to 5
|
||||
i = (int)Mathf.Floor( h );
|
||||
f = h - i; // factorial part of h
|
||||
p = v * ( 1 - s );
|
||||
q = v * ( 1 - s * f );
|
||||
t = v * ( 1 - s * ( 1 - f ) );
|
||||
|
||||
switch( i )
|
||||
{
|
||||
case 0:
|
||||
r = v;
|
||||
g = t;
|
||||
b = p;
|
||||
break;
|
||||
case 1:
|
||||
r = q;
|
||||
g = v;
|
||||
b = p;
|
||||
break;
|
||||
case 2:
|
||||
r = p;
|
||||
g = v;
|
||||
b = t;
|
||||
break;
|
||||
case 3:
|
||||
r = p;
|
||||
g = q;
|
||||
b = v;
|
||||
break;
|
||||
case 4:
|
||||
r = t;
|
||||
g = p;
|
||||
b = v;
|
||||
break;
|
||||
default: // case 5:
|
||||
r = v;
|
||||
g = p;
|
||||
b = q;
|
||||
break;
|
||||
}
|
||||
|
||||
return new Color(r, g, b, 1f);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 57910de6743b3ac49a59ade4c17e5764
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
Reference in New Issue
Block a user