« 1 ... 11 12 13 (14) 15 16 17 ... 21 »


Re: Portal BGE - Version 1.5 - 5 niveaux fonctionnels
OverdOzed
Inscrit:
24/07/2008 00:45
De Paris
Post(s): 3445
Nous passons maintenant à la 1.6 !
J'ai en effet ajouté un niveau utilisant la transmission de force, bien qu'elle soit encore à améliorer.
Le niveau 7 est fait vite fait et n'a encore aucun intérêt. En fait, c'est juste pour les tests de la tourelle et du bouclier.
La tourelle a été un point intéressant à traiter avec son articulation en deux temps et le bouclier, qui est censé renvoyer les lasers à la façon d'un miroir, est lui aussi un beau casse tête...En théorie, ma technique fonctionne mais en pratique l'angle de réflexion du laser n'est absolument pas influencé par l'orientation du bouclier ce qui est, au vu de mon script (Bouclier.py, il est court ), tout à fait improbable !
Je vous laisse voir par vous même :

Pas de nouvelle texture !

Pour voir le renvoi des lasers, il ne faut pas utiliser la caméra parce que sinon, on se rend très mal compte.
Si par hasard vous arriviez à renvoyer les lasers sur la tourelle, ce qui est totalement improbable dans l'état actuel du script mais qui l'a été de façon passagère lors de mes différents tests, sachez qu'en 20 coups vous détruisez la tourelle et qu'elle ne tire plus.
Mais ce bouclier, qu'il faudra tout d'abord obtenir, ne servira pas qu'à détruire les tourelles : bien d'autres éléments pourront être affectés...sauf que je ne sais pas encore lesquels.
Je manque un peu d'inspiration pour la création de niveaux, mais Moaaa m'a donné une idée intéressante : faire des salles qui peuvent tourner, ce qui reviendrait grosso modo à modifier la gravité. Avec ça, on peut faire beaucoup de choses ! Encore faut-il mettre en oeuvre cette belle idée.
D'autre part, si vous aussi vous avez des idées, n'hésitez pas !

Contribution le : 20/11/2010 19:45
_________________
Tuto MaPZone
Créer un fichier PDF de la contribution Imprimer


Re: Portal BGE - Version 1.5 - 5 niveaux fonctionnels
Fou Furieux du Clan
Inscrit:
02/11/2008 19:26
Post(s): 238
Je ne sais plus si je te l'avais dit, mais le perso est un peu lent

J'ai une bonne nouvelle pour toi : je t'ai refait le script Portail.py, de tel sorte que la réorientation (perso + force) marche comme tu le voulais.
Mais niveau méthode, j'utilise toujours les complexes (pour pouvoir utiliser phase() qui donne directement le bon angle (sur ]-pi, pi])).

Voilà le script :
from bge import logic as gl
from mathutils import *
from math import *
from vec import *
from cmath import phase

x, y, z = 0, 1, 2


cont = gl.getCurrentController()
scene = gl.getCurrentScene()
own = cont.owner

col = cont.sensors["Col"]

if col.positive and own["active"] :
	obj = col.hitObject
	parent = obj.parent
	
	if not parent == None :
		parent = parent.name
	else : parent = ""
	
	if not obj["prec"] == int(own["bleu"]) and not parent == "EmptyTir" :
		object_list = scene.objects
		
		if own["bleu"] :
			portail = object_list["PortailOrange"]
		else :
			portail = object_list["PortailBleu"]
		
		if portail["active"] :
			rotObj = obj.worldOrientation
			rotOwn = own.worldOrientation
			rotPortail = portail.worldOrientation
			force = obj.worldLinearVelocity
			
			# Deplacement
			obj.position = portail.position	+ rotPortail[z]
			
			# Rotation
			if -0.7 < rotPortail[z][z] < 0.7 and -0.7 < rotOwn[z][z] < 0.7 :
				# Calcul de l'angle entre le 1er portail et le joueur
				angle = phase(complex(-rotObj[y][x], -rotObj[y][y]))\
					 - phase(complex(rotOwn[z][x], rotOwn[z][y]))
				
				# Calcul de l'angle entre le 2nd portail et le joueur
				objYrot = phase(complex(rotPortail[z][x], rotPortail[z][y])) - angle
				
				obj.orientation = [[cos(objYrot - pi/2), sin(objYrot - pi/2), 0.], [cos(objYrot), sin(objYrot), 0.], [0., 0., 1.]]
			
			# Transmition de la force
			if -0.7 < rotPortail[z][z] < 0.7 and -0.7 < rotOwn[z][z] < 0.7 :
				modForce = (force[x]**2 + force[y]**2 + force[z]**2)**0.5
				
				angle = phase(complex(-force[x], -force[y]))\
					 - phase(complex(rotOwn[z][x], rotOwn[z][y]))
				
				forceApp = phase(complex(rotPortail[z][x], rotPortail[z][y])) - angle
				
				obj.worldLinearVelocity = [cos(forceApp)*modForce, sin(forceApp)*modForce, force[z]]
			
			obj["prec"] = abs(int(own["bleu"]) - 1)


P'tite explication : phase(complex(vecteur[x], vecteur[y])) sert à obtenir l'angle entre le vecteur et l'origine du repère (l'axe des abscisses) sur le plan (0, x, y).
Pour obtenir l'angle entre le vecteur A et le vecteur B et bien on soustrait les angles...
Et on se sert des fonctions sinus et cosinus pour retrouver les coordonnées d'un vecteur. S'il y a toujours quelque chose que tu ne comprends pas, j'essayerai de te faire un schéma.

Bon blend

Contribution le : 21/11/2010 22:02
_________________
Guillaume
Créer un fichier PDF de la contribution Imprimer


Re: Portal BGE - Version 1.6 - 6 niveaux fonctionnels
OverdOzed
Inscrit:
18/09/2009 20:52
De Paris
Post(s): 1860
Je suggère que tu Re-uppes un fichue avec toutes les textures, ça évitera aux personnes qui veulent tout DL de partir à la pêche dans tout le thread.

LadeHeria

Contribution le : 21/11/2010 22:11
Créer un fichier PDF de la contribution Imprimer


Re: Portal BGE - Version 1.6 - 6 niveaux fonctionnels
OverdOzed
Inscrit:
24/07/2008 00:45
De Paris
Post(s): 3445
C'est centralisé sur la première page du post (je le répète... )
En gros il y a une archive et trois textures pas indispensables (aide, sphère et normal map de la sphère)
Merci gui36fr, je verrais tout ça demain parce que là, dodo !

Contribution le : 22/11/2010 00:00
_________________
Tuto MaPZone
Créer un fichier PDF de la contribution Imprimer


Re: Portal BGE - Version 1.6 - 6 niveaux fonctionnels
OverdOzed
Inscrit:
12/12/2007 20:02
De quoi tu te mêles !
Post(s): 1073
Quoi dire...
Elle est hyper bugguée comme version :S
Presque à chaque fois que je passe dans une porte, je sors dans le décors... et pourtant j'essaie pas de tricher, même pire, quand je triche, ça marche mieux qu'en temps normal..

Contribution le : 22/11/2010 00:30
_________________
Carpe diem mon ami [Levak & Cie] - Levak on Vimeo
Créer un fichier PDF de la contribution Imprimer


Re: Portal BGE - Version 1.6 - 6 niveaux fonctionnels
OverdOzed
Inscrit:
24/07/2008 00:45
De Paris
Post(s): 3445
Oh là il va vraiment falloir que je revois tout ça.
Je crois que le plus simple pour éviter les bugs de position va être de placer le joueur au centre du portail et non relativement à la position d'entrée...

Contribution le : 22/11/2010 19:56
_________________
Tuto MaPZone
Créer un fichier PDF de la contribution Imprimer


Re: Portal BGE - Version 1.6 - 6 niveaux fonctionnels
OverdOzed
Inscrit:
24/07/2008 00:45
De Paris
Post(s): 3445
Je profite du fait qu'OpenGL fonctionne en ce moment pour faire une petite révision.
Je travaille sur le niveau 7 dans lequel il faudra actionner le levier pour faire pivoter le couloir au-dessus, ce qui permettra de passer.
Le dépliage n'est pas encore fait, ce qui est là est ce qui s'est fait au fil des extrusions.
Mais là j'ai un problème avec le portail orange : il n'est plus modifier par les actuators F-Curves...Selon la frame laquelle on lance le jeu, ou on ne le voit pas (frame <= 1), ou il est tout petit (1 < frame < 5), ou il est de la bonne taille (frame >= 5), mais dans tous les cas il n'y a plus d'animation.
Chose curieuse, il ne se passe rien de mal sur le bleu, seul le orange fait des siennes...
Pour ton script, gui36fr, je n'ai testé pour le moment que la rotation, mais la méthode matricielle fonctionne très bien depuis que j'ai résolu mon précédent problème. Simplement, j'avais oublié de l'implémenter dans la version "officielle", c'était resté dans mon blend de test.
En ce qui concerne les bugs de passage au travers des murs lors du passage au travers des portails, c'est assez compliqué, mais je sais déjà d'où vient le problème : lorsqu'on rentre par le haut du portail, on sort par le haut du portail, donc si un des portails est juste contre le haut du terrain et que l'on tire au sol le second, on risque de se retrouver au plafond.
Exemple en vidéo, dans le style de la future intro :
-- En upload sur YouTube --

Le blend :

Contribution le : 24/11/2010 13:47
_________________
Tuto MaPZone
Créer un fichier PDF de la contribution Imprimer


Re: Portal BGE - Version 1.6 - 6 niveaux fonctionnels
Fou Furieux du Clan
Inscrit:
02/11/2008 19:26
Post(s): 238
Ton problème de portail qui ne s'affiche pas n'apparaît que dans le niveau 6, et devine quoi, je n'ai trouvé ni le portail bleu ni le portail orange dans cette scène. Donc soit le problème viens de là soit je suis bigleux.
Vérifie les raccords des briques logiques au passage.

Pour les fosses, j'ai deux idées : si ton jeux se font dans une sorte de base spatial et tu peux alors faire un trou qui mène tout droit dans l'espace. Sinon ce sera les entrailles de la planète.
Une autre idée : des tuyaux transportant quelque chose de très dangereux (comme du plasma ou une autre source d'énergie).

Pour attraper la balle, applique lui une force orienté vers le bout de ton arme, et dès qu'elle la touche la force disparait et la balle est parenté à l'arme.

Voilà
Bon blend

Contribution le : 24/11/2010 16:02
_________________
Guillaume
Créer un fichier PDF de la contribution Imprimer


Re: Portal BGE - Version 1.6 - 6 niveaux fonctionnels
OverdOzed
Inscrit:
24/07/2008 00:45
De Paris
Post(s): 3445
Voilà la vidéo.
http://www.youtube.com/watch?v=uiFHHyrS-RM

Pour les trous, ouais, je vais faire un fossé infini, c'est le plus simple.

Le problème de portail, il est dans tous les niveaux, et seulement sur le orange.
Dans le niveau 6 (comme dans tous les autres) il faut activer les deux premières scènes.

Le tuyau, c'est sympa comme idée, ou peut-être juste un transfert d'énergie sous forme d'éclair qu'il faudrait désactiver quoi.
Le coup de la force pour attirer la sphère, c'est une idée, mais il va falloir tester parce que je suis pas sûr que ça marche à tous les coups...
D'ailleurs, il faut que je fasse disparaître la cible lorsqu'on porte un objet...

Contribution le : 24/11/2010 16:53
_________________
Tuto MaPZone
Créer un fichier PDF de la contribution Imprimer


Re: Portal BGE - Version 1.6 - 6 niveaux fonctionnels
Fou Furieux du Clan
Inscrit:
02/11/2008 19:26
Post(s): 238
La fin de la vidéo me paraît un peu trop rapide... Mais ça explique bien le fonctionnement.

Faudrait par contre mettre un message comme quoi toutes les surfaces ne peuvent pas recevoir un portail.

En parlant de ça, on peut superposer les portails, à corriger

Pour attirer la sphère, un bout de script qui récupère le vecteur unitaire du vecteur sphère - extrémité de l'arme, tu multiplie par la valeur de ta force que tu rentre dans un actuator et c'est bon. Un sensor collision (ou near comme tu veux) pour stopper l'actuator et parenter la boule par la suite.
Le seul problème que je vois c'est si la boule reste bloquée : deux solutions : ou il faut appuyer constamment sur 'E' pour appliquer la force, ou elle disparaît après un petit temps.

Faudrait par contre trouver un moyen de la détruire pour tout débloquer (et faire une explosion lorsque qu'elle touche la source d'énergie mortelle, mais j'en demande peut être un peu trop...).

Et pour le portail orange, il n'y a que dans le niveau 6 que ça plante chez moi

Contribution le : 24/11/2010 17:18
_________________
Guillaume
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
« 1 ... 11 12 13 (14) 15 16 17 ... 21 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses Effets sabre laser image par image 2 42 Aujourd'hui 07:27:45
muthesaint 
Questions & Réponses [non résolu] Rendu vide pour une simple animation 0 49 20/09 09:57:55
Scandinaze 
Questions & Réponses [non résolu] comment engendrer un mouvement selon un autre dans un simple système 1 106 18/09 17:10:37
doraynico 
Questions & Réponses [non résolu] Comment fusionner deux fichiers .blend ? 2 136 18/09 16:53:07
doraynico 
Questions & Réponses Comment mettre un délai sur une animation contenue dans une instance de collection? 0 82 18/09 16:31:16
doraynico 
[WIP] et travaux terminés [WIP] Super Blenderello.    [1][2][3]...[7] 60 35144 05/09 14:50:01
albron 
Questions & Réponses Comment percer une forme courbe 0 191 03/09 04:23:51
tymoon2000 
Questions & Réponses vertex weights 0 187 31/08 16:59:42
fenixdragon 
Questions & Réponses bagapie 0 198 31/08 16:12:59
zilou 
Questions & Réponses Remplissage objet 2 357 29/08 16:28:10
poppy 
[WIP] et travaux terminés [terminé] Tracking pour Ovni 0 196 29/08 09:48:46
vinceproduc 
Moteur de jeu GameBlender et alternatives Réflexions sur la démarche de création d'un jeu vidéo    [1][2][3]...[5] 48 81749 26/08 06:52:11
breakout_12 
Questions & Réponses Export png de mauvaise qualité 0 204 24/08 19:17:35
Vort 
Questions & Réponses Calcul de volume sur une zone définie d'un objet avec un important maillage 2 320 22/08 15:37:09
Cecile-Blabla 
Questions & Réponses [non résolu] Animation qui ne se finit pas 1 305 21/08 23:09:34
moonboots 
Questions & Réponses convertir displacement shader en displacement géométrie 1 323 21/08 14:20:32
yawdpwal 
Hors Sujet !! Japanese weather presenter 0 1406 20/08 16:40:57
xorturion 
[WIP] et travaux terminés Visage humain    [1][2] 10 5197 08/08 12:49:46
Guilleto 
Questions & Réponses Problème fonction déplacement et raccourcis clavier ne marchent plus ( v2.93 & 3.0 ) 1 10667 06/08 03:13:33
meltingman 
The Blender Clan 'tchat [FPS] New Era    [1][2][3] 28 11058 06/08 03:07:42
meltingman 

Qui est en ligne
98 utilisateur(s) en ligne (dont 66 sur Forums)

Membre(s): 0
Invité(s): 98


plus...
Nouveaux membres
SusanneDuC 23/9/2023
WarrenNuss 23/9/2023
NereidaAnn 23/9/2023
BetsyZfq15 23/9/2023
JacksonTho 23/9/2023
JakeBrooke 23/9/2023
HayleyStro 23/9/2023
JSVKurt059 23/9/2023
JaimeEcuye 23/9/2023
XVDDorothe 23/9/2023
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 6
BUG de Lyon
plus 216 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445