- Home /
how to detect strike in bowling game.?
I have designed a bowling game in which i have 10 pins.when i bowl a ball,pins are falling.,but i have no idea on how to detect that all pins are fallen.As i am new to unity please help in detecting strike in bowling game...thank you.!
Answer by Acegikmo · Dec 14, 2013 at 09:11 AM
You can loop through all the pins and see how much they are pointing upwards after they've stopped moving, or went below a certain velocity.
You can read transform.up to get the up vector, and check if the y component is below some threshold (depending on if slightly leaning on top of some other pin should count as fallen or not etc.)
if the y component is 1, the keg is standing upright.
If the y component is 0, it's completely horizontal.
If the y component is -1, it's upside down!
public Transform[] pins; // Assign these in the inspector or when spawning the pins float threshold = 0.6f; int fallen = 0;
foreach( Transform pin in pins ) { if( pin.up.y < threshold) { fallen++; } }
if ( fallen == 10 ) { Debug.Log("Strike!"); }
Answer by jackpriceburns · Dec 14, 2013 at 09:08 AM
I would make it so if the pin isn't in a certain area its marked as knocked over to detect this I would make a cube which goes through all the heads of the pins remove render from this cube then set it to an on trigger event then make it on update check how many pins are in the box if none then strike if 2 5 9 then yeah you get the point.
Answer by fani_2025 · Dec 04, 2017 at 04:32 PM
You can detect a strike when all the pin knocked down. go bowling alley
Your answer
Follow this Question
Related Questions
2D 360 degress platformer example needed 0 Answers
Probably another "bullet through paper problem". Jerks, teleports, and other problems 0 Answers
Character Controller falling through ALL mesh colliders. 0 Answers
Detect collision and prevent intersection 1 Answer
How to check if a collision impact is perpendicular with the velocity of the collider? 0 Answers