FORUM D’ENTRAIDE INFORMATIQUE (FEI)
Site d’assistance et de sécurité informatique

Entraide pour le programmation en général (tous langages).
Règles du forum : Entraide concernant la programmation informatique en général, tous langages : recherche ou correction d'un code ou d'une fonction, aide à la réalisation d'un projet...
Pour la programmation web (HTML, CSS, PHP, MySQL...), il est conseillé de s'orienter dans le forum Webmastering.
Merci de lire et de respecter la charte générale du forum.
  • Avatar du membre
Avatar du membre
par Apomalyn
#143810
Bien le bonjour,
Tous d'abord merci d'être en train de lire ces lignes. Entrons dans le vif du sujet, je suis en train de réaliser un FPS  multijoueur sur le logiciel Unity3D (4.5.3) et je viens d'attaquer la partie la plus importante de tout FPS : les impacts et les dégats.
Afin de définir le point d'impact j'utilise ceci:
var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
 var hit : RaycastHit;Mais pour une raison que j'ignore totalement lorsque je tir, j'obtiens une erreur que voici :
Spoiler: 
NullReferenceException: Object reference not set to an instance of an object
TirMagnum+$tirer$1+$.MoveNext () (at Assets/scripts/TirMagnum.js:33)
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
TirMagnum:Update() (at Assets/scripts/TirMagnum.js:20)

Alors si quelqu'un a une solution ou même un semblant de piste je vous serais extrêmement reconnaissant (oui je suis déprimé a ce niveau )

Ci-dessous je vous met toute la fonction, si vous avez besoin de plus n'hésitez pas.
Spoiler: 

function tirer(){
 peutTirer = false;
 networkView.RPC("SyncSon", RPCMode.All);
 SendMessageUpwards("Anime", 1);
 ballesChargeur --;
 
 var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
 var hit : RaycastHit;
 
 if(Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), hit)){
 if(hit.collider == true){
 var objet = Instantiate(etincelles, hit.point, Quaternion.identity);
 objet.transform.rotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
 Network.Instantiate(etincelles, objet.transform.position, objet.transform.rotation, 0);
 Destroy(objet.gameObject);
 Instantiate(impact, hit.point, Quaternion.identity);
 hit.collider.SendMessage("Degats", degats, SendMessageOptions.DontRequireReceiver);
 }
 }
Merci d'avance, Apomalyn
Avatar du membre
par Apomalyn
#143812
Pardon j'ai oublié de vous mettre deux variables --'
Spoiler: 
var etincelles : gameObject;
var impact : gameObject;

function tirer(){
   peutTirer = false;
   networkView.RPC("SyncSon", RPCMode.All);
   SendMessageUpwards("Anime", 1);
   ballesChargeur --;
   
   var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
   var hit : RaycastHit;
   
   if(Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), hit)){
         if(hit.collider == true){
            var objet = Instantiate(etincelles, hit.point, Quaternion.identity);
            objet.transform.rotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
            Network.Instantiate(etincelles, objet.transform.position, objet.transform.rotation, 0);
            Destroy(objet.gameObject);
            Instantiate(impact, hit.point, Quaternion.identity);
            hit.collider.SendMessage("Degats", degats, SendMessageOptions.DontRequireReceiver);
      }
   }

voila le lien du rapport https://www.cjoint.com/[…]

Bonjour, Je me suis du coup attarder sur ce fame[…]

bachelorarbeit

Hola an alle. Ich bin begeistert von der Zusammena[…]

Cadeaux High-tech

Bien joué :mdr: