限制x的范围-1~1
从0,0点生成,设置一个方块生成的数量,再用 2 / 数量,就可以得到它缩放多大。
假设数量为10
每个方块的x的坐标为:0, 0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6,1.8
整体-1,(-1,0.8)
我们设计的是中心点,进行一个偏移,整体 + (1/数量)
如何创建一个URP并使用Shader可视化
改变不同世界坐标下的不同颜色
如何让物体动起来?
using UnityEngine;
namespace DY._02_创建一个图形
{
public class Graph : MonoBehaviour
{
public GameObject prefab;
public Transform parent;
public int count;
private Transform[] _points;
private void Start()
{
var position = Vector3.one;
_points = new Transform[count];
var step = count / 2;
var scale = Vector3.one / step;
for (var i = 0; i < _points.Length; i++)
{
var go = Instantiate(prefab, parent);
_points[i] = go.transform;
position.x = (i + 0.5f) / step - 1; // 将x限制在 -1~1之间
position.y = Mathf.Sin(position.x * Mathf.PI);
go.transform.localPosition = position;
go.transform.localScale = scale;
}
}
private void Update()
{
float time = Time.time;
Debug.Log(time);
for (var i = 0; i < _points.Length; i++)
{
Transform point = _points[i];
Vector3 position = point.localPosition;
position.y = Mathf.Sin((position.x + time) * Mathf.PI);
point.localPosition = position;
}
}
}
}
评论区