AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Code promo Nike : -25% dès 50€ ...
Voir le deal

 

 la caméra traverse les murs (jeu 3D à la 3è personne)

Aller en bas 
3 participants
AuteurMessage
Giggs
Débutant



Messages : 14

la caméra traverse les murs (jeu 3D à la 3è personne) Empty
MessageSujet: la caméra traverse les murs (jeu 3D à la 3è personne)   la caméra traverse les murs (jeu 3D à la 3è personne) EmptyMar 5 Mai 2009 - 17:56

Bonjour!
Comment fait-on pour qu'une caméra d'un jeu 3D à la 3è personne ne traverse pas les murs lorsqu'elle s'en approche un peu trop près?
J'ai essayé
Citation :
Obj_camera :: BEGIN STEP
//distance_camera = la distance entre le personnage et la camera
distance_camera=min(64,distance_camera);
distance_camera=max(distance_camera,0);

direction=obj_personnage.direction;
x=obj_personnage.x - distance_camera*cos(-degtorad(direction));
y=obj_personnage.y - distance_camera*sin(-degtorad(direction));

if collision_line(x,y,obj_personnage.x,obj_personnage.y,obj_mur,false,false) then {distance_camera-=1;} else {distance_camera+=1;}
mais le résultat n'est pas terrible...

Merci!
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

la caméra traverse les murs (jeu 3D à la 3è personne) Empty
MessageSujet: Re: la caméra traverse les murs (jeu 3D à la 3è personne)   la caméra traverse les murs (jeu 3D à la 3è personne) EmptyMar 5 Mai 2009 - 18:24

je vois ce que tu veux faire mais pour moi c'est un peu dur gnii

je te propose que dès qu'il dépasse la wall il se met en transparent ou moitié transparent (a toi de choisir) :

moi j' a écrit:
if collision_line(x,y,obj_personnage.x,obj_personnage.y,obj_mur,false,false)
{instance_nearlest(x,y,obj_mur).transparence/*image_alpha au pire*/=0.3}
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Giggs
Débutant



Messages : 14

la caméra traverse les murs (jeu 3D à la 3è personne) Empty
MessageSujet: Re: la caméra traverse les murs (jeu 3D à la 3è personne)   la caméra traverse les murs (jeu 3D à la 3è personne) EmptyMer 6 Mai 2009 - 11:41

En fait pour faire des murs, je crée des petites portions de murs (obj_mur) que je met bout à bout, donc si je fais obj_mur.image_alpha=0.3, il y aurait qu'une petite portion du mur de translucide, donc ça marche pas...

J'ai essayé un truc du genre
Citation :
mur_camera = collision_line(x,y,obj_personnage.x,obj_personnage.y,obj_mur,false,false); //ça retourne l'ID du mur qui fait obstacle à la caméra

if !collision_line(x,y,obj_personnage.x,obj_personnage.y,obj_mur,false,false) then
{distance_camera=64;}
else
{x=mur_camera.x;
y=mur_camera.y;}
mais c'est pareil, ça marche pas très bien...


En fait je pense qu'il faudrait trouver une commande qui retourne le point de collision d'un objet se trouvant sur un segment. les commandes collision_line.x et collision_line.y retournent l'origine de l'objet, qui n'est pas forcément le point de collision...
Revenir en haut Aller en bas
Chulien
Utilisateur confirmé: Rang *****
Chulien


Messages : 2232

la caméra traverse les murs (jeu 3D à la 3è personne) Empty
MessageSujet: Re: la caméra traverse les murs (jeu 3D à la 3è personne)   la caméra traverse les murs (jeu 3D à la 3è personne) EmptyMer 6 Mai 2009 - 12:04

moi j'ai réussi dans un jeu de voitures 3D, et ça marche bien
http://www.megaupload.com/?d=BEW35OLM

je crois que j'ai fait une boucle,
on part du point du perso, on recule, et dès qu'on rencontre un mur (par exemple avec !place_free ou place_meeting) on arrête de reculer et on place la caméra. à la limite, vaut mieux l'avancer un ptit peu desfois que la caméra passe un peu dedans


tout ça faut le faire avec des cos, sin, en tout cas c'est cque jai fait
Revenir en haut Aller en bas
http://sites.google.com/site/chuliendev
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

la caméra traverse les murs (jeu 3D à la 3è personne) Empty
MessageSujet: Re: la caméra traverse les murs (jeu 3D à la 3è personne)   la caméra traverse les murs (jeu 3D à la 3è personne) EmptyMer 6 Mai 2009 - 12:27

c'est une très bonne idée
et puis en plus elle pas compliquée super

j'ai compris que si la caméra est trop loin de la camera (if point_distance(x,y,truc.x,truc.y)>64 )la camerase rapproche de la camera

c'est une bonne idée
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Chulien
Utilisateur confirmé: Rang *****
Chulien


Messages : 2232

la caméra traverse les murs (jeu 3D à la 3è personne) Empty
MessageSujet: Re: la caméra traverse les murs (jeu 3D à la 3è personne)   la caméra traverse les murs (jeu 3D à la 3è personne) EmptyMer 6 Mai 2009 - 13:01

euh c'est pas vraiment ça



en fait, prenons par exemple une caméra qui par défaut est minimum à 10 (pour pas rentrer dans le perso) et maximum à 60 du personnage (pour qu'on le voie encore bien)

for( i=60 ; i>10 ; i-=1)
{
<placer la camera à i "mètres" derriere le personnage>
if(place_free(Le point ou se trouve la caméra)) break;
}


on place la caméra à 60m derriere le perso
si c'est libre, c'est ok on arrête

si ça l'est pas on recommence un peu plus près

donc en général, si le jeu se passe en extérieur on aura la camera à 60
Revenir en haut Aller en bas
http://sites.google.com/site/chuliendev
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

la caméra traverse les murs (jeu 3D à la 3è personne) Empty
MessageSujet: Re: la caméra traverse les murs (jeu 3D à la 3è personne)   la caméra traverse les murs (jeu 3D à la 3è personne) EmptyMer 6 Mai 2009 - 14:13

je viens de voir ton projet de voiture, je le trouve sympa (juste pour le volant, ca a l'air...relatif happy1 )
franchement, ce qui manque dans game maker, c'est un anticrénage, le genre de truc qu'il n'y a que dans la PS3, trackmania, blender...

le système de camera a l'air bizarre, mais elle fonctionne et c'est ca l'important
faudrait qu'un jour quelqu'un se penche sur la camera de GTA (particulièrement le IV) qui a un mouvement encore plus bizarre
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Contenu sponsorisé





la caméra traverse les murs (jeu 3D à la 3è personne) Empty
MessageSujet: Re: la caméra traverse les murs (jeu 3D à la 3è personne)   la caméra traverse les murs (jeu 3D à la 3è personne) Empty

Revenir en haut Aller en bas
 
la caméra traverse les murs (jeu 3D à la 3è personne)
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: