[RÉSOLU] Project Horror
[RÉSOLU] Project Horror
Bonjour,
Je suis actuellement en train de développer un petit jeu d'horreur afin de m'entraîner et m'améliorer avec Unity et C#. Il me manque à créer l'IA de mon ennemi, les feuilles à trouver sur la map et un jumpscare.
Je souhaite demander un petit coup de main d'une personne pour le jumpscare car même avec les cours, les tutos trouvés je n'est toujours pas réussi.
Mon but est de faire sauter ceci: https://www.assetstore.unity3d.com/en/#!/content/70609
sur le joeur en passant une porte en jouant un son puis plus rien.
J'espère avoir était assez clair sur mon problème.
Merci d'avance à tous et à toutes
Je suis actuellement en train de développer un petit jeu d'horreur afin de m'entraîner et m'améliorer avec Unity et C#. Il me manque à créer l'IA de mon ennemi, les feuilles à trouver sur la map et un jumpscare.
Je souhaite demander un petit coup de main d'une personne pour le jumpscare car même avec les cours, les tutos trouvés je n'est toujours pas réussi.
Mon but est de faire sauter ceci: https://www.assetstore.unity3d.com/en/#!/content/70609
sur le joeur en passant une porte en jouant un son puis plus rien.
J'espère avoir était assez clair sur mon problème.
Merci d'avance à tous et à toutes
Dernière édition par Scurreo le 08 Déc 2017 15:59, édité 1 fois.
Re: Project Horror
Bonjour Scurreo,
Est-ce dans la détection de ton joueur lors du passage en un point précis (comme une porte) ? Est-ce le déclenchement d'un son ? Est-ce le déplacement et le bond du type tout fripé ? Est-ce le déclenchement de la bonne animation lors du saut ?
Tu décris la situation de jeu, mais pas ce qui te pose problème sur le plan technique:Scurreo a écrit : ↑05 Déc 2017 18:58Mon but est de faire sauter ceci: https://www.assetstore.unity3d.com/en/#!/content/70609
sur le joeur en passant une porte en jouant un son puis plus rien.
Est-ce dans la détection de ton joueur lors du passage en un point précis (comme une porte) ? Est-ce le déclenchement d'un son ? Est-ce le déplacement et le bond du type tout fripé ? Est-ce le déclenchement de la bonne animation lors du saut ?
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
Re: Project Horror
Oui, excuse moi j'ai complètement zapé. Dans ce cas je te réponds, j'ai absolument rien qui ne marche ni le son, ni l'animation, ni mon Crawler de visible lorsque que je passe le cube qui me sert de déclenchement
Re: Project Horror
Mais après j'ai un problème sur le début de mon IA, mon ennemi est en face de moi et lorsque je rentre dans la zone pour qu'il me suive du regard j'ai un décalage avec lui de 90 degrès environ comment je pourrais y remédier ?
Merci
Merci
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chase : MonoBehaviour
{
public Transform player;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
if(Vector3.Distance(player.position, this.transform.position) < 10)
{
Vector3 direction = player.position - this.transform.position;
this.transform.rotation = Quaternion.Slerp(this.transform.rotation, Quaternion.LookRotation(direction), 0.1f);
}
}
}
- boubouk50
- ModoGenereux
- Messages : 6214
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Project Horror
Ça ne répond pas à la question du tout. N'avoir rien qui marche peut provenir du fait que tu n'aies rien fait comme d'un mauvais code, comme d'une mauvaise configuration du Trigger, etc.
Soit plus précis stp. Tu es dans la section code, il nous faut ton code au minimum.
Merci aussi d'exposer un seul problème à la fois...
S'il est orienté à 90° c'ets parce que son forward n'est pas en face.
Crée un gameObject Empty, mets ton monstre enfant de celui-ci tourné à 90°. Ensuite, pour tout ce qui est déplacement tu utilises le parent Empty(donc ce script).
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Project Horror
Voici mon script:
Mon cube sur le box collider à la propriété Is Trigger de coché, mesh renderer de décoché et mon jumpscare object j'ai mi mon ennemi
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Jumpscare : MonoBehaviour
{
public GameObject jumpscareObject;
// Use this for initialization
void Start ()
{
jumpscareObject.SetActive(false);
}
void OnTriggerEnter(Collider player)
{
if(player.tag == "Player")
{
jumpscareObject.SetActive(true);
StartCoroutine(DestroyObject());
}
}
IEnumerator DestroyObject()
{
yield return new WaitForSeconds(1.5f);
Destroy(jumpscareObject);
Destroy(gameObject);
}
}
- boubouk50
- ModoGenereux
- Messages : 6214
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Project Horror
-Ton "player" a-t-il un rigidBody?
- Est-il tagué "Player"?
- Ton code ne fait qu'activer ton JumpScare pendant 1.5 secondes, je ne vois pas de son, ni d'animation jouées.
Juste un Debug.Log () pour avoir un peu plus d'info sur ce qui ne va pas:S'il n'y a rien en console c'est que la configuration de ton trigger/rigidbody n'est pas bonne
- Est-il tagué "Player"?
- Ton code ne fait qu'activer ton JumpScare pendant 1.5 secondes, je ne vois pas de son, ni d'animation jouées.
Juste un Debug.Log () pour avoir un peu plus d'info sur ce qui ne va pas:
Code : Tout sélectionner
void OnTriggerEnter(Collider player)
{
Debug.Log (player.tag); //ICI en console, le nom du tag apparaîtra, il faut que ce soit le même que ta condition donc "Player"
if(player.tag == "Player")
{
jumpscareObject.SetActive(true);
//Est-ce que le son et l'animation sont jouées à l'activation? Sinon les jouer ici.
StartCoroutine(DestroyObject());
}
}
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Project Horror
Les animations et les sons sont direct sur mon objet et non le cube. Je viens en attendant de corriger l'erreur mon personnage n'était pas tagué "Player" problème corriger.
Je pose ici mon second problème que je suis en train d'essayer de corriger également.
J'ai mon ennemi qui est sur la carte, pour le moment il ne se balade pas seul sur la map (ce que je souhaite faire par la suite, je prends toutes les infos si tu as), lorsque qu'il aperçois mon jouer il me poursuit et à ce moment précis je souhaite déclencher un audio source qui est sur l'ennemi, j'ai essayer avec ce code mais mon audio se lance tous le temps puis bug quand je suis devant mon ennemi.
Merci
Je pose ici mon second problème que je suis en train d'essayer de corriger également.
J'ai mon ennemi qui est sur la carte, pour le moment il ne se balade pas seul sur la map (ce que je souhaite faire par la suite, je prends toutes les infos si tu as), lorsque qu'il aperçois mon jouer il me poursuit et à ce moment précis je souhaite déclencher un audio source qui est sur l'ennemi, j'ai essayer avec ce code mais mon audio se lance tous le temps puis bug quand je suis devant mon ennemi.
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chase : MonoBehaviour
{
public Transform player;
static Animator anim;
// Use this for initialization
void Start ()
{
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update ()
{
Vector3 direction = player.position - this.transform.position;
float angle = Vector3.Angle(direction, this.transform.forward);
if(Vector3.Distance(player.position, this.transform.position) < 15 && angle < 90)
{
AudioSource audio = GetComponent<AudioSource>();
audio.Play();
direction.y = 0;
this.transform.rotation = Quaternion.Slerp(this.transform.rotation, Quaternion.LookRotation(direction), 0.1f);
anim.SetBool("isIdle", false);
if(direction.magnitude > 5)
{
this.transform.Translate(0, 0, 0.5f);
anim.SetBool("isRun", true);
anim.SetBool("isAttacking", false);
}
else
{
anim.SetBool("isAttacking", true);
anim.SetBool("isRun", false);
}
}
else
{
anim.SetBool("isIdle", true);
anim.SetBool("isRun", false);
anim.SetBool("isAttacking", false);
}
}
}
- boubouk50
- ModoGenereux
- Messages : 6214
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Project Horror
Il faut que ton son ne soit pas automatiquement joué au départ déjà (ça c'est dans les propriétés du Component dans l'Inspector) et ensuite, ben il faut simplement penser à le couper...
donc un petit else de ta condition avec:
donc un petit else de ta condition avec:
Code : Tout sélectionner
{
//Stop the audio
if (audio.isPlaying)
audio.Stop();
}
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Project Horror
Ah oui exact je l'avais oublié il me semblait l'avoir mise cette ligne désolé. Par contre aurais-tu une idée du pourquoi le son saccade énormément ?