一个简单的Unity 3D练手项目,是一个可视化函数展示
using UnityEngine;
public class Graph : MonoBehaviour
{
[SerializeField]
Transform pointPrefab;
[SerializeField,Range(10,100)]
int resolution = 10;
Transform[] points;
void Start()
{
float step = 2f / resolution;
var position = Vector3.zero;
var scale = Vector3.one *step;
points = new Transform[resolution];
for(int i=0;i<points.Length;i++)
{
Transform point = Instantiate(pointPrefab);
position.x = (i + 0.5f) * step - 1f;
points[i] = point;
points[i].localPosition = position;
points[i].localScale = scale;
}
}
void Update()
{
for (int i = 0; i < points.Length; i++)
{
Transform point = points[i];
Vector3 position = point.localPosition;
position.y = Mathf.Sin(Mathf.PI*position.x+Time.time);
point.localPosition = position;
point.SetParent(transform, false);
}
}
}
一个简单的shader Graph