这次更新的内容比较简单,是基于mesh绘线的工具类。
当然,实现绘线的方法有很多,使用UI跟随产生的绘线效果其实也不差,但各有各的好处,此处不做赘述。
该工具类并没有对线进行uv贴图的处理,如有需求者可自行更改以完成类似绳索之类的需求。
/*
* 该类用以完成简单的mesh画线
*/
public class Line :MonoBehaviour,IComponent{
public Material material;
bool inLine = false;
float radius = 0.02f;
int value = 18;
Vector3 normal = new Vector3();
Vector3 point = new Vector3();
Mesh mesh;
List<Vector3> vList;
List<int> tList;
//此内容可忽略,为我结构内置代码,主要是将工具备份到数据类及打开射线检测
private void Start()
{
shuju.instance.componentList.Add("LineTool", this);
shuju.instance.controller.Doing("needRay", null);
}
//部分代码为我自身代码,该方法主要功能为检测按键
//按下P:判断射线是否有射到物体,如果射到,判断当前是否在绘制
若非,则初始化一个绘制对象并存储碰撞的点位及法线
若是,则绘制上一个记录点位与当前记录点位的连线,并保存当前点位及发现
//按下O,结束一次绘制,