RETOUR AU SITE UNITY3D-FRANCE Forum Unity3D-France • Afficher le sujet - [Résolu]Billboard

[Résolu]Billboard

[Résolu]Billboard

Messagepar toto5100 » 07 Mai 2012, 17:34

Bonjour,
J'aimerais créer pour mon jeu un système de laser, pas un laser d'arme mais un laser à la portal 2, c'est à dire un laser qui pointe vers un récepteur et qui peut être coupé avec un cube ou dévié.
Quelque chose dans ce style : http://media.pcgamer.com/files/2011/03/ ... n-cube.jpg
Pour pouvoir faire des énigmes. J'ai essayé avec un line renderer, une texture et ce script mais le rendu est complètement aléatoire, et le laser fonctionne correctement d'un coté mais pas de l'autre.
En faite je crois que c'est lorsque z est négatif mais je ne sais pas comment résoudre ce problème.
Code: Tout sélectionner
#pragma strict
var emitter:GameObject;
var sparks:GameObject;

function Start () {
var lineRenderer : LineRenderer = emitter.GetComponent(LineRenderer);
}

function FixedUpdate () {
var lineRenderer : LineRenderer = emitter.GetComponent(LineRenderer);
var fwd = transform.TransformDirection (Vector3.forward);
var hit:RaycastHit;

  if(Physics.Raycast (transform.position, fwd, hit, 100)){
 
  var pos=hit.transform.position;
  lineRenderer.SetPosition(0,hit.transform.position);
  lineRenderer.SetPosition(1,emitter.transform.position);
  var tempRot=Quaternion.FromToRotation(Vector3.up,hit.normal);
  Instantiate(sparks,hit.transform.position,tempRot);
}

}

Pouvez-vous m'éclairer à ce sujet ?
Merci d'avance.

EDIT : Je n'ai plus besoin de ce que j'ai mis la-haut.
Je sollicite (encore) votre aide car j'ai besoin de créer un Billboard, uniquement sur l'axe z.
Je m'explique : je voudrais faire un LookAt uniquement sur un seul axe : l'axe z.
Cependant, je n'ai aucune idée de comment m'y prendre...
Quelqu'un à une idée ?
Merci.
Dernière édition par toto5100 le 09 Mai 2012, 17:19, édité 2 fois.
toto5100
 
Messages: 82
Inscription: 19 Déc 2011, 20:34

Re: Créer un laser

Messagepar cayou66 » 07 Mai 2012, 18:13

-===Creative lifestyle===-
Visitez mon site ! http://www.cayou-prod.com
Tutoriels GUI d'Unity (entre autres): http://cayou-prod.com/?cat=8&lang=fr
GMT-05 (Canada/USA Est)
N-G-U-I
Avatar de l’utilisateur
cayou66
 
Messages: 4658
Inscription: 30 Juin 2011, 14:45
Localisation: Montréal

Re: Créer un laser

Messagepar toto5100 » 07 Mai 2012, 18:33

Hum... J'obtiens un résultat bizarre : le laser est tout tordu et ne répond pas aux collisions (je l'ai peut être mal utilisé).
J'aimerais en faite faire une sorte de "RayCast visible". Pour vous donner une idée, voici ce que j'aimerais obtenir : http://www.youtube.com/watch?v=uAqQ6Irshec
Allez à 4:15.
Merci encore pour votre aide.
toto5100
 
Messages: 82
Inscription: 19 Déc 2011, 20:34

Re: Créer un laser

Messagepar cayou66 » 07 Mai 2012, 19:00

Dis toi bien que c'est pas évident évident :) Portal 2 ça n'a pas été fait par des lopettes de la programmation...
Tu peux partir peut être sur la base du rayon et le modifier, par contre, réagir aux collisions je vois pas trop à 1ere vue.
-===Creative lifestyle===-
Visitez mon site ! http://www.cayou-prod.com
Tutoriels GUI d'Unity (entre autres): http://cayou-prod.com/?cat=8&lang=fr
GMT-05 (Canada/USA Est)
N-G-U-I
Avatar de l’utilisateur
cayou66
 
Messages: 4658
Inscription: 30 Juin 2011, 14:45
Localisation: Montréal

Re: Créer un laser

Messagepar toto5100 » 07 Mai 2012, 19:09

Et bien en faite, ce que j'ai pensé dans mon script, c'est de faire une line renderer toute droite avec 2 extrémités, ensuite, on envoie un raycast depuis l’émetteur et la position du deuxième segment est égale à la position du point d'impact du raycast. En gros la longueur du laser est égale à celle du Raycast. Cependant, j'obtiens des résultats assez étranges : ça marche lorsque z est positif, mais ça ne marche plus lorsque on tourne à 90° l’émetteur... Je ne sais pas où est l'erreur dans mon code... Je crois que c'est parce que j'ai mis les coordonnées locales sur la line renderer mais je ne vois pas comment s'en passer...
EDIT :Bon, je vais faire mon laser avec un plane. Mais quelqu'un sait comment faire du billboard que sur l'axe z ? En gros un LookAt uniquement sur z ?
toto5100
 
Messages: 82
Inscription: 19 Déc 2011, 20:34

Re: Billboard

Messagepar Alesk » 09 Mai 2012, 09:55

Salut,

Ce n'est pas très clair, il manque un détail important, pourrais tu me dire de quelle façon sera vu ton laser : une vue 2D ou 3D ?
Alesk
 
Messages: 313
Inscription: 13 Mar 2012, 09:09
Localisation: Bordeaux - France

Re: Billboard

Messagepar toto5100 » 09 Mai 2012, 16:11

En vue 3D, mais c'est bon j'ai réussi avec une line renderer et un raycast à détecter la collision je suis super content ! :D
Ca fonctionne parfaitement en plus, au point d'impact il y a des étincelles enfin bref c'est génial ! :)
Merci beaucoup pour votre aide
toto5100
 
Messages: 82
Inscription: 19 Déc 2011, 20:34

Re: Billboard

Messagepar cayou66 » 09 Mai 2012, 16:51

Bien joué, tu as fait le boulot tout seul ;)
Un p'tit screen du rendu final?
-===Creative lifestyle===-
Visitez mon site ! http://www.cayou-prod.com
Tutoriels GUI d'Unity (entre autres): http://cayou-prod.com/?cat=8&lang=fr
GMT-05 (Canada/USA Est)
N-G-U-I
Avatar de l’utilisateur
cayou66
 
Messages: 4658
Inscription: 30 Juin 2011, 14:45
Localisation: Montréal

Re: Billboard

Messagepar toto5100 » 09 Mai 2012, 17:08

toto5100
 
Messages: 82
Inscription: 19 Déc 2011, 20:34

Re: [Résolu]Billboard

Messagepar cayou66 » 09 Mai 2012, 17:25

Le rendu final est vraiment bien, chapeau ! Je m'en servirai peut être pour mon projet, une version peut être améliorée graphiquement, mais qui va ressembler à ça.
-===Creative lifestyle===-
Visitez mon site ! http://www.cayou-prod.com
Tutoriels GUI d'Unity (entre autres): http://cayou-prod.com/?cat=8&lang=fr
GMT-05 (Canada/USA Est)
N-G-U-I
Avatar de l’utilisateur
cayou66
 
Messages: 4658
Inscription: 30 Juin 2011, 14:45
Localisation: Montréal

Suivante

Retourner vers Scripting Javascript, C# et Boo

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités