LineRenderer 线渲染器类
线渲染器用于在 3D 空间中绘制自由浮动线。
LineRenderer lineRenderer;
lineRenderer.SetPosition(0, 弹弓左边的坐标);
lineRenderer.SetPosition(1, 小鸟坐标);
LineRenderer 线渲染器类
线渲染器用于在 3D 空间中绘制自由浮动线。
LineRenderer lineRenderer;
lineRenderer.SetPosition(0, 弹弓左边的坐标);
lineRenderer.SetPosition(1, 小鸟坐标);
Line Renderer: 可用于画线
setposition(0,rightpos.position);
setposition(1,transform.position);
LineRenderer画线,弹弓线
11.line renderer组件;line renderer.set position;
line Render组件
line renderer,设置颜色
获取组件,获取画线的点
第11节
Line Renderer
当你想去选中一个物体上的某一个点时,可以在它身上创建一个空的子物体,让子物体的坐标位于相应的点处。
这一章的画线可能遇到一些问题,
在最新版本的UnityD中的LineRenderer中“Use World Space”并不是默认勾选的,
导致画出的线在2D中拉伸正常但位置不对。
解决方法:
1.在属性中将“Use World Space”勾选
2.在代码画线函数中设置
right.useWorldSpace = true;
left.useWorldSpace = true;
11-弹弓划线操作
左边树枝创建【空物体:leftPos】移动到橡皮筋处
给左右树枝添加【Line Renderer】
Materials--Element 0--Sprites-Def..--color:吸取皮带上颜色
width:0.2
打开Bird脚本
获取到2个组件
public LineRenderer right;
public LineRenderer left;
public Transform leftPos;
画线函数 line()
void Line(){
right.SetPosition(0, rightPos.position);
right.SetPosition(1, transform.position);
left.SetPosition(0, leftPos.position);
left.SetPosition(1, transform.position);
}
放在
transform.position = pos + rightPos.position;
}后
Line();
最后:给脚本赋值,子物体拿过去
画线操作
添加Line Renderer 更多用于3
LineRenderer组件//画线,(主要用于3D游戏制作)
setPosition(,坐标);
leftPos
public LineRenderer right;
public TransForm rightPos;
public LineRenderer left;
public Transform leftPos;
void Line()
{
right.SetPosition(0,rightPos.position);
right.SetPosition(1,transform.position);
left.SetPosition(0,leftPos.position);
left.SetPosition(1,transform.position);
}
弹弓划线操作。
确定两个划线点。
划线,,lineRender
左边右边都加上, 改变颜色。
本课代码
using UnityEngine;
public class bird : MonoBehaviour
{
public Transform rightPos;
public Transform leftPos;
bool isClick = false;
public float maxDis = 3;
SpringJoint2D sp;
Rigidbody2D rb;
public LineRenderer dangonghuaxian_you;
public LineRenderer dangonghuaxian_zuo;
// Start is called before the first frame update
private void OnMouseDown()//鼠标按下时
{
isClick = true;
sp.enabled = true;
rb.isKinematic = true;
}
private void OnMouseUp()//鼠标松开时
{
isClick = false;
rb.isKinematic = false;
Invoke("Fly", 0.1f);
}
private void Awake()
{
sp = GetComponent<SpringJoint2D>();
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
if (isClick)
{
transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
transform.position += new Vector3(0, 0, -Camera.main.transform.position.z);
if (Vector3.Distance(transform.position, rightPos.position) > maxDis)
{
Vector3 pos = (transform.position - rightPos.position).normalized;
pos *= maxDis;
transform.position = pos + rightPos.position;
}
dangonghuaxian_zuo.SetPosition(0,transform.position);
dangonghuaxian_zuo.SetPosition(1,leftPos.position);
dangonghuaxian_you.SetPosition(0, transform.position);
dangonghuaxian_you.SetPosition(1, rightPos.position);
}
}
void Fly()
{
sp.enabled = false;
}
}
line renderer 画皮筋
弹弓的画线操作
给左边的树枝添加一个空物体
添加一个组件 Line Render 组件
给右边的树枝的空物体添加一个 Line Render 组件
然后我们需要在脚本中对画线组件进行操作