Si tu veux une réponse rapide et ciblée, il faut préciser un peu plus le problème et montrer le bout de code qui te pose problème... Tu ne précises même pas si c'est de la 2D ou 3D.
La technique la plus simple c'est de faire des collisions rectangulaires ou circulaires (fonctionne en 2D et 3D).
En 2D, tu peux aussi faire de la collision de sprites par masque (plus précis).
Pour faire un saut, tu mets une vitesse initiale (par ex 20 pixels), puis tu diminues la vitesse à chaque boucle (par ex 1 pixel). La position du personnage sera donc l'ancienne position auquel tu ajoutes la vitesse. Le personnage redescendra lorsque la vitesse deviendra négative.
Bref, ça te fait une parabole comme Newton nous l'a montré. Il ne reste plus qu'à affiner la vitesse initiale et la variation pour faire quelque chose de réaliste.