Predictive Trajectory Issues
Hello,
I have a snipped of code I am using from Here. The issues I am having with it are that it doesn't grow like it should be, and the line falls off a lot quicker than It should be.
What it is doing right now is once I press the button to start charging the shot, the line shows up, grows a little and then stops. When I actually take the shot the arrow flies well over the projected path.
Here is the code adapted to what I figured would work.
if (Input.GetMouseButton(0))
{
player.sizePercent += player.drawSpeed;//name is a hold over from the old reticule
player.sizePercent = Mathf.Clamp01(player.sizePercent);//cap at 1 for the time being
Vector3[] segments = new Vector3[numVerts];//new segment array
segments[0] = player.arrowObject.transform.position;//first segment starts at arrow position
Vector3 segVelocity = player.arrowObject.transform.forward * (player.force * player.sizePercent) * Time.deltaTime;
//supposed to increase according to force value. player.foce starts at zero then adjust according to the the percent
hitObject = null;
for (int i = 1; i < numVerts; i++)
{
float segTime = (segVelocity.sqrMagnitude != 0) ? segScale / segVelocity.magnitude : 0;
segVelocity += Physics.gravity * Time.deltaTime;
RaycastHit hit;
if (Physics.Raycast(segments[i - 1], segVelocity, out hit, segScale))
{
hitObject = hit.collider;
segments[i] = segments[i - 1] + segVelocity.normalized * hit.distance;
segVelocity -= Physics.gravity * (segScale - hit.distance) / segVelocity.magnitude;
}
else
{
segments[i] = segments[i - 1] + segVelocity * Time.deltaTime;
}
}
for (int i = 0; i < numVerts; i++)
{
line.SetPosition(i, segments[i]);
}
}
Does anyone have an idea as to how I would go about fixing it to work how I want it to work?
I just noticed that it isn't going the full length of the shot as well.
Your answer
Follow this Question
Related Questions
Rotate sphere to the direction of movement 0 Answers
How to move whilst airborne (using standard third person character script)? 0 Answers
Hold the jump button to jump higher with CharacterController 1 Answer
How can i look for collisions of the bulidngs in may array ? how can i use OnTRiggerEnter/exit ? 0 Answers
Adding Gravity to a game object to make a black hole sucking effect. 1 Answer