具体思路:
通过Mesh网格编程实现几何体的多种变化。以立体五角星为例,大边长和小边长分别设置长度为5的数组,数组控制几何体顶层空心,顶层大小,中间层大小,底层大小,底层空心。通过循环构建上层与下层之间的网格。
效果图:
实现代码:using UnityEngine;
using System.Collections;
public class Star3 : MonoBehaviour {
Mesh mesh;
public bool sophisticated = false; //圆滑曲面
public bool star = true; //星形
public int line = 5; //边数
public float[] maxsize = {0,0,5,0,0}; //外角大小
public float[] minSize = {0,0,1,0,0}; //内角大小
public float high = 1; //高度
public float low = -1; //低度
private Vector3[] vs; //顶点坐标
private int[] ts; //顶点序列
private Vector2[] newUVs;
using UnityEngine;
using System.Collections;
public class Star3 : MonoBehaviour {
Mesh mesh;
public bool sophisticated = false; //圆滑曲面
public bool star = true; //星形
public int line = 5; //边数
public float[] maxsize = {0,0,5,0,0}; //外角大小
public float[] minSize = {0,0,1,0,0}; //内角大小
public float high = 1; //高度
public float low = -1; //低度
private Vector3[] vs; //顶点坐标
private int[] ts; //顶点序列
private Vector2[] newUVs;