首先,确保你已经在场景中创建了一个2D对象,并且已经添加了Line Renderer组件。 在该对象上添加一个Collider2D组件。可以通过在Inspector面板中选择该对象,然后点击"Add Component"按钮,在搜索框中输入"Collider2D"来找到并添加该组件。 确保Collider2D组件的形状与你的线条渲染器相匹配。例如,如果你的线条渲染器是...
注:当line Renderer拥有了材质,可以通过修改Color来改变颜色。当时当修改了Color后,line的颜色没有改变,应该是Material和Color属性结合不好。将Material修改为Sprites/Default,Color的颜色就可以成功的显示在line上面了。 动态添加碰撞器(Polygon Collider2D) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18...
line1.material = new Material(Shader.Find("Particles/Additive")); line1.SetVertexCount(2);//设置两点 line1.SetColors(Color.yellow, Color.red); //设置直线颜色 line1.SetWidth(5f, 10f);//设置直线宽度 //设置指示线的起点和终点 line1.SetPosition(0, A.transform.position); line1.SetPosition(...
RaycastHit2D hit = Physics2D.Raycast(transform.position+new Vector3(0,0.1f,0), direction); if (hit.collider.tag=="Upwall"&&hit.collider!=null) { targetpos = hit.point; Debug.LogError("meicuo "); } linerenderer.SetPosition(0, transform.position); linerenderer.SetPosition(1, targetpos )...
可以执行的操作是从线渲染器烘焙网格。将烘焙网格用作碰撞器的网格。
使用LineRenderer 有一些不便的地方比如 我们想要 Line 可以实现碰撞,那么需要"Use a MeshCollider and assign it the LineRenderer's Mesh using LineRenderer.BakeMesh" 看到论坛讨论有示例代码: LineRendererlineRenderer=line.GetComponent<LineRenderer>();MeshCollidermeshCollider=line.AddComponent<MeshCollider>();...
1 LineRenderer 简介 LineRenderer 组件用于绘制线段,可以调整线段条数、端点坐标、颜色、宽度等属性,其属性面板如下: Materials:线段材质,最好设置为 Default-Line; Positions-Size:线段端点个数; Positions-Element:
至此绘制出的线条在提笔时开始下落了,然而线条还是幽灵会穿透一切,为此我们需要再添加上碰撞体积,这里使用PolygonCollider2D(后面简称PC)获得精准匹配的碰撞体积。 PC一般会自动生成匹配物体形状的碰撞体积,但是好像只对SpriteRenderer的sprite形状奏效,我们这里使用的LR则需要手动产生匹配的形状。
如果没有给此脚本的 Colliders 手动赋值,那么它会找到任意一个子物体(包括自己)的碰撞体,将该碰撞体用于检测是否选中了传送区域,如果触发传送的射线射到了碰撞体上,则视为选中了传送区域。 这时候我们可以运行一下程序。可以看到手部会发出一条直线。当直线射到地面上时,射线颜色会变成白色,因为这时候我们选中了传...
为“Floor1”添加Edge Collider 2D组件,调整碰撞器的坐标让其位于草皮与地面交界处,如下图所示: 在层级视图中选中“Floor1”对象,按下快捷键Ctrl/Cmd + D根据需要复制多个草地对象,并依次调整各自的坐标让这些草地铺满整个屏幕下方。效果如下: 添加弹弓