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

Unity3D problème de collision

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.

Répondre

Afin d’empêcher la création automatisée de comptes, nous vous demandons de réussir le défi ci-contre.
Smileys
:D :) :-) ;) :| :( :cry: :cheers: :hourra: :mv: :lol: :mdr: :bonjour: :hello: :jap: :siffle: :bisou: :P :o :x :roll: :good: :bad: :super: :reflexion: :suspect: :? :oops: :peur: :zen: :boude: :bug:

Revue du sujet : Unity3D problème de collision Étendre la vue

Re: Unity3D problème de collision

par Apomalyn » lun. 25 août 2014 18:53
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);
      }
   }

Unity3D problème de collision

par Apomalyn » lun. 25 août 2014 18:49
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

Bonjour tout le monde ! Je suis bloqué..!!![…]

To write an interesting essay, start with a captiv[…]

Salut ! Intégrer un chatbot à ton si[…]

Bonjour, Je viens d’acheter une imprimante […]