new Vector3(0, posGenerator,0), Quaternion.identity);
Merci beaucoup, je ne sais pas encore si ça marche, j'ai pas fini, mais en tout cas y a plus d'erreur !
Salut à tous,
j'ai tout juste commencé mon apprentisage sur Unity; je suis un tutoriel FR pour faire un jeu en 2D.
Mais mon problème est la consomation globale du soft qui est très gourmande pour sa faible utilisation.
En gros dès que je lance mon jeu avec une scene simple, mon PC s'emballe
J'ai juste programmé la direction + le saut et d'ailleurs ce dernier fonctionne 1 fois sur 10. J'ai l'impression que ça rame.
Config:
Unity 2020.1.6f1
i7-8700 CPU @ 3.20GHz
16Go de RAM
NVidia Geforce RTX 2060
Je ne crois pas que ça soit anormal. Si tu lances une scene vide, Unity va certainement prendre beaucoup de puissance de calcul quand même.
Faut pas oublié que dès que tu lances le jeu, Unity va charger un moteur de jeu 3D, à chaque frame (plusieurs dizaines de fois par seconde) il fait effectuer un rendu 3D de ta scène et l'affiche à l'écran (même si c'est un jeu en 2D), recalcul les collisions, etc...
Par contre, si le saut marche 1 fois sur 10, c'est qu'il y a un problème dans tes scripts (et ce problème peut aussi engendrer une sur-consommation de la puissance de calcul).
Mais je peux pas t'en dire plus si tu ne partages pas le code.
Le 20 septembre 2020 à 09:57:35 TheRealMarco a écrit :
Je ne crois pas que ça soit anormal. Si tu lances une scene vide, Unity va certainement prendre beaucoup de puissance de calcul quand même.
Faut pas oublié que dès que tu lances le jeu, Unity va charger un moteur de jeu 3D, à chaque frame (plusieurs dizaines de fois par seconde) il fait effectuer un rendu 3D de ta scène et l'affiche à l'écran (même si c'est un jeu en 2D), recalcul les collisions, etc...
Par contre, si le saut marche 1 fois sur 10, c'est qu'il y a un problème dans tes scripts (et ce problème peut aussi engendrer une sur-consommation de la puissance de calcul).
Mais je peux pas t'en dire plus si tu ne partages pas le code.
En farfouillant sur un forum anglais, j'ai vu effectivement une personne avec le même problème pour un jeu en 3D avec une conso à 100%.
Avec la même explication que la tienne, donc je dois en déduire que c'est ça la raison, ce qui reste tout de même embêtant d'entendre le PC tourner à fond à chaques essais.
Concernant le saut, c'est au bon vouloir du jeu... un coup je vais pouvoir sauter 2 fois de suite, un autre coup je vais agresser la barre espace et il bougera pas.
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed;
public float jumpForce;
public bool isJumping = false;
public Rigidbody2D rb;
private Vector3 velocity = Vector3.zero;
void FixedUpdate()
{
float horizontalMovement = Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime;
if (Input.GetButtonDown("Jump"))
{
isJumping = true;
}
MovePlayer(horizontalMovement);
}
void MovePlayer(float _horizontalMovement)
{
Vector3 targetVelocity = new Vector2(_horizontalMovement, rb.velocity.y);
rb.velocity = Vector3.SmoothDamp(rb.velocity, targetVelocity, ref velocity, .05f);
if(isJumping == true)
{
rb.AddForce(new Vector2(0f, jumpForce));
isJumping = false;
}
}
}
Pas de problème de config, la mienne est beaucoup moins bonne.
L'éditeur d'unity est très gourmand, et il y a pas mal de taches synchrones, qui "bloquent" le logiciel, du coup c'est normal que ça ne soit pas toujours fluide dans l'éditeur, même avec un grosse config.
Quand tu lance le jeu dans l'éditeur c'est plus gourmand qu'une fois build, c'est normal que le processeur tourne pas mal, même pour un petit jeu. Dans ton cas cependant si t'es en permanence à 70% ça semble excessif. Et ça ne devrait pas impacter sur la fluidité du jeu.
C'est probablement toi qui a mal fait un truc, plutôt qu'un problème matériel ou d'Unity. Par exemple une boucle infinie, ou un appel excessif à Console.Log etc.
Alors apparement, dans le tuto que je suis, plusieurs personnes ont le même problème. Et le système de saut est revu dans les épisodes suivant. Donc my bad, ça m'apprendra à pas chercher de mon côté...
Ce qui me surprend tout de même, c'est qu'avec le même code, le dev qui explique arrive clairement à sauter.
Merci pour vos réponses rapide.
Pour ton problème de saut: Remplace void FixedUpdate()
par void Update()
.
C'est pas un problème avec Unity, mais c'est ton tuto.
Le 20 septembre 2020 à 11:13:56 TheRealMarco a écrit :
Pour ton problème de saut: Remplacevoid FixedUpdate()
parvoid Update()
.C'est pas un problème avec Unity, mais c'est ton tuto.
Impec' pour le saut mais maintenant je peux plus me diriger.
Mais bref, je veux pas t'embêter avec ça, pour le moment ce n'est pas mon principal soucis, c'est surtout la conso... et ce ventillo qui s'emballe tellement que ça me stress au point d'être désagréable.
Au moment où je lance le jeu, au bout de 10 secondes 70-80% processeur 45% mémoire. Ca peut paraître con mais ça me sape le moral. Je te jure que ça me démotive.
Je suis sur un laptop, sans batterie directement sur le secteur. Rassure moi, c'est pareil pour toi? Pour tout le monde en fait?
Tu m'as expliqué plus haut mais j'arrive pas à l'accepter je crois.
@TheRealMarco : pour tout ce qui concerne le moteur physique il est conseillé d'utilisé FixedUpdate. Par contre dans sa fonction il y a Time.deltaTime qui est à remplacer par Time.fixedDeltaTime.
Le 20 septembre 2020 à 11:38:53 ThetaTauTau a écrit :
@TheRealMarco : pour tout ce qui concerne le moteur physique il est conseillé d'utilisé FixedUpdate. Par contre dans sa fonction il y a Time.deltaTime qui est à remplacer par Time.fixedDeltaTime.
Oui, il faudrait revoir une partie du code mais il verra dans la tutoriel. Juste que j'ai vu Input.GetButtonDown("Jump")
qui ne pouvaient donc pas être détecté à chaque frame.
Le 20 septembre 2020 à 11:32:48 chenaro a écrit :
Le 20 septembre 2020 à 11:13:56 TheRealMarco a écrit :
Pour ton problème de saut: Remplacevoid FixedUpdate()
parvoid Update()
.C'est pas un problème avec Unity, mais c'est ton tuto.
Impec' pour le saut mais maintenant je peux plus me diriger.
Mais bref, je veux pas t'embêter avec ça, pour le moment ce n'est pas mon principal soucis, c'est surtout la conso... et ce ventillo qui s'emballe tellement que ça me stress au point d'être désagréable.
Au moment où je lance le jeu, au bout de 10 secondes 70-80% processeur 45% mémoire. Ca peut paraître con mais ça me sape le moral. Je te jure que ça me démotive.
Je suis sur un laptop, sans batterie directement sur le secteur. Rassure moi, c'est pareil pour toi? Pour tout le monde en fait?
Tu m'as expliqué plus haut mais j'arrive pas à l'accepter je crois.
La programmation de jeux vidéo, ça consomme beaucoup plus que d'autres types de programmation, comme faire du web. Je pense que c'est un type d'activité qui consomme le plus avec l'imagerie 3D et l'intelligence artificielle, c'est donc normal que ton ordinateur chauffe beaucoup. Le fait que tu travailles sur un ordinateur portable doit accentuer le problème car il y a moins d'air donc une ventilation qui marche moins bien.
Perso j'ai une tour assez grosse, je n'ai pas de problème de ventilateurs qui s'emballent, la température n'augmente pas suffisamment.
Salut j'aimerais avoir votre avis sur l'approche correcte que je devrais prendre pour implémenter un système de combo customizable (Comme dans God Hand) dans mon jeu à la 3e personne en 3D ?
Pour être plus précis, je veux donner au joueur la possibilité de débloquer certains coups et de les agencer pour pouvoir faire un combo customizable
EDIT: Je cherche aussi un tuto/ressources poussées sur la gestion des contrôles du personnage à savoir les déplacements, les sauts, etc, ...
Je trouve beaucoup de tutos mais ils s'arrêtent vite ou alors n'expliquent pas bien la logique de base à avoir pour implémenter toute sorte de différentes manières de contrôler notre personnage
Salut j'aimerais avoir votre avis sur l'approche correcte que je devrais prendre pour implémenter un système de combo customizable (Comme dans God Hand) dans mon jeu à la 3e personne en 3D ?
C'est quoi l'approche que tu as choisi ?
Je trouve beaucoup de tutos mais ils s'arrêtent vite ou alors n'expliquent pas bien la logique de base à avoir pour implémenter toute sorte de différentes manières de contrôler notre personnage
Tu ne trouves pas un tuto pour faire le jeu de tes rêves. Les tutos c'est pour apprendre comment faire des trucs génériques applicables à tous les jeux.
En général les tutos de Brackeys sont pas mal: https://www.youtube.com/watch?v=4HpC--2iowE
Bonsoir
je cherche a faire sous unity de particles systems avec les computer shader
quelqu un a un tuto ou un exemple ?
Salut, est que vous pouvez m'aider un à clarifier un truc sur les avatars dans Unity ?
D'après ce que j'ai compris, ce sont des rigs que l'on peut retrouver dans un modèle 3D et dans des animations pour que les membres s'accordent aux mouvements du perso.
Mais disons que j'importe un modèle de l'asset store et une animation de Mixamo (donc des conventions de nommages différentes et un nombre de membre/articulations différentes), je fais comment pour faire matcher les deux ?
J'ai été amené à cette fenêtre (je configure un avatar pour mon animation) mais je me demande si ça vaut le coup de se casser la tête à mettre le perso en T-pose si c'est pour encore devoir le refaire si jamais j'importe des animations d'ailleurs ?
La fenête:
Comparée à l'avatar du modèle importé de l'asset store:
Donc est que je suis la bonne marche à suivre ou bien pas du tout ?
EDIT: Après peut-être que je me casse la tête pour rien parce que quand je duplique uniquement l'animation de celle importée par mixamo, l'animation fonctionne sur mon perso donc bon (j'ai pas encore regardé en détail non plus)
C'est bien Mirror pour faire du online ?
UNET est déprécié et le nouveau plugin de networking est toujours en alpha donc il n'y a pas de système multijoueur officiel utilisable en production actuellement.
Côté tiers les 2 plus utilisés sont photon (PUN) et Mirrror. Si j'ai bien pigé photon est plus adapté pour du peer to peer et Mirror pour avoir un serveur autoritaire. Je n'ai encore jamais fait de multi donc je n'ai pas plus de précisions.
J'ai déjà utilisé Mirror. La documentation est je trouve pas ouf du tout, il faut souvent chercher soi même et pas sur le site. Passer beaucoup de temps sur le discord etc.
Coté code c'est ok, ça s'implémente plus facilement que je le pensais.
Si t'a des questions dessus hésite pas, je me suis pas mal pris la tête dessus.
Ok merci
Comment je peux te poser des questions
Hello à toi ! Peux-être peux tu m'aider sur un bug que je rencontre sur mon jeu Space PiouPiou (disponible sur http://japandoudou.com si jamais :D , y'a un topic sur le forum)
Lors de mes tests sur Unity, la manette PS4 est parfaitement reconnue, j'ai d'ailleurs fait un système pour afficher les touches de la manette branchée :
https://youtu.be/aAeFiTSrpBA (la vidéo date un peu)
Cependant, lorsque le jeu est buildé : impossible de reconnaître la manette PS4. Je trouve cela vraiment triste et je ne sais pas vraiment l'expliquer. Pour reconnaître le périphérique, je compare si la chaine de caractère du HID du 1er controlleur (control.current je crois) controlleur avect "Xinput" ou "Dualshock" (pas très robuste de chercher une chaine de caractère mais je vois pas comment reconnaître automatiquement sinon ).
Automatique étant peut être trop demandé, je vais sans doute laisser le choix d'afficher un jeu de touches PS4 ou Xbox à l'utilisateur mais passons, je souhaiterai que la manette PS4 soit reconnue
Je ne peux pas upper le code ASAP mais ce soir soir ou demain. J'utilise InputSystem V1.0.0. D'ailleurs, sais tu comment désactiver les controlscheme ? J'ai deux controlscheme : 1 pour la maniabilité manette, et l'autre clavier souris. J'aimerai en activer que l'un ou l'autre. J'ai encore pleins d'autres questions mais je vais m'arrêter là pour l'instant :D
Merci à toi :