C'est pas compliqué c'est juste que je pensais que je pouvais le faire en une ligne de code avec une astuce mais tant pis
Bonsoir !
J'essaye de faire un timer pour mon niveau. En gros, je voudrais que lorsque mon personnage passe un endroit (je ferais un trigger), il déclenche un timer qui ne s'arrête que lorsque le joueur passe un autre endroit (ligne d'arrivée par exemple).
Comme n'importe quel chronomètre dans les jeux de courses.
J'ai essayé de modifier ce script, qui est un countdown, mais sans succès, je suppose que ce que je cherche est bien plus complexe :
var timer : float = 10.0;
function Update()
{
timer -= Time.deltaTime;
}
function onGUI()
{
GUI.Box(new Rect(10, 10, 50, 20), "" + timer.ToString("0"));
}
Savez-vous ce que je dois faire ?
Merci par avance :D
J'aurais besoin d'aide!
Je veux que lorsque mon personnage rentre en contact avec une plaque, il respawn. Comment faire?
Bobi
Si tu utilise un FirstPersonController, tu doit créer un cube qui entoure ta plaque, tu enlève le meshRenderer et tu le met en Trigger.
Tu lui assigne le tag Respawn. Vérifie que ton cube soit assez gros pour que le FPC le gère.
Assigne ce script à ton personnage :
http://pastebin.com/6hDbXyAt
Oublie pas de modifié la variable current level depuis l'inspector de ton perso.
Et oublie surtout pas de mettre ton level dans le build (tu fait "fichier" > build parameters > add current)
Si je veux mettre un GUIText dans un coin de l'écran, quelque soit la taille/définition, je fais comment ?
C'est bon j'ai trouvé
Par contre ya un truc que j'ai pas trouvé, c'est comment modifier la vitesse de déplacement du 1st person controller préfabriqué ? Et aussi la hauteur/durée du saut svp.
Clique sur ton FirstPersonControler, et regarde dans la fenêtren Inspector (à droite normalement).
Va dans l'onglet Character Motor, puis dans Movement pour le mouvement et Jumping pour les sauts.
Ici, tu pourras modifier les valeurs que tu veux ;)
"J'essaye de faire un timer pour mon niveau. En gros, je voudrais que lorsque mon personnage passe un endroit (je ferais un trigger), il déclenche un timer qui ne s'arrête que lorsque le joueur passe un autre endroit (ligne d'arrivée par exemple).
"
Tu peut avoir une variable float a laquelle tu ajoute le temps a chaque frame dans un onUpdate, a la condition qu'un mode course soit activé. Pour utiliser des lignes d'arrivées, tu peut utiliser des triggers et les fonction onTrigger qui seront appelées automatiquement par l'objet défini en tant que trigger.
Bah en fait j'y ai vu des variables maxForwardSpeed etc mais une fois modifiées ça changeait rien à la vitesse de déplacement. Pour jump j'ai trouvé la hauteur mais pareil ça a rien changé pourtant j'ai bien synchro et tout.
Jarjar :
Ah bon ? Bah c'est bizarre... Mais la physique sur le personnage est vraiment bizarre, surtout avec la physique de l’environnement. Il doit y avoir des modifications supplémentaires à effectuer.
ChiageDeLuna : D'accord, mais franchement quand tu me dis ça ça m'avance pas vraiment, comme je ne programme pas du tout :p
Merci Adridu84!
J'ai une autre question, lorsque je met un 3d text, je le vois au travers des murs, comment faire pour que ca ne soit pas le cas?
Salut,
Vous auriez pas des liens vers des tutos pour débuter sur Unity ?
Bobi
N'utilise pas de 3DText ^^
Désolé pour la réponse mais je ne me suis jamais renseigné, google est ton meilleur ami sur ce coup là.
Hedjaz
https://www.youtube.com/watch?v=iUBJZoAtjxg
Ce tuto est un peu vieux mais de bonne qualité dans l'apprentissage, c'est par ses vidéos que j'ai commencé.
Bonne chance
Salut, j'débute dans Unity, quelqu'un pourrait poster un script simple pour déplacer un cube en 2D ? merci :hap;
Dans Update :
if (input.GetKey("up")) {jsaispasquoi(Vector3.up);}
etc
Pour le texte, je l'ecrit dans un logiciel 3d puis je l'importe, ca marche!
Un autre probleme:
J'ai fait une plaque d'une certaine epaisseur animé pour qu'elle monte et descende, afin de permettre a mon personnage d'atteindre des endroit en hauteur, mais lorsque mon personnage est dessus, c'Est extremement saccadé, et parfois il passe au traver, que faire?
Un jetpack pour ton perso
J'ai un problème dans mon script de déplacement du personnage : quand j'appuie sur 2 touches directionnelles en même temps les vitesses s'ajoutent, du coup je marche plus vite en diagonale qu'en ligne droite... J'ai donc voulu introduire une norme mais après j'obtiens le message d'erreur " transform.positionWithLocalOffset assign attempt for 'Main Camera' is not valid. Input positionWithLocalOffset is { NaN, NaN, NaN }.
UnityEngine.CharacterController:Move(Vector3)"
Je comprends absolument pas
(un grand merci à l'auteur de ce topic qui est présent dans tous les autres topics que celui ci pour dire des trucs genre "minecraft c'est un jeu de merde" ou "c'est dur de faire un jeu" et qui n'a rien posté ici pour aider les gens comme indiqué dans le titre...)
Lapintade à créé ce topique à ma demande, il a juste mit ce premier message pour ouvrir le topique. Il est l'administrateur de ce forum depuis de nombreuses années.
Ego
Essaie de faire, si j'appuie sur deux touches de déplacement, speed / 2;
Un aperçu :
http://pastebin.com/CxCEirQd
Bobi
Je ne peut que tu conseillé de rendre ta plaque plus large et de la ralentir, sinon, à la place de faire monter ta plaque depuis le module d'animation de Unity, tu le fait avec un script.
Exemple :
http://pastebin.com/p1fqjsyh
Ce script est sûrement mauvais, je l'ai fait à l'arrache, je te conseille, par exemple si tu veut qu'il utilise que les x, supprimer les variables en rapport avec z et y.
Que je m'embête pour vous aider