Realistic Bow and Arrow Physics?

So I’ve been experimenting as a fairly new user to Unity, and I’m stumped on how to make a realistic arrow shot.

I’ve played around with launching Rigidbodies with the Instantiate function (using JavaScript exclusively in my scripting), but I find that if I bump up the speed of the arrow, it will sometimes go right through the colliders on meshes.

I have thought about switching over to Raycasting, but I need to have some travel time on the arrow for gameplay purposes, and obviously cant have it teleporting through meshes between frames at high speeds.

Any help would be appreciated!

How fast does your arrow actually need to go? Most arrows & arrows only go up to 100 m/s max. Of course, since this is the game world, it may be upped a little ;). If its really fast, then you can use raycasting.

Going with the raycasting approach, you should increase the ray’s length per frame to not make it instant. Then you have a particle effect, such as a grey line (like a arrow whizzing past), that grows in length like the raycast.

Unfortunately, this isn’t really realistic movement of a normal arrow. Honestly, an arrow doesn’t really need to move that fast. You can always decrease gravity for arrows so that it “feels” more realistic.

Sorry for the late answer, but better late than never ;). Good Luck! Hope this helps!

Did you set the collision detection of your arrow’s rigid body to ‘dynamic’?

Or if you stay with Raycasting - you could try to raycast from the top of the arrow while it is flying.