Spawn sur une direction

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
ilanb
Messages : 36
Inscription : 11 Déc 2012 23:26

Re: Spawn sur une direction

Message par ilanb » 11 Juin 2014 15:07

oui ou le mieux c'est transform.Rotate en principe.
:mrgreen: Oui les 2 ça roule :D

bon j'ai mis quelques waypoints et je calcul l'angle entre le collider du waypoint et le collider du véhicule :

Code : Tout sélectionner

void OnTriggerStay(Collider other)
	{
		if (other.name == "WrongWayTriggers") {
			// recupere l'angle entre Car et le collider
			float angle = Vector3.Angle(other.transform.forward, transform.forward);
			Debug.Log("Angle = "+angle);
			// si l'angle et > 90 degre mauvaise direction
			if (angle >= 90) {
				_player.transform.LookAt(other.gameObject.transform);
				//Debug.Log("mauvaise direction");
			} 
		}
	}
Bon ça fonctionne mais bof, ça tremble le temps de se remettre dans l'axe... et puis du coup je dois mettre un paquet de waypoint sur le circuit.

Une autre idée ?

Avatar de l’utilisateur
manthoR
Messages : 180
Inscription : 15 Mai 2014 11:43
Localisation : Paris, France
Contact :

Re: Spawn sur une direction

Message par manthoR » 11 Juin 2014 16:39

Sinon, tu peux essayer de faire un système de spline (courbe bézier) de ton circuit.
le mot est lâché, mais derrière comment faire, aucune idée :D
Flavien - Social networkons ! Twitter - Google+ - Facebook
Image

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Spawn sur une direction

Message par boubouk50 » 11 Juin 2014 17:11

Je crois qu'avec iTween, tu as des paths et des followPath, mais après pour l'utilisation... je ne sais pas.

Pour un terrain en mesh, tu peux aussi incorporer dans tes vertices de terrain (ou texture), la direction en coordonnées World à prendre par ton véhicule. r=x, g=y, b=z -> vecteur = couleur. Ensuite quand tu positionnes ton véhicule, tu récupères cette info de couleur au sommet (par un rayon lancé depuis le top) que tu assignes pour que ton forward devienne cette direction.
(Mais bon voilà, quand même c'est botch comme idée)
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: Spawn sur une direction

Message par F@B » 11 Juin 2014 17:13

itween fait ça très bien en effet! ou leantween et autre plug du genre.

de plus si tu veux faire une IA qui suit une trajectoire tu auras besoin de ce genre d'info également.
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

ilanb
Messages : 36
Inscription : 11 Déc 2012 23:26

Re: Spawn sur une direction

Message par ilanb » 11 Juin 2014 17:51

@boubouk50

Le truc c'est que je veut pas d'une AI le véhicule et sensé être guidé par l'utilisateur, je veux pas l'accrocher à un path ou autre... mais bon peut être que je capte pas le truc...

Sinon ma route et bien un mesh d'ailleurs je l'utilise pour spawner des objet au centre de chaque triangle du mesh :

Code : Tout sélectionner

var mesh : Mesh;

function Spawns ( _elemts : GameObject[] , _range : float, maxF : int)
{
	mesh = GetComponent(MeshFilter).mesh;
   	var vertices = mesh.vertices;

    for (var i=0; i < vertices.length; i += vertices.length/maxF) {

        var spawnPoint = transform.TransformPoint(vertices[i]);
		var newRand = Random.Range(-10, 10);
        var q = Random.Range(0, vertices.length);

		if ( q == vertices.length)
		q = vertices.length - 1;

		for (var j=0; j < _elemts.length; j++)
		{
    		Instantiate(_elemts[j], transform.TransformPoint((vertices[q].x + vertices[q + 1].x)/2, (vertices[q].y + vertices[q + 1].y)/2 + newRand * Random.Range(0, _range), vertices[q].z + 1.2), transform.rotation);
    	}
    }
}
et

Code : Tout sélectionner

public function SpawnFruits () {
	Spawns( fruits, 2.5, maxSpawnFruits);
}
Maintenant je capte pas ton truc de couleur... :mrgreen:

@ F@B

Pour ITween je vais voir aussi merci

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Spawn sur une direction

Message par boubouk50 » 12 Juin 2014 09:45

Pour le path, l'idée est de seulement l'utiliser lorsque tu as besoin de remettre ton véhicule au centre de la route dans la bonne direction.

Pour les couleurs: Un exemple:
Sur un point donnée au centre de ta route, imaginons que l'orientation du véhicule dans l'espace World est le vecteur (0.245, 0.713, 0.012). Si ton véhicule doit respawner à cet endroit sur la route, c'est le vecteur qu'il te faut pour l'orienter comme il faut. Ce vecteur, tu le passes en couleur Color (0.245, 0.713, 0.012) et tu l'appliques à cet endroit. Tu fais ça pour toute ta route, et le vecteur d'orientation est ainsi récupérable en tout point.
1) Il te faut trouver un moyen de le récupérer. (Je pensais à faire un hit depuis le top, récupérer la face touchée, regarder la couleur (vecteur) à ce point là)
2) Il te faut un moyen pour créer cet texture ou de rentrer l'info dans le vertex color.

Pour dire, que c'est une idée, mais qu'elle est pas facile à mettre en place
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « Scripting »