unity3d如何使线平滑
来源:互联网 发布:淘宝分享代码下载 编辑:程序博客网 时间:2024/05/16 18:54
最近使用unity制作了绘图板的功能,不过线段绘制的时候一直不平滑,怎么使线段平滑呢?类似下图:
使用该代码即可返回平滑的点
//arrayToCurve is original Vector3 array, smoothness is the number of interpolations. public static Vector3[] MakeSmoothCurve(Vector3[] arrayToCurve,float smoothness){ List<Vector3> points; List<Vector3> curvedPoints; int pointsLength = 0; int curvedLength = 0; if(smoothness < 1.0f) smoothness = 1.0f; pointsLength = arrayToCurve.Length; curvedLength = (pointsLength*Mathf.RoundToInt(smoothness))-1; curvedPoints = new List<Vector3>(curvedLength); float t = 0.0f; for(int pointInTimeOnCurve = 0;pointInTimeOnCurve < curvedLength+1;pointInTimeOnCurve++){ t = Mathf.InverseLerp(0,curvedLength,pointInTimeOnCurve); points = new List<Vector3>(arrayToCurve); for(int j = pointsLength-1; j > 0; j--){ for (int i = 0; i < j; i++){ points[i] = (1-t)*points[i] + t*points[i+1]; } } curvedPoints.Add(points[0]); } return(curvedPoints.ToArray()); }
使用方法:
//javascript/unityscript example #pragma strict var points : Vector3[]; var lineRenderer : LineRenderer; var c1 : Color = Color.yellow; var c2 : Color = Color.red; function Start () { points = Curver.MakeSmoothCurve(points,3.0); lineRenderer.SetColors(c1, c2); lineRenderer.SetWidth(0.5,0.5); lineRenderer.SetVertexCount(points.Length); var counter : int = 0; for(var i : Vector3 in points){ lineRenderer.SetPosition(counter, i); ++counter; } }
参考地址:http://answers.unity3d.com/questions/392606/line-drawing-how-can-i-interpolate-between-points.html
阅读全文
0 0
- unity3d如何使线平滑
- 如何绘制平滑的反走样线
- Unity3d摄像机的平滑过渡
- Unity3D 摄像机平滑跟随角色
- unity3d中平滑跟随的功能实现!!!!
- unity3d 平滑看向的脚本
- unity3d中平滑跟随的功能实现!!!!
- unity3d 平滑看向的脚本
- unity3d 网络延时状态下 ,平滑转弯
- 如何平滑重启mysql
- 如何平滑“重启“”mysql
- dubbo如何平滑重启
- 在Unity3D中如何让摄像机进行平滑的透视(perspective)和正视(orthographic)角度变换(就像编辑器中点击Gizmos一样的效果)
- Graphics2D使字体平滑
- android 使path平滑
- 平滑
- 平滑
- unity3d相机跟随物体平滑移动(C#代码)
- web上用Activex控件开发步骤(MFC)
- xshell中打开vim后的颜色与colorscheme配置颜色不符合
- Matlab——基本语句
- Linux下Nexus私服搭建
- TensorFlow 1
- unity3d如何使线平滑
- 数值的扩展
- 机器学习终极总结——朴素贝叶斯法
- OJ 2600: 编程题A-无字天书
- ascii 字符整型的自动识别
- 双十一 唯品会内部优惠入口
- org.springframework.dao.CannotAcquireLockException
- iTerm2连接远程主机
- IntelliJ IDEA环境下 POI读写Exel文件