Ce sont des calques.
Via l'axe Z, tu peux en placer dessus/dessous Par exemple celui que tu as placé à 10 sera en dessous de celui placé à 5 en profondeur (pour unity 2D en tout cas)
Enfin, si j'ai bien compris ce que tu cherchais à faire
Ah ok l'axe z est bien pris en compte merci
Salut les gens,
J'ai un problème , je suis actuellement sur un projet3D où le gameplay repose sur l'énergie (Négative/Positive) , ca marche bien( Quand je tire avec click gauche , ca applique une force positive , et avec click droit , force négative) ,
Problème : Quand je suis au-dessus du cube et que je tire dessus , celui-ci ne réagit pas , pourtant la balle disparait bien mais l'effet d'énergie ne s'applique pas sur le cube..
C'est un problème vu que ce sera nécessaire pour le gameplay du jeu que je veux faire.
PS : Le boxCollider est bien mis.
Yo, il y a un message d'erreur qui me gonfle : Object reference not set to an instance of an object
Et je vois pas du tout où est le problème !
L'erreur vient de cette ligne :
GameObject.Find ("PrivateMenu").SetActive (true);
Ce GameObject existe bien, avec exactement la même orthographe. Alors pourquoi ??
Ton GameObject est sur la scène?
UnitLayer Voir le profil de UnitLayer
Posté le 20 juillet 2014 à 11:01:30 Avertir un administrateur
Salut les gens,
J'ai un problème , je suis actuellement sur un projet3D où le gameplay repose sur l'énergie (Négative/Positive) , ca marche bien( Quand je tire avec click gauche , ca applique une force positive , et avec click droit , force négative) ,
Problème : Quand je suis au-dessus du cube et que je tire dessus , celui-ci ne réagit pas , pourtant la balle disparait bien mais l'effet d'énergie ne s'applique pas sur le cube..
C'est un problème vu que ce sera nécessaire pour le gameplay du jeu que je veux faire.
PS : Le boxCollider est bien mis.
-------
Is Trigger est coché? Si oui, t'as pas oublié d'ajouter OnTriggerEnter (2D) sur le script éventuellement associé au cube?
A moins que tu te repose sur le moteur physique d'Unity pour appliquer les effets..?
Bref, je ne suis pas un spécialiste mais peut-être ça serait plus facile de comprendre avec un peu plus de détail sur ton script ou les options que t'as utilisé sur le collider et rigidbody(par défaut ou..?)
@EGO
GameObject.Find ne trouve que les object qui sont activé(donc existant et coché sur l'inspecteur)
Si tu n'as pas commis d'erreur sur l'orthographe, vérifie quand même que ton objet est bien coché..
Si tu l'as décoché volontairement afin de l'activer via un script, il faut que tu utilise une autre méthode(je crois) pour le retrouver et l'activer!
Bah non il est pas coché, c'est pour ça que je fais SetActive(true)
Donc comme c'est normal qu'il te renvoi cette erreur, car comme déjà dit
"GameObject.Find ne trouve que les object qui sont activé(donc existant et coché sur l'inspecteur) "
Il faut donc que tu le laisse activé via l'inspecteur et le désactive/active via un script!
Au final j'ai laissé tombé cet idée de force positive/négative car ca m'a cassé la tête , je vais au final m'orienter vers un gameplay à la portal2..
Je mettrais peut-être un système d'énergie plus tard , mais pas pour l'instant
Par contre,
J'avais posté ca :
UnitLayer Voir le profil de UnitLayer
Posté le 17 juillet 2014 à 12:17:17 Avertir un administrateur
J'ai un petit problème , je suivais ce tuto :
https://www.youtube.com/watch?v=mHk21MHyuqI
Mais le problème c'est que la gravité est buggé j'ai l'impression.
Enfaite , quand je saute , ca marche bien, mais quand je me laisse tomber d'un endroit à un autre , le player tombe trèèsssss rapidement..
Je comprend pas pourquoi.
Et le problème n'est toujours pas résolu , je vois pas d'où ca peut venir , j'ai testé de baisser la gravité dans les settings de Unity mais ca change rien.
Help me !
DarkMacros Voir le profil de DarkMacros
Posté le 20 juillet 2014 à 15:13:18 Avertir un administrateur
Donc comme c'est normal qu'il te renvoi cette erreur, car comme déjà dit
"GameObject.Find ne trouve que les object qui sont activé(donc existant et coché sur l'inspecteur) "
Il faut donc que tu le laisse activé via l'inspecteur et le désactive/active via un script!
J'ai essayé ça a fait pareil
Donc j'ai attaché ce script à l'objet que je souhaite activer :
public class ShowPrivate : MonoBehaviour {
public static void Appear () {
gameObject.SetActive (true);
}
}
Mais là, An object reference is required to access non-static member
Je pense que t'aurais moins de soucis avec des if/else genre:
public GameObject PrivateMenu;
void Update(){
if(//Tes conditions//){
PrivateMenu.SetActive(false);
}
else{
PrivateMenu.SetActive(true);
}
}
@Unit
Utilise ça pour voir:
if (cc.isGrounded) {
velocity = 0;
}
cc= Character Controller
Normalement si t'as bien la même chose que la fin de la vidéo sur ton script de mouvement tu devrais avoir:
if (cc.isGrounded && Input.GetButtonDown("Jump")) {
verticalVelocity = jumpSpeed;
}
// Tu rajoute juste en dessous:
else if (cc.isGrounded) {
verticalVelocity = 0;
}
// Donc juste au dessus de :
Vector3 speed = new Vector3* etc..
ce qui donne:
if (cc.isGrounded && Input.GetButtonDown("Jump")) {
verticalVelocity = jumpSpeed;
}
else if (cc.isGrounded) {
verticalVelocity = 0;
}
Je pense que t'aurais moins de soucis avec des if/else genre:
public GameObject PrivateMenu;
void Update(){
if(//Tes conditions//){
PrivateMenu.SetActive(false);
}
else{
PrivateMenu.SetActive(true);
}
}
Non
J'ai trouvé, il faut stocker le .Find dans une variable, et ensuite je pourrais l'activer et le desactiver comme bon me semble une fois que le GameObject est dans la variable
C'est cool alors
Salut les gens
J'essaye de faire en sorte d'orienté "un gameobject" en fonction de la position du curseur de ma souris. Je bloque dessus donc si quelqu'un arriverait à m'aider
gameObject.rotation.y = Input.GetAxis("Mouse X"); ?
J'ai oublié de préciser que j'essaye de faire une rotation sur l'axe z sur un gameobject en 2D.
Et tu sais pas faire le rapprochement entre ce que je t'ai dit et ce que tu veux faire ?
Tu changes l'axe y en axe z dans le code, tout simplement.
C'est mon tour
Enfaite j'essaye de faire un script de portal , j'ai suivi ce tuto :
https://www.youtube.com/watch?v=zY015_e61Ug
La téléportation marche mais le problème c'est que ca me téléporte toujours vers le bas.
(En gros , au lieu de me téléporté et appliquer une force vers le haut. Je veux comme dans le tutoriel, que ca fasse un 'U' )
J'ai déjà tester de changer la rotation des portals , mais ca change rien.
Voilà mon script que je met sur chaque portal avec un boxCollider trigger :
public class Portal : MonoBehaviour {
public GameObject otherEnd = null;
private bool teleporting = false;
public void TeleportTo(GameObject obj)
{
obj.transform.position = transform.position - (transform.up * 0.65f);
obj.rigidbody.velocity = transform.up * obj.rigidbody.velocity.magnitude;
teleporting = true;
}
private void OnTriggerExit(Collider c)
{
if (c.name == "Player")
{
if (!teleporting)
otherEnd.GetComponent<Portal>().TeleportTo(c.g
ameObject);
teleporting = false;
}
}
}
Je sais pas si j'ai été clair
En gros je veux que quand je tombe comme ca : ↓ je me tp avec une force : ↑
Merci à ceux qui auront compris