Unity 3D ——Visualizing Math

426 阅读1分钟

一个简单的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 

推荐阅读 :Unity 从入门到入土