void UpdatePolygon() { MeshFilter.sharedMesh = mesh; if (mesh == null) return; mesh.Clear(); var vertices = new Vector3[Sides + 1]; var triangles = new int[Sides * 3]; for (int i = 0; i < Sides; i++) { vertices[i] = Vector2.up.Rotate(i * (360f / Sides)); triangles[i * 3] = Sides; triangles[i * 3 + 1] = i; triangles[i * 3 + 2] = (i + 1) % Sides; } mesh.vertices = vertices; mesh.uv = vertices.Convert(v => v.ToVector2()); mesh.triangles = triangles; mesh.RecalculateBounds(); mesh.RecalculateNormals(); mesh.Optimize(); }
void UpdatePolygon() { MeshFilter.sharedMesh = mesh; if (mesh == null) return; mesh.Clear(); var vertices = new Vector3[2 * Slices + 1]; var triangles = new int[Slices * 3]; for (int i = 0; i < Slices; i++) { int verticesIndex = i * 2; float halfAngle = (360f / Slices * fillRatio) / 2; vertices[verticesIndex] = Vector2.up.Rotate(i * (360f / Slices) - halfAngle); vertices[verticesIndex + 1] = Vector2.up.Rotate(i * (360f / Slices) + halfAngle); triangles[i * 3] = Slices * 2; triangles[i * 3 + 1] = verticesIndex; triangles[i * 3 + 2] = (verticesIndex + 1); } mesh.vertices = vertices; mesh.uv = vertices.Convert(v => v.ToVector2()); mesh.triangles = triangles; mesh.RecalculateBounds(); mesh.RecalculateNormals(); mesh.Optimize(); }
void SetGridCenter(Vector3 c, bool notifyui = true) { grid.Center = c; if (notifyui) { gridcenterinput.text = c.Convert <string>(); } }
public void CanConvertVectors() { var firstVector = new Vector3(2, 6, 8); var newVector = firstVector.Convert <Vector2>(); Assert.AreEqual(2, (int)newVector.Dimension); Assert.AreEqual(2, newVector.X); Assert.AreEqual(6, newVector.Y); }
public void SetUniform(string Parameter, Vector3 vec3) { SFMLShader.SetUniform(Parameter, vec3.Convert()); }
public void SetUniform(string Parameter, Vector3 vec3) { base.SetUniform(Parameter, vec3.Convert()); }
public void UpdateScale() { _hexTile.transform.localScale = _scale; _hexTile.Model.Scale = _scale.Convert(); }