Série question de noob...

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Avatar de l’utilisateur
Kallen
Messages : 330
Inscription : 14 Déc 2009 18:07

Série question de noob...

Message par Kallen » 29 Août 2010 12:31

Coucou all ^^

bon ben voilà, je cherche sur le site off la command comment appeler un script via une variable style :

var pouet : lajemetquoi ;

un peu comme le gameobject mais pour les scripts, noob que je suis, je trouve pas :(

Merci.
Image

Avatar de l’utilisateur
Ambrosios
Messages : 149
Inscription : 07 Jan 2010 10:13

Re: Série question de noob...

Message par Ambrosios » 29 Août 2010 13:22

Si ce que tu veux c'est accéder à un script via une variable, il te suffit de mettre le nom du script en type.

Du genre :

Code : Tout sélectionner

var pouet : MonScript;
Ensuite tu n'auras plus qu'à assigner ton script dans ta variable soit via l'interface d'unity, soit en utilisant les commandes GetComponent()
A3G - WarGround
DevBlog

Avatar de l’utilisateur
Kallen
Messages : 330
Inscription : 14 Déc 2009 18:07

Re: Série question de noob...

Message par Kallen » 29 Août 2010 13:26

Ok, mais le truc, c'est que je peux même pas tester, ça me donne toujours l'erreur (voir début du post).
Image

Avatar de l’utilisateur
Ambrosios
Messages : 149
Inscription : 07 Jan 2010 10:13

Re: Série question de noob...

Message par Ambrosios » 29 Août 2010 13:49

Quelle erreur ?

Après j'utilise pas javascript mais C# donc je ne connais pas trop les différences dans les utilisations de variables même si j'ai l'impression que ça reste identique.
A3G - WarGround
DevBlog

Avatar de l’utilisateur
Kallen
Messages : 330
Inscription : 14 Déc 2009 18:07

Re: Série question de noob...

Message par Kallen » 29 Août 2010 13:53

Bon j'ai déjà trouver le pourquoi du comment du message lol

Comme un nain, j'avais conserver le script en C# au lieu de l'enregistrer en java, bon, par la suite, j'ai d'autres erreurs que j'essaye de corriger, mais faire la traduction C# en java pour quelqu'un qui ne connais aucune des deux langues c'est un peu comme décrypter du chinois en 256 bits PTDR :lol:

je met le code en C# et en dessous se que j'essaye de faire en java ^^

C#

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class CursorHit : MonoBehaviour {
	
	public HeadLookController headLook;
	private float offset = 1.5f;
	
	// Update is called once per frame
	void LateUpdate () {
		if (Input.GetKey(KeyCode.UpArrow))
			offset += Time.deltaTime;
		if (Input.GetKey(KeyCode.DownArrow))
			offset -= Time.deltaTime;
		
		Ray cursorRay = Camera.main.ScreenPointToRay(Input.mousePosition);
		RaycastHit hit;
		if (Physics.Raycast(cursorRay, out hit)) {
			transform.position = hit.point + offset * Vector3.up;
		}
		
		headLook.target = transform.position;
	}
}
Java

Code : Tout sélectionner

var headLook : HeadLookController;
private var offset : float = 1.5;
	
	// Update is called once per frame
function LateUpdate () {
		if (Input.GetKey(KeyCode.UpArrow)){
			offset += Time.deltaTime;
		}	
		if (Input.GetKey(KeyCode.DownArrow)){
			offset -= Time.deltaTime;
		}
		
		var Ray : cursorRay = Camera.main.ScreenPointToRay(Input.mousePosition);
		RaycastHit=hit;
		
		if (Physics.Raycast(cursorRay, hit)) {
			transform.position = hit.point + offset * Vector3.up;
		}
		
		headLook.target = transform.position;
}
Bon, attention, j'ai essayer de faire quelque chose, mais je ne suis pas sur de mon coup ^^
Image

Avatar de l’utilisateur
Lion
Messages : 39
Inscription : 15 Août 2010 00:18
Localisation : Strasbourg
Contact :

Re: Série question de noob...

Message par Lion » 29 Août 2010 17:07

var Ray : cursorRay = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit=hit;
Je mettrais plutôt

Code : Tout sélectionner

var cursorRay: Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
var hit: RaycastHit;

Comme disais Ambrosios, pour attribuer un script à une variable, tu la déclare comme ça :

Code : Tout sélectionner

var pouet : LeNomMonScript;
Ensuite tu attribu le bon script soit via l'éditeur (en drag & drop) soit par script comme ceci :

Code : Tout sélectionner

pouet = GameObject.Find( "un nom de GO" ).GetComponent( LeNomMonScript );
Après ça dépend de quel script exactement, tu n'as pas forcément besoin de passer pas ces étapes pour utiliser son contenu.
Amicalement, Lion :)
Mon Site
Convertisseur C# vers UnityScript (extension Unity3D).

Avatar de l’utilisateur
Kallen
Messages : 330
Inscription : 14 Déc 2009 18:07

Re: Série question de noob...

Message par Kallen » 29 Août 2010 17:13

Je test ça voir, j'avais bien trouver pour la première var cursorRay etc etc, mais pour la second, lol je suis passer à coté, bon je test et vous tiens au courant. ^^

Ah aussi, apparemment faut juste faire appel au script, normalement pas besoin de scripter le bignou pour y faire appel.

Bref je test ^^
Image

Avatar de l’utilisateur
Kallen
Messages : 330
Inscription : 14 Déc 2009 18:07

Re: Série question de noob...

Message par Kallen » 29 Août 2010 17:23

Bon alors, pour le code ça a l'air d'être bon en lui même, pas d'erreur, merci ^^

par contre, j'ai ça maintenant

NullReferenceException: Object reference not set to an instance of an object
CursorHit.LateUpdate () (at Assets\Scripts\CursorHit.js:13)



huuummm vais jamais m'en sortir :(

Et en plus j'ai mon perso, qui lui depuis le début reste bloquer sur une rotation. Style 3/4 gauche.

Le but du script en plus de celui la, et de pouvoir jouer sur les bones en bougeant la souris, gérer la rotation de la tête et du haut du corp, le script c'est celui du HeadLookController trouver sur le wiki en javascript.

Par déduction me suis dis qu'il lui fallait aussi le CursorHit pour contrôler tous ça, mais ça n'a pas l'air de fonctionner.
Image

Avatar de l’utilisateur
Kallen
Messages : 330
Inscription : 14 Déc 2009 18:07

Re: Série question de noob...

Message par Kallen » 21 Sep 2010 17:44

Re,
juste pour savoir, quelqu'un as t'il déjà réussit à faire fonctionner le Head Look Controller ???

Car j'en ai un peu ras le bol de galérer...

Merci bien ^^
Image

Avatar de l’utilisateur
Kallen
Messages : 330
Inscription : 14 Déc 2009 18:07

Re: Série question de noob...

Message par Kallen » 23 Sep 2010 15:47

Glop glop ^^

j'avance doucement, mais bon, tite question, je cherche à modifier le pivot d'une sphère créer dans unity, je m'explique :

j'ai donc mon perso, et j'ai placer une sphère (mais j'aurai préférer un poly) à une certaines distance face à mon dis perso, donc le truc, j'aurai voulu savoir comment faire pour que la sphère prenne le pivot du bones du bassin ou de la tête ou tous simplement déplacer sont pivot ???
Et par la suite faut que j'arrive à faire bouger celle ci sur l'axe X et Y via le mulot mais en conservant la distance bones sphère. (c'est pas clair ??)

Imaginez un point (ou une bille) face à vous, avec dans l'exemple une distance de 3 m, (dans votre champ de vision, bref), faites une rotation de 90° sur la droite en retrouvant la bille toujours à 3 m, comme si le perso suivait se point (c'est le but en fait), comme un peu le principe du head look controller, sauf que je n'arrive pas de mon coté à faire bouger la sphère.

Bon j'espère que c'est clair, car n'ayant pas vraiment le bagou de programmeur, lol ^^
Image

Répondre

Revenir vers « Scripting »