- Home /
Question by
Kek_Kek · Jul 16, 2018 at 08:37 PM ·
linerendererlineline renderer
Draw out Line in C#
I have a grappling hook and that when you press the button, a line is made connecting you to your target. The problem is that it appears immediately and doesn't draw out towards the target. I was using this video as a reference on how to do it. https://www.youtube.com/watch?v=Bqcu94VuVOI
private float dist;
public LineRenderer line;
private Transform destination;
public float lineDrawSpeed = 6f;
private float counter;
void Update()
{
var device = SteamVR_Controller.Input((int)controller.index);
if (device.GetTouchDown(SteamVR_Controller.ButtonMask.Trigger) && energy == true)
{
RaycastHit hit;
if (Physics.Raycast(controller.transform.position, controller.transform.forward, out hit, raycastDistance))
{
counter += .1f / lineDrawSpeed;
dist = Vector3.Distance(Object.transform.position, hit.transform.position);
float x = Mathf.Lerp(0, dist, counter);
Vector3 pointA = Object.transform.position;
Vector3 pointB = hit.transform.position;
Vector3 pointAlongLine = x * Vector3.Normalize(pointB = pointA) + pointA;
line.enabled = true;
line.SetPosition(0, Object.transform.position);
target = hit.point;
pointAlongLine = target;
line.SetPosition(1, target);
hitwall = true;
line.material.mainTextureOffset = Vector2.zero;
}
}
else if (device.GetTouch(SteamVR_Controller.ButtonMask.Trigger) && line.enabled)
{
line.SetPosition(0, Object.transform.position);
line.material.mainTextureOffset = new Vector2(line.material.mainTextureOffset.x + Random.Range(-.01f, 0.05f), 0f);
pressed = true;
hitwall = true;
}
else
{
line.enabled = false;
hitwall = false;
}
Comment