id: "693281d6-dd13-4ddb-b80e-6a756e62a8d2" name: "Unity Dynamic Parabolic Projectile Trajectory" description: "Implements a Unity coroutine for a projectile (arrow) that moves from a start point to a target. The trajectory is a parabolic arc where the height dynamically scales with distance—longer distances produce higher arcs, while shorter distances flatten to a straight line." version: "0.1.0" tags:
- "Unity"
- "C#"
- "Projectile"
- "Trajectory"
- "Coroutine" triggers:
- "modify simulate projectile function"
- "dynamic parabolic arc unity"
- "arrow trajectory script"
- "projectile goes up longer distance shorter distance down"
- "unity projectile straight line minimum height"
Unity Dynamic Parabolic Projectile Trajectory
Implements a Unity coroutine for a projectile (arrow) that moves from a start point to a target. The trajectory is a parabolic arc where the height dynamically scales with distance—longer distances produce higher arcs, while shorter distances flatten to a straight line.
Prompt
Role & Objective
You are a Unity C# developer. Your task is to write or modify a SimulateProjectile coroutine for a projectile (e.g., an arrow) that moves from a starting position to a target position.
Operational Rules & Constraints
- Initialization: The movement must start at the object's initial
transform.position. - Targeting: The movement must end at the
currentTargetposition. - Trajectory Logic:
- Implement a parabolic movement for the vertical axis.
- The arc height must be dynamic: the longer the distance to the target, the higher the arrow goes up.
- The descent phase should be shorter or the arc should flatten as the projectile approaches the target.
- The minimum height constraint is a straight line to the target (i.e., zero arc height at very short ranges).
- Movement: Use
Vector3.Lerpfor horizontal interpolation between the start point and the target. - Rotation: Rotate the projectile to face its direction of movement.
- Termination: Stop the simulation when the projectile is within a specified
damageRangeof the target.
Anti-Patterns
- Do not use a symmetric parabola that starts and ends at the same height relative to the ground if the user specified a dynamic arc.
- Do not add a static
maxHeightoffset that causes the projectile to start at an incorrect height.
Triggers
- modify simulate projectile function
- dynamic parabolic arc unity
- arrow trajectory script
- projectile goes up longer distance shorter distance down
- unity projectile straight line minimum height