Bonjour je fais appel a votre aide j'ai 15 ans et je veux me lancer dans un gros projet le probléme ?? Je sais pas par ou commencer sur unity
Pourquoi pas un cube qui se déplace selon la pression des flèches du clavier?
Un keyboard qui prends en compte la pression ?
Serais tu musicien ?
C'est vrai qu'un clavier qui prendrais en compte la pression exercé, ainsi que sa vélocité d'attaque, et ce que l'on nomme "l'after-touche"
serais assez géant dans son utilisation des jeux vidéos en terme d'interface utilisateur.
Histoire à creuser...
Un bon clavier midi comme interface de controle de jeu vidéo.
Bonjour, j'ai un petit problèmes avec des tirs qui doivent partir en direction du pointeur.
Tout marche bien tant que mon personnage regarde vers l'axe Z, je peut tourner ma tête et tirer dans n'importe quel direction sans problèmes mais si je tourne le corps, mes tirs partent n'importe où.
voila le code du tir : http://pastebin.com/Q2xtiZA5
Sinon ça peut venir du script ThirdPersonController fournis par Unity?
Merci d'avance !
Quand tu récupère la position du joueur, tu ne récupère peut être pas sa rotation ? Ce qui fait qu'en tournant le corps du joueur, tu ne peut pas tirer en face de lui.
Après, je n'ai pas compris la dernière ligne (enfin, pas complétement). Clone est bien le projectile, si j'ai bien compris ? Tu lui as donné une position par rapport au joueur juste au dessus, donc maintenant, tu lui donne une vitesse et une direction à partir de la position du curseur (j'imagine que l'option "Camera.main.ScreenPointToRay(Input.mousePosition)
.direction"
donne la position du curseur sur l'écran de jeu). Mais c'est par rapport à quoi ? la direction que pointe le curseur par rapport au joueur, elle est où ? Parce que c'est ça que tu as besoin pour ça, non ?
Et c'est où "n'importe où" ? Vraiment n'importe où ? ça par où en fonction de où tu place le curseur (genre, à l'opposé du curseur ? Comme si t'avais pas bougé ton personnage ? ou est-ce vraiment aléatoire ?)
Désolé si je te pose plus de question que je ne tente de répondre à la tienne XD. Cela dit, mes interrogations peuvent te faire réfléchir dans le sens de la résolution de ton problème (enfin, j'espère). Je suis curieux de voir où ça cloche. Je débute en C# et sous Unity, alors connaître la réponse à ton interrogation peut me permettre d'en savoir plus, et éventuellement de ne pas être bloqué sur ce problème, si un jour j'ai besoin de la position du curseur, ou de quelque chose d'analogue.
Camera.main.ScreenPointToRay(Input.mousePosition) Me donne un rayon qui va vers un point dans le jeux a partir d'un point sur l'écran.
Quand le corps n'est pas face à l'axe Z les tir partent vraiment n'importe ou, certain dans mon dos, d'autre à droit d'autre en bas etc...
comme si la direction sur l'axe Z devait toujours être positive.
Pour tous ceux qui croyaient pas du tout en moi , j'ai déja bien avancer sur mon projet fps Unity3D =)
J'ai déja les armes , les déplacements ( je dois faire encore quelques modifications ) la map , les textures , j'ai rajouté le systeme d'xp .
Maintenant je m'attaque a l'impact de tire et les animations de l'arme
C'est pas en toi qu'on croit pas .
C'est ta méthode qu'on trouve bancale, c'est différent
TheUnreaL34
Les bon vieux tutos de MassaiTheDog/Cholapin
Adridu84 Et non ! car il fait tout son tuto en javascript , moi je fais en C# =)
Dans l'ensemble j'ai regardé tous c'est tuto mais il ne m'a pas grandement aidé =) .
Sinon j'ai trouvé un site ou j'ai réussi a télécharger un kit d'arme fps , donc du coups j'ai : une ak47 , une ump45 , skorpion , M9 , grenades , tout ça gratuitement
Salut !
Je fais un jeu en 2D et j'ai un problème.
J'ai créé une fonction permettant de déplacer le personnage de gauche à droite, et je change la direction de l'image selon l'action.
Hors, quand je vais vers la gauche (180°) ma position Z change tant que je vais vers la gauche et mon personnage disparaît.
Code : http://pastebin.com/qaUxL44Y
Merci de vôtre aide :D
Bonsoir,
@Zeitlan :
Je pense que tu fait une erreur entre une modification d'un point de vue global dans le point d'origine du monde, eu point de vue local de ton GameObject.
Tente ceci :
//transform.eulerAngles = new Vector2(0,180);
==> transform.localEulerAngles= new Vector2(0,180);
En fait ta ligne de base, tu faisait une rotation de 180 degrés, le centre de rotation étant le centre du monde.
La ligne modifiée permet d'effectuer une rotation de 180 degrés par rapport au centre de ton gameObject.
Bonne continuation.
Je souhaitais simplement savoir s'il y avait moyen de complètement bloquer le déplacement vers la gauche et la droite lors d'actions dans un jeu de plates-formes 2D, comme un dash ou un coup d'épée, par exemple. J'ai essayé de trouver un "enabled" quelque part à passer à "false" ; mais rien à faire, je ne trouve pas.
Pour ce qui est du mouvement, j'utilise tout bêtement un "Input.GetAxis("Horizontal");".
Bonjour,
@linkz13 :
Il n'existe pas à ma connaissance de propriété qui permet de freezer les événements UpDate().
Etant donné qu'en règle générale on utilise le Time.deltaTime comme multiplicateur pour adapter la vitesse de modification d'un transform dans une échelle de temps universel, il me semble que c'est à cet endroit qu'il faut agir.
L'idéal pour toi serais donc de créer une classe statique qui te renvoi une valeur de type Time.deltaTime en fonction de l'état pause ou running de ton Objet.
Ex :
using System.Collections;
public static class Pause
{
____public static bool Enabled = false;
____public static float MyDeltaTime
____{
________get {return Enabled ? 0.0f : Time.deltaTime; }
____}
}
Pour arreter ton animation et ou la reprendre
Pause.Enabled == true; ou Pause.Enabled == false;
Dans tout tes scripts qui doivent tenir compte de l'état pause ou running de ton objet, tu refactorise simplement tes références à Time.deltaTime par Pause.MyDeltaTime.
Voici donc une des solutions envisageable.
Bonne continuation.
Sorry :
Remplace "using System.Collections;"
Par "using UnityEngine;"
Bonjour j'ai un probleme avec le raycasting.
var ray:Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
var hit:RaycastHit;
if (Physics.Raycast(ray,hit, 100))
{
var hx:int = hit.point.x;
var hy:int = hit.point.y;
var hz:int = hit.point.z;
}
je récupere les coordonnées du point de contact de mon rayon lancé à partir de la camera et qui va jusqu'au point cliqué par la souris.
J'utilise ensuite hx, hy et hz dans un tableau 3 dimensions qui représente mon objet afin de supprimer la case cliquée.
Jusqu'a présent ca marchait trés bien, il suffisait de cliquer sur la surface de mon objet pour qu'avec les coordonnées du point touché je puisse supprimer un bloc.
Le problème est que dés que mon objet est déplacé quand je clique sur la surface je ne supprime plus la case, ou bien une case différente est supprimée.
Le but etait simplement d'avoir un objet que je peux réorienter avec les touches directionnelles et cliquer dessus pour enlever des blocs précisement. Ca ne marche que dans la position d'origine de l'objet mais j'aimerais que ca fonctionne dans toutes les orientations, je ne comprend pas pourquoi ca foire... Une idée ?
difficile de deviner... box collider peut être...
On dirait un collider cubique qui est resté mais si tu dis que t'as tout vérifié... essaie de tirer des sphères en direction du mur invisible.
Bonjour
Mon projet met en scène un géant qui marche, j'aimerais ajouter un effet de tremblement de caméra à chacun de ses pas que se déclenchera à proximité du joueur.
Le terme exact en anglais est " footstep shake ", je n'ai rien trouvé à ce sujet. Comment m'y prendre, ça me semble bien compliqué à mon niveau.
Petite correction "qui se déclenchera"