8000 Add a uvmap for MeshDraft.Dodecahedron · Issue #41 · Syomus/ProceduralToolkit · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Add a uvmap for MeshDraft.Dodecahedron #41
Open
@BasmanovDaniil

Description

@BasmanovDaniil

All other primitives have a more or less sensible uvmap, Dodecahedron should have one too. Also, it will have to be constructed in some other way, AddFlatTriangleBand is not very convenient in this case.

public static MeshDraft Dodecahedron(float radius)
{
const float magicAngle1 = 52.62263590f;
const float magicAngle2 = 10.81231754f;
const float segmentAngle = 72;
float lowerAngle = 0;
float upperAngle = segmentAngle/2;
var lowerCap = new Vector3[5];
var lowerRing = new Vector3[5];
var upperCap = new Vector3[5];
var upperRing = new Vector3[5];
for (var i = 0; i < 5; i++)
{
lowerCap[i] = Geometry.PointOnSphere(radius, lowerAngle, -magicAngle1);
lowerRing[i] = Geometry.PointOnSphere(radius, lowerAngle, -magicAngle2);
upperCap[i] = Geometry.PointOnSphere(radius, upperAngle, magicAngle1);
upperRing[i] = Geometry.PointOnSphere(radius, upperAngle, magicAngle2);
lowerAngle += segmentAngle;
upperAngle += segmentAngle;
}
var draft = new MeshDraft {name = "Dodecahedron"}
.AddTriangleFan(upperCap, Vector3.up)
.AddFlatTriangleBand(upperRing, upperCap, false)
.AddFlatTriangleBand(lowerRing, upperRing, false)
.AddFlatTriangleBand(lowerCap, lowerRing, false)
.AddTriangleFan(lowerCap, Vector3.down, true);
return draft;
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0