为什么unity camera.renderlinerender画出的线是立体的

任何一个无规则曲线它都是有若干个线段组成,及时是圆形它也是又若干个线段组成的,也就是说将若干个线段拼接起来就是我们须要的无规则曲线~那么在3D 的世界中我们须要知道 X Y Z 三个点来确定一条3D线段。
首先先使用Unity编辑器的方式来添加一条线~
&Unity -& GameObject -& Create Empty 创建一个空的对象,我命名为line。然后点击 Component -& Miscellaneous -& Line Renderer 给line添加一个线渲染器的属性,Line Renderer是非常中的属性,下面我会详细的说明。
Create -& Material 创建一个材质,做来这个线段的贴图,下面我们看看Line Renderer的一些重要参数。
Cast Shadows: 是否投射阴影。
Receive Shadows: 是否接收阴影。
Materials :设置材质,这里可以设置多个材质, line就是上面我们创建的材质,这里我给line这个材质涂上了红颜色。
Positions:这个属性就比较重要了,它是专门设置线段在3D 世界中的点的坐标,size 设置点的数量 为3 那么将会有3个点,Element 0 &&Element 1&Element 2 & &这三个点将确定这条曲线分为两段,第一段是(0,0,1) 到 &(0,0,2) ,第二段是 (0,0,2) 到(0,0,4)。
Paramerters&
StartWidth :设置起点的宽度 &
EndWidth: &设置终点的宽度 ,这两项数值默认为1,但是现实起来很宽,所以一般都设置为0.几~&
Start Color: 设置起点颜色
Start Color: 设置终点颜色
Use World Space 使用世界坐标系
大家看看效果,清楚的可以看到曲线分为两部分,第一部分较短 第二部分较长。
怎么样? 绘制线的方法不难学吧?在已知线段位置的情况下我们可以使用上面的方法去设置这条线,但是如果线段的位置是在游戏过程中动态的产生就得在代码中去动态的去设置。
创建脚本Main.cs 绑定到摄像头上,运行游戏绘制线的话须要在Main中去拿到line这个对象的实例。这就是一个比较重要的知识点了。
一些重要的方法,在编辑器中编辑的一些东西,在代码中也可以做到。
LineRenderer.SetWidth(0.1,0.1) ; 设置线段起始点与结束点的宽度 (参数1 为起始点 参数2为结束点)
LineRenderer.SetColor(Color.black,Color.white);&设置线段起始点与结束点的颜色 (参数1 为起始点颜色 参数2为结束点颜色)
LineRenderer.SetVertexCount(5); 设置线段数量。
LineRenderer.useWorldSpace = 是否使用世界坐标系,和上面编辑器对应。
using&UnityE&&
using&System.C&&
using&System.T&&
public&class&Main&:&MonoBehaviour&{&&
&&&&private&GameObject&LineRenderGameO&&
&&&&private&LineRenderer&lineR&&
&&&&private&int&lineLength&=&4;&&
&&&&private&Vector3&v0&=&new&Vector3(1.0f,0.0f,0.0f);&&
&&&&private&Vector3&v1&=&new&Vector3(0.0f,1.0f,0.0f);&&
&&&&private&Vector3&v2&=&new&Vector3(0.0f,0.0f,1.0f);&&
&&&&private&Vector3&v3&=&new&Vector3(1.0f,0.0f,0.0f);&&
&&&&void&Start(){&&
&&&&&&&&&&
&&&&&&&&LineRenderGameObject&=&GameObject.Find&("line");&&
&&&&&&&&&&
&&&&&&&&lineRenderer&=&(LineRenderer)LineRenderGameObject.GetComponent&("LineRenderer");&&
&&&&&&&&&&
&&&&&&&&lineRenderer.SetVertexCount(lineLength);&&
&&&&&&&&&&
&&&&&&&&&&
&&&&}&&&&&
&&&&&&&&&&&&&&&&&&&
&&&&void&Update()&{&&
&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&lineRenderer.SetPosition&(0,&v0);&&
&&&&&&&&lineRenderer.SetPosition&(1,&v1);&&
&&&&&&&&lineRenderer.SetPosition&(2,&v2);&&
&&&&&&&&lineRenderer.SetPosition&(3,&v3);&&
通过上面代码的设置,运行游戏,发现全新的一个三角形曲线赫然的映入我们的眼帘,有了上面的方法我们就可以组合的绘制出各种各样的3D 游戏曲线了,这里MOMO使用的是颜色,大家也可以添加一个贴图~
阅读(...) 评论()unity3D LineRender的使用 - 博客频道 - CSDN.NET
linxinfa的专栏
首先做一个预设,添加LineRender组件,变价材质,然后放到资源文件夹中
& & private LineRenderer m_lineR
private Vector3 m_curP
public Vector3 CurPos
get { return m_curP }
m_curPos =
if (m_lineRander != null)
m_lineRander.SetPosition(1, m_curPos);
void Start()
GameObject lineObjPrefab = Resources.Load(&line&,typeof(GameObject)) as GameO
if (lineObjPrefab == null)
Debug.LogError(&lineObjPrefab == null&);
GameObject lineObj = GameObject.Instantiate(lineObjPrefab) as GameO
m_lineRander = lineObj.GetComponent&LineRenderer&();
if (m_lineRander != null)
m_lineRander.transform.localPosition = Vector3.
m_lineRander.SetVertexCount(2);
m_lineRander.SetPosition(0, new Vector3(0, 0, 0));
m_lineRander.SetPosition(1, new Vector3(0, 0, 0));
startMove();
private void startMove()
TweenParms tp = new TweenParms();
tp.Prop(&CurPos&, new Vector3(50, 100, 100));
tp.Ease(EaseType.Linear);
tp.SpeedBased(true);
tp.OnComplete(moveEnd);
HOTween.To(this, 100f, tp);
private void moveEnd()
Debug.Log(&moveEnd&);
搞定。。。。。。。。。。。。。。。。。。。。。。。
排名:千里之外
(34)(12)(46)(2)(1)(6)(1)(2)(1)(1)扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
当前位置: &
_____________________________________________________________________________________________________________
问答求助版块规则:
  1、问题尽量描述清楚
& && &2、代码要放在代码块里
& && &3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
& && &4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
& && &5、问题得到解决,请选择最佳答案。
& && &6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 469|回复: 2
如何用LineRender为一个数组的点画线
本帖为抢楼帖,欢迎抢楼!&
61222/1500排名<font color="#FF昨日变化主题帖子积分
蛮牛粉丝, 积分 1222, 距离下一级还需 278 积分
蛮牛粉丝, 积分 1222, 距离下一级还需 278 积分
蛮牛币1038
在线时间382 小时
求大神们指点一下
每日推荐:
71681/5000排名<font color="#FF昨日变化主题帖子积分
日久生情, 积分 1681, 距离下一级还需 3319 积分
日久生情, 积分 1681, 距离下一级还需 3319 积分
蛮牛币2527
在线时间699 小时
1.为物体添加该组件
2.LineRenderer lineRenderer = GetComponent&LineRenderer&();//获取组件
3、lineRenderer.SetVertexCount(lengthOfLineRenderer);//设置线段顶点个数,注意设置的和数组长度一样
4、开始绘制for(int i = 0; i & num.length; i++){lineRenderer.SetPosition(i, pos[i]);}//第一个参数为顶点的索引,第二个参数为顶点的位置
若有问题,及时提出
每日推荐:
61222/1500排名<font color="#FF昨日变化主题帖子积分
蛮牛粉丝, 积分 1222, 距离下一级还需 278 积分
蛮牛粉丝, 积分 1222, 距离下一级还需 278 积分
蛮牛币1038
在线时间382 小时
1.为物体添加该组件
2.LineRenderer lineRenderer = GetComponent();//获取组件
3、lineRenderer.SetVertex ...
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!
每日推荐:24976人阅读
unity3d(9)
任何一个无规则曲线它都是有若干个线段组成,及时是圆形它也是又若干个线段组成的,也就是说将若干个线段拼接起来就是我们须要的无规则曲线~那么在3D 的世界中我们须要知道 X Y Z 三个点来确定一条3D线段。
首先先使用Unity编辑器的方式来添加一条线~
Unity -& GameObject -& Create Empty 创建一个空的对象,我命名为line。然后点击 Component -& Miscellaneous -& Line Renderer 给line添加一个线渲染器的属性,Line Renderer是非常中的属性,下面我会详细的说明。
Create -& Material 创建一个材质,做来这个线段的贴图,下面我们看看Line Renderer的一些重要参数。
Cast Shadows: 是否投射阴影。
Receive Shadows: 是否接收阴影。
Materials :设置材质,这里可以设置多个材质, line就是上面我们创建的材质,这里我给line这个材质涂上了红颜色。
Positions:这个属性就比较重要了,它是专门设置线段在3D 世界中的点的坐标,size 设置点的数量 为3 那么将会有3个点,Element 0 &&Element 1&Element 2 & &这三个点将确定这条曲线分为两段,第一段是(0,0,1) 到 &(0,0,2) ,第二段是 (0,0,2) 到(0,0,4)。
Paramerters&
StartWidth :设置起点的宽度 &
EndWidth: &设置终点的宽度 ,这两项数&#20540;默认为1,但是现实起来很宽,所以一般都设置为0.几~&
Start Color: 设置起点颜色
Start Color: 设置终点颜色
Use World Space 使用世界坐标系
大家看看效果,清楚的可以看到曲线分为两部分,第一部分较短 第二部分较长。
怎么样? 绘制线的方法不难学吧?在已知线段位置的情况下我们可以使用上面的方法去设置这条线,但是如果线段的位置是在游戏过程中动态的产生就得在代码中去动态的去设置。
创建脚本Main.cs 绑定到摄像头上,运行游戏绘制线的话须要在Main中去拿到line这个对象的实例。这就是一个比较重要的知识点了。
一些重要的方法,在编辑器中编辑的一些东西,在代码中也可以做到。
LineRenderer.SetWidth(0.1,0.1) ; 设置线段起始点与结束点的宽度 (参数1 为起始点 参数2为结束点)
LineRenderer.SetColor(Color.black,Color.white);&设置线段起始点与结束点的颜色 (参数1 为起始点颜色 参数2为结束点颜色)
LineRenderer.SetVertexCount(5); 设置线段数量。
LineRenderer.useWorldSpace = 是否使用世界坐标系,和上面编辑器对应。
通过上面代码的设置,运行游戏,发现全新的一个三角形曲线赫然的映入我们的&#30524;帘,有了上面的方法我们就可以组合的绘制出各种各样的3D 游戏曲线了,这里MOMO使用的是颜色,大家也可以添加一个贴图~
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:196709次
积分:1056
积分:1056
排名:千里之外
评论:59条
(1)(2)(2)(6)(2)unity3d中能在LineRender上添加碰撞器吗_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:62,529贴子:
unity3d中能在LineRender上添加碰撞器吗收藏
InMobi是iOS排行榜上超过50款知名APP的广告变现首选,中国领先的iOS移动广告平台InMobi收益高,用户体验好,不扣量,擅长在提供出色用户体验的同时带来更高的广告收入
碰撞器的容器是gameobject。在linerender的gameobject上挂载是可以的。但是可能你想要的是让碰撞器的形状与linerender的position形成的面片带保持一致,那就需要动态根据position生成mesh
LineRender本身生成的就是面片,应该将Collider换成MeshCollider
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 unity中linerender 的文章

 

随机推荐