Runtime API
TeddyではRuntime時に利用できるAPIを用意しています。
TeddyUtility.CreateMesh
引数に渡された2Dの点配列によって定義される輪郭線を立体化したMeshを返すユーティリティ関数です。
public static Mesh CreateMesh(List points, int nFaces, float thickness = 0.9f, bool smooth = true)
引数
- points 立体化する輪郭線を定義する2Dの座標配列
- nFaces 立体化されたメッシュの面の数
- thickness メッシュを立体化する際の膨らませ具合
- smooth メッシュの法線を滑らかにするかどうかを設定するフラグ
利用例
// Create 3D Mesh from noise applied circumference.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Teddy;
public class Example : MonoBehaviour {
public float radius = 1f;
void Start () {
var points = new List<Vector2>();
var pi2 = Mathf.PI * 2f;
for(float r = 0f; r < pi2; r += (pi2 / 20f)) {
var x = Mathf.Cos(r);
var y = Mathf.Sin(r);
points.Add((new Vector2(x, y)).normalized * (1.0f + radius * Mathf.PerlinNoise(r, 0f)));
}
var filter = gameObject.AddComponent<MeshFilter>();
filter.sharedMesh = TeddyUtility.CreateMesh(points, 600, 0.85f);
}
}