« 1 ... 4 5 6 (7) 8 9 10 ... 15 »


Re: un jeu de tir a l'arc (wiimote inside)
OverdOzed
Inscrit:
05/03/2007 21:49
De Lorraine
Post(s): 672
Oui pour le... "range culling" (on va appeler ça comme ça), c'est bien plus pratique de passer par une property. Un "if" bien plus digeste, et la possibilité de paramétrer la distance de culling pour chaque objet.

------

Ok, merci pour la démo sur l'alpha, en faite je ne savais pas que ça pouvait bugger dans un seul et même objet. Je n'avais jamais dû utiliser de forme assez complexe (jamais eu ce bug sur un cube).

Cependant, j'avais vu un autre bug avec l'alpha : quand plusieurs objets alpha sont sur la scene, celui dont le centre est le plus proche de la caméra est affiché devant (ça ne prend donc pas en compte les intersection d'objet etc...)

Le ZTransp semble donc régler le bug interne à l'objet pas le 2eme, lorsque plusieur objets se croisent.


[edit]
Je sais pas si le palmier de la démo et celui que tu utilise, mais je viens de voir que tout ton mesh est en "TwoSide". Enlève ça pour le tronc et les noix de coco, sinon ça double le nombre de faces.


------

Pour ton prob de framerate (méchante la baisse avec le ZTransp :-/) essaie de faire deux objet séparer : le tronc opaque, et les feuilles en ZTransp. La baisse de framerate seras surement moindre.

Citation :
d'ou l'idée folle:
separer l'objet en de multiple mini objets plan avec leur centre bien placé
si j'ai le courage , j'essayerais mais estce que le nombre d'objet est important ou seul le nombre de face compte?

Le nombre d'objet aussi malheuresement :), je pense que le ZTransp est quand même plus optimisé que si tu séparais toutes tes faces. Essaie juste en séparant le tronc des feuilles. Ca lui évitera de trier les faces opaques du tronc pour rien.

-----

J'viens de remarqué que tu triangulais tous tes objets. Je ne comprends pas pourquoi. Le GE les digère plutot bien :
Dans un mesh symétrique, il peut arrivé qu'un quad ne soit pas couper dans le même sens d'un coté et de l'autre du mesh... ça peut être graphiquement génant. Mais tant que tes quads sont à peu près planaire, ça n'importe peu.

Il y a juste les terrain où j'ai remarqué qu'un mesh non triangulé pouvait avoir des différence avec sa boite de collision (les quad ne doivent pas être interprété de la même façon par le GE et par Bullet.)

-----

Il me tarde de taper ce bon vieux Tom Nook .
Bon courage !

Contribution le : 21/04/2008 16:09
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Zelda-like (wiimote inside) [new textures p5]
Fou Furieux du Clan
Inscrit:
23/02/2008 22:06
Post(s): 138
Mdr faut arrêter la DS '

Contribution le : 21/04/2008 17:15
Créer un fichier PDF de la contribution Imprimer


Re: Zelda-like (wiimote inside) [new textures p5]
Fou Furieux du Clan
Inscrit:
27/02/2007 21:02
Post(s): 133
bon , je vous propose la dernière version de mon blend en telechargement.
telecharger ici (19 meg)

j'ai pensé a toi zelouille et j'ai rendu le raton laveur opérationnel
malheureusement je n'ai pas encore fixé les bases du modele de combat ( comment attribuer les degats, etc..) donc tu peux pas encore lui faire sa fete

j'ai essayé de bosser sur le "range culling" : ca marche mais ca prend environ 10 fps (logic a 44%) du coup je m'en passe pour l'instant car plus il y a d'objet, plus ca ralentit (memme en allégeant le "if").

J'ai voulu egalement faire un "activity culling " ,c'est a dire , desactiver les script de l'IA quand on s'eloigne des ennemis mais ca n'a pas marché.De toutes façons, je crois que c'est deja integré dans blender (a moins que ce soit pour la physique)

J'ai fait plusieurs essai en modifiant le rythme d'execution du script "culling" : je gagne en fps mais ca ralentit quad meme legerement.

Pour conclure, je laisse de coté le culling pour l'instant, on verra si ca ameliorera qque chose quand le monde s'agrandira.

J'ai aussi abandonné le ZTransp pour un moment , les bugs sont assez discret de ttes facon

je triangularise mes meshs pour avoir un nombre de faces représentatif ,car il me semble qu'au final , les faces quad sont triangularisée dans le GE

Contribution le : 24/04/2008 19:48
Créer un fichier PDF de la contribution Imprimer


Re: Zelda-like (wiimote inside) [new textures p5]
OverdOzed
Inscrit:
05/03/2007 21:49
De Lorraine
Post(s): 672
Salut sebz.
Cela fait 3 ou 4 fois que j'essaie de télécharger ton .blend, mais je me retrouve toujours avec "File Incomplete" au moment de le lancer.

-----

Citation :
j'ai pensé a toi zelouille et j'ai rendu le raton laveur opérationnel
malheureusement je n'ai pas encore fixé les bases du modele de combat ( comment attribuer les degats, etc..) donc tu peux pas encore lui faire sa fete



-----

Citation :
j'ai essayé de bosser sur le "range culling" : ca marche mais ca prend environ 10 fps (logic a 44%) du coup je m'en passe pour l'instant car plus il y a d'objet, plus ca ralentit (memme en allégeant le "if").

J'avais essayé chez moi avec une 20aine d'objets, ça prenait rien... mais c'est sûr qu'avec une grosse map ça doit être plus gênant.

Tu pourrais peut être tenter d'initialiser une liste avec les références des objets possédant une property "dist" en début de jeu.
Ton script n'aurais plus qu'à parcourir cette liste, au lieu de parcourir la totalité des objets de la scène. Cela ne peut que te faire gagner en fluidité ; même si surement très peu.

Initialisation de la liste
# INITIALISATION

scene  = GameLogic.getCurrentScene()
oblist = scene.getObjectList()

# La liste qui stokera tous les objets qui nous interesse
GameLogic.range_liste = []

for ob in oblist:
    if hasattr(ob, "dist"):

        # Ajout de l'objet dans la liste
        GameLogic.range_liste.append(ob)


Range culling (juste une petite modif à faire)
scene  = GameLogic.getCurrentScene()
camera = scene.active_camera

for ob in GameLogic.range_liste:    # Notre liste toute propre

	dist = camera.getDistanceTo(ob)
	mesh = ob.getMesh()

	if dist < ob.dist:
		ob.setVisible(1)
	else:
		ob.setVisible(0)

On parcours moins d'objet, et on évite le "if" qui regarde si chaque objet possède une property "dist". ça peut valoir le coup.
Le désaventage, c'est que si tu ajoute des objets dynamiquement (addobject) il va falloir que tu les ajoutes à cette liste au moment de leur création (et les retire à leur éventuelle destruction). Mais ça reste gérable est peu gourmand en ressource.

-----

Toutefois, une méthode qui allegera surement le traitement, si tu en as la possibilité, c'est de réunir plusieurs petits objets dans un seul. Par exemple tes petites herbes (si tu ne prévois pas de pouvoir les couper / arracher), 2-3 arbres tout proches etc.
-> Le soucis, c'est qu'il te faut donc créer un mesh différent pour rassembler ces truc.

Contribution le : 25/04/2008 04:30
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Zelda-like (wiimote inside) [new textures p5]
Fou Furieux du Clan
Inscrit:
27/02/2007 21:02
Post(s): 133
oups , j'avais merdé dans le transfert , ca devrait marcher maintenant:

Zelda-like .blend (21 meg)

comme vous pourrez le voir en ouvrant le blend, j'ai commencé un cheval (l'epona local ) c'est cho , mais je suis surpris car je m'en sort pas trop mal
le jeu en lui meme est au calque 5 ...

J'avais pensé a cette solution brièvement , mais je n'etais pas sur du résultat: mais c'est vrai que c'est la fonction getobjectlist qui doit prendre le plus de fps et non pas un simple for!
je re-tentrais ca un peu plus tard...

et c'est vrai que j'ai prévu de faire de la tondeuse avec mes herbes donc ...

Contribution le : 25/04/2008 11:35
Créer un fichier PDF de la contribution Imprimer


Re: Zelda-like (wiimote inside) [new textures p5]
Fou Furieux du Clan
Inscrit:
27/02/2007 21:02
Post(s): 133
ben alors personne n'a essayé ce semblant de jeu?


une petite question pour les pros:

peut ton recuperer le numero (l'indice) d'un vertex?

ou alors change-t-il tout le temps?

je cherche a recupere le vertex en question grace à : getVertex(matID, index)
ou index est le numero que je cherche

puis recuperer sa position avec getXYZ()

Contribution le : 10/05/2008 18:12
Créer un fichier PDF de la contribution Imprimer


Re: Zelda-like (wiimote inside) [new textures p5]
OverdOzed
Inscrit:
05/03/2007 21:49
De Lorraine
Post(s): 672
Si j'avais essayé ton jeu, et décidé de remettre à plus tard mon commentaire... j'en ai fini par le zappé completement .

Bref, graphiquement :
- Style mignon
- Bien animé (personnages / plante / mention spéciale à l'anime du héro qui grimpe un murret, ça n'a pas dû être simple à mettre en place).
- Manque une skybox
- Manque l'éclairage sur la map (dynamique / VCols / Lightmaps...)
- L'éclairage est assez fade je trouve (une ambiante un peu plus bleuâtre et un sun plus chaud renforcerait un peu tout ça)

Au niveau du code, tu as l'air d'avoir vraiment bien gérer ton truc (même si je n'ai pas encore trop inspecté ça).

Citation :
Peut-on recuperer le numero (l'indice) d'un vertex?

ou alors change-t-il tout le temps?

je cherche à recuperer le vertex en question grace à : getVertex(matID, index)
où index est le numero que je cherche

puis recuperer sa position avec getXYZ()


Mmmh, explique-nous plus en détail ce que tu souhaite faire.

Quelques trucs à savoir tout de même : tu ne peux pas faire de relation entre le mesh sous Blender, et celui sous BGE (les vertices seront indexés différemment etc.).
Tu ne peux pas prévoir l'indice d'un vertex tant que tu n'as pas lancé le GE.
Exemple : un cube en "set solid" fais 8 vertices dans Blender, et 24 (6x4) vertices dans BGE.

Toutefois, si tu ne modifie plus le mesh, les indices devrait toujours rester les mêmes.

Bref, si tu veux pouvoir localiser un vertex, tu peux le faire à l'aide
- des vertex colors (en peignant d'une certaine couleur le vertice que tu veux retrouver [attention à ne pas créer de split supplémentaire avec les VCols])
- de sa position

Suffit de parcourir tous les vertices, et lorsque tu tombe sur celui qui correspond, tu récupère son index.

Par exemple si tu cherche le seul vertice peint en rouge :
[...]

for index in range(mesh.getVertexArrayLength(0)):
    vertex = mesh.getVertex(0, index)
    if (vertex.r == 1.0) & (vertex.g == 0.0) & (vertex.b == 0.0) :
        print "Ce vertex est rouge :", index


------

Si tu veux en savoir plus sur les splits :
http://www.ericchadwick.com/examples/provost/byf2.html (paragraphe "welcome to splitville").
Si tu assigne plusieur couleur de vertex (Vcol) différente à un même vertex (si tu peint par face par exemple), il sera splitté dans BGE.

Contribution le : 11/05/2008 04:02
_________________
Créer un fichier PDF de la contribution Imprimer


Re: Zelda-like (wiimote inside) [new textures p5]
OverdOzed
Inscrit:
14/10/2007 10:26
De Combs La ville
Post(s): 537
J'ai vu quelques vidéos de ton projet sur Dailymotion et je trouve ça tout simplement magnifique ! Malgré quelques bugs, j'aime bien le voir grimper au mur l'anim est vraiment pas mal

Bon ton fichier blend est en download on va voir ce que ça donne...

D'avance reçois mes encouragement

Contribution le : 11/05/2008 07:28
_________________
Mon insta Insta Pat ROM
Créer un fichier PDF de la contribution Imprimer


Re: Zelda-like (wiimote inside) [new textures p5]
Fou Furieux du Clan
Inscrit:
27/02/2007 21:02
Post(s): 133
@zelouille: ok merci c'est le genre de critique que j'attendais !

pour la skybox, j'avais déjà fait quelques essais mais ca n'etait pas tres concluant : pas trouvé le bon rapport taille de la skybox/ resolution de la texture (ce qui faisait qu'on voyait les pixels), il faudra que je réessaye...

pour l'ambiant , je vais essayer çà! ,et comme j'ai pas encore fini ma map, j'ai pas encore "baké" les ombres et tout çà , je suppose qu'il existe des scripts qui le permettent (j'ai revu ton post pour convertir les textures en vertex color, je suppose que ca va m'etre utile ! )


disons que pour le code, j'ai bien organisé les différentes actions du perso principal et des AI mais le probleme c'est que c'est loin de l'optimisation: j'ai l'impression de gacher pas mal d'instruction if, for etc.. pour pas gran chose au final


concernant la question que j'ai posée,tu y a parfaitement répondu...

j'explique en détail ce que je veux faire:

comme les armature ne sont pas gérée en tant que tel dans le gameblender et qu'au final , ce sont juste les deformation des meshes qui sont retenues,

pour que mon armature puissse interagir avec les objet externes,comme les objets que le personnage peut prendre ,j'ai fait un ptit script qui permet de copier la position ainsi que sa rotation sur l'axe Z d' un objet a partir de la position de ses 4 vertex



import GameLogic 
import math
# ce script permet de copier la position d'un carré (papa) dans l'espace meme soumis a la deformation d'une armature


cont= GameLogic.getCurrentController()
obj = cont.getOwner()
scene=GameLogic.getCurrentScene()

parent=scene.getObjectList()[obj.papa]


a = parent.getMesh().getVertex(0, 0).getXYZ() 
b = parent.getMesh().getVertex(0, 1).getXYZ() 
c = parent.getMesh().getVertex(0, 2).getXYZ() 
d = parent.getMesh().getVertex(0, 3).getXYZ() 


barycentre=[(a[0]+b[0]+c[0]+d[0])/4,(a[1]+b[1]+c[1]+d[1])/4,(a[2]+b[2]+c[2]+d[2])/4]


#barycentre = local position of parent
#orient =global orientaion of parent


orient=parent.getOrientation()




barycentre[0]=-barycentre[1]*orient[1][0]
barycentre[1]=barycentre[1]*orient[1][1]
#barycentre[2]=barycentre[2]*orient[2][0]+barycentre[2]*orient[2][1]+barycentre[2]*orient[2][2]



xpos2, ypos2, zpos2 = parent.getPosition() 
xpos = barycentre[0] + xpos2 
ypos = barycentre[1] + ypos2 
zpos = barycentre[2] + zpos2 +0.2
posi=[xpos, ypos, zpos]

obj.setOrientation(orient)
obj.setPosition(posi)





ce script est utilisé quand le perso prend une jarre ou un tonneau: entre ses mains il y a un plan invisible qui d'un coté est influencé par un bone de la main droite et de l'autre par un bone de la main gauche:
grace a mon script appliqué aux objet "portables" je peut positionner ma jarre au milieu exact de ces deux main( au barycentre du plan)


ce script oblige a utiliser obligatoirement un plan et il serait plus simple de faire la meme chose avec un seul vertex et sa normale: la position du vertex et la normale son orientation

dopnc je voulais savoir si dans l'editeuril etait possible de recupere un certain vertex et son index, mais ce n'est pas possible!

l'astuce du vertex color est vraiment ... pas con du tout
le seul petit défaut c'est que ca oblige a reparcourir tous les vertex du mesh


le but final: ajouter une simple trace blanche (emmeteur particules)derrière mon épée pour simuler la vitesse , faire joli, et attribuer les degats aux ennemis (s'ils touchent la trainée ils seront blessés ou qque chose dans le genre)

forcement l'emmeteur de particule devra suivre l'epée et son orientation et comme seuls ses vertex bougent...



pfiou, j'ai du mal à faire simple

Contribution le : 11/05/2008 11:34
Créer un fichier PDF de la contribution Imprimer


Re: Zelda-like (wiimote inside) [new textures p5]
RegulatorZ
Inscrit:
26/07/2006 01:33
De Poitiers / Paris pour les études
Post(s): 2854

Contribution le : 11/05/2008 16:10
_________________
HASTA LA VICTORIA SIEMPRE
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
« 1 ... 4 5 6 (7) 8 9 10 ... 15 »




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
The Blender Clan 'tchat OverdOzed 5 91 Aujourd'hui 20:56:50
Rimpotche 
Questions & Réponses "Transform" appliqué à plusieurs objets 5 71 Hier 20:18:53
moonboots 
Questions & Réponses [résolu] Entendre les sons dans le Layout 1 45 23/05 16:41:20
Horemheb 
The Blender Clan 'tchat Blender 2.8x : Actus, tests, feedback..    [1][2][3]...[10] 98 59461 22/05 12:03:20
Bibi09 
Questions & Réponses [résolu] Problème pour fermer 2 courbes nurbs 1 60 22/05 09:11:42
blendinfos 
Questions & Réponses rétrécir une face par rapport uniformément à son bord plutôt que par rapport à son centre. 9 25634 22/05 00:06:13
meltingman 
Questions & Réponses APPEL AUX VOLONTAIRES 1 146 21/05 17:09:19
Melodicpinpon 
Questions & Réponses Labels autour de l'objet 2 119 19/05 14:33:09
Redstar 
Questions & Réponses export 1000x trop petit 6 199 19/05 08:25:26
Redstar 
Hors Sujet !! FActualités : un petit journal humoristique    [1][2] 12 1120 18/05 02:06:25
meltingman 
Hors Sujet !! Le mal des répondeurs du forum (nouzautr's) 9 287 18/05 01:52:27
Thewada 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[57] 565 183270 17/05 20:44:39
Redstar 
Questions & Réponses Séparer un script en plusieurs add-ons 3 181 17/05 13:10:08
Redstar 
Questions & Réponses Graph editor: ne peut pas changer le handle type en free ? 9 254 17/05 12:27:31
Redstar 
Questions & Réponses [résolu] Transfer simulation cloth en boucle 5 324 17/05 12:25:56
Redstar 
Questions & Réponses [résolu] Pas d'ombre sur l'objet 8 243 16/05 19:37:11
Lylo 
Questions & Réponses Prb modélisation hache | mirror modifier 3 183 15/05 07:05:53
Rimpotche 
Questions & Réponses [résolu] Blend4web et Blender version 2.80 ?    [1][2] 16 3276 14/05 09:50:34
blendinfos 
Questions & Réponses Je patine avec mon personnage 8 455 14/05 00:37:43
Lylo 
Questions & Réponses [résolu] rendre visible image as plane et wireframe 3 173 13/05 15:54:36
Rimpotche 

Qui est en ligne
168 utilisateur(s) en ligne (dont 95 sur Forums)

Membre(s): 1
Invité(s): 167


Rimpotche, plus...
Nouveaux membres
RenaDowdy4 25/5/2022
DorthyIbu5 25/5/2022
DessieDeeg 25/5/2022
SimaMahaff 25/5/2022
RandellChu 25/5/2022
HudsonGree 25/5/2022
RomanRosen 25/5/2022
FreyaKindl 25/5/2022
LeeWatson0 25/5/2022
NatashaJes 25/5/2022
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Jui 30
Anniv des Jedi :-D
Jui 9
BUG de Lyon
Jui 23
Anniv du BlenderClan !
plus 238 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