Dans ce tutoriel vidéo nous allons créer un système de lancé de grenade depuis le FPS controller des ‘standard Asset’.
De plus nous utiliserons une particule afin de créer une explosion et donner plus de réalisme a notre grenade.
Les scripts de la vidéo sont disponibles ci dessous :
using System.Collections; using System.Collections.Generic; using UnityEngine; public class EjectScript : MonoBehaviour { [SerializeField] GameObject grenade; [SerializeField] int force=1000; void Update () { if(Input.GetButtonDown("Fire1")) { GameObject Go= Instantiate(grenade, transform.position, Quaternion.identity) ; Go.GetComponent<Rigidbody>().AddForce(transform.TransformDirection(Vector3.forward) * force); } } }
using System.Collections; using System.Collections.Generic; using UnityEngine; public class GrenadeScript : MonoBehaviour { public float sec = 2f; public bool boom = false; public GameObject cible; [SerializeField] GameObject particle; IEnumerator Explosion() { yield return new WaitForSeconds(sec); boom = true; } private void OnCollisionEnter(Collision collision) { StartCoroutine(Explosion()); } private void OnTriggerStay (Collider other) { if (!boom) return; if (other.CompareTag("Cube") ) { Destroy(other.gameObject); } Instantiate(particle, transform.position, Quaternion.identity); Destroy(gameObject); } }
Poster un Commentaire
Vous devez vous connecter pour publier un commentaire.