[C#] RTS Camera Script

Cette section est destinée aux scripts partagés par la communauté. Chaque post est destiné à un script. Suivez bien les recommandations.
Répondre
Neostralie
Messages : 25
Inscription : 22 Déc 2012 03:13

[C#] RTS Camera Script

Message par Neostralie » 28 Déc 2012 16:59

J'ai fait un petit script de caméra type RTS.

Code : Tout sélectionner

	// ***Script attaché à la caméra souhaité.***
	public float ScrSpeed=10f, ZoneMorte=0.95f, ZoomIn=10f, ZoomOut=100f;
	void Update ()
	{
		/*Zoom In/Out
		 * Ceci n'est pas un "vrai" zoom, c'est uniquement une modification de la hauteur de la caméra.
		 * ZoomIn et ZoomOut servent à définir les bornes du "zoom".
		*/
		
		float Molette;
		Vector2 MPos=Vector3.zero;
		Vector3 ScrMove=transform.position;
		
		
		Molette = Input.GetAxis("Mouse ScrollWheel")*20;
		
		if(ScrMove.y-Molette>=ZoomIn && ScrMove.y-Molette<=ZoomOut)
		{
			ScrMove.y -= Molette;
		}
		if(ScrMove.y<ZoomIn) {ScrMove.y = ZoomIn;}
		if(ScrMove.y>ZoomOut) {ScrMove.y = ZoomOut;}
		
		/*  Déplacement Caméra
		 * Récupère la position de la sourie dans l'écran et déplace la caméra sur l'axe.
		 * Vous pouvez régler la largeur de la zone provoquant les déplacement en modifiant
		 * la variable ZoneMorte.
		 * Vous pouvez modifier la vitesse de translation en modifiant la valeur de ScrSpeed.
		*/
		
		MPos.Set(Input.mousePosition.x/Screen.width,Input.mousePosition.y/Screen.height);

		
		if(MPos.x < 1-ZoneMorte)
		{
			ScrMove.x-=Time.deltaTime*ScrSpeed*ScrMove.y/10;
		}
		else if(MPos.x > ZoneMorte)
		{
			ScrMove.x +=Time.deltaTime*ScrSpeed*ScrMove.y/10;
		}
		
		
		if(MPos.y < 1-ZoneMorte)
		{
			ScrMove.z-=Time.deltaTime*ScrSpeed*ScrMove.y/10;
		}
		else if(MPos.y > ZoneMorte)
		{
			ScrMove.z +=Time.deltaTime*ScrSpeed*ScrMove.y/10;
		}

		transform.position =ScrMove;
	}
Exemple de projet : http://deep-space-traders.googlecode.co ... or.r00.zip
Exemple de déploiement : http://youtu.be/Hf5XKbFO4BY - Merci à Fudge74 pour la vidéo.

29-12-2012 : Ajout d'une différence de vitesse en fonction de la hauteur de la caméra.
Dernière édition par Neostralie le 29 Déc 2012 17:04, édité 1 fois.

Avatar de l’utilisateur
Franck
Bricoleur
Bricoleur
Messages : 2884
Inscription : 08 Jan 2011 18:43
Localisation : Tours

Re: [C#] RTS Camera Script

Message par Franck » 28 Déc 2012 18:36

Salut, c'est sympa de ta part.Merci.
Pourions nous avoir une présentation comme indiqué dans les régles de cette section? :)
a+
Dés fois j'bug, dés fois j'bug pas.

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: [C#] RTS Camera Script

Message par cayou66 » 28 Déc 2012 18:41

+1, et aussi peut être une petite vidéo du script en action?
Son utilisation est-elle facile? Comment l'intégrer?

fudge74
Messages : 195
Inscription : 07 Oct 2012 22:02
Contact :

Re: [C#] RTS Camera Script

Message par fudge74 » 28 Déc 2012 20:21

Voila ce que le script donne :

http://youtu.be/Hf5XKbFO4BY

Le test et fait par moi meme ^^
Projet en cours:Solit'Space viewtopic.php?f=12&t=6173
Tower Defense :viewtopic.php?f=12&t=8986
____
Blog:https://yonathan.artstation.com

Neostralie
Messages : 25
Inscription : 22 Déc 2012 03:13

Re: [C#] RTS Camera Script

Message par Neostralie » 29 Déc 2012 17:01

MAJ du script pour que lors du dézoom, on ai pas l'impression que la caméra se traîne dans les déplacements.

Voir premier post pour le code mis à jours.

Dans un avenir futur, je compte ajouter la gestion de l'orientation de la caméra.

Avatar de l’utilisateur
mel68
Messages : 827
Inscription : 04 Fév 2012 14:57

Re: [C#] RTS Camera Script

Message par mel68 » 31 Déc 2012 19:53

je parie que tu fait un RTS non?? :mrgreen:

Merci beaucoup :)

C'est une petite amilioration du mien, surtout au niveau des controle ^^
Bonjour bonjour, je tien juste a vous avertir promptement que ce message ne sert totalement a rien

Neostralie
Messages : 25
Inscription : 22 Déc 2012 03:13

Re: [C#] RTS Camera Script

Message par Neostralie » 01 Jan 2013 04:47

mel68 a écrit :je parie que tu fait un RTS non?? :mrgreen:

Merci beaucoup :)

C'est une petite amilioration du mien, surtout au niveau des controle ^^
Je travaille effectivement sur un genre de RTS. Par contre, je ne me suis pas inspirer du tiens vu qu'aussi bête que ça ne paraisse, je n'avais pas chercher sur le forum lors que j'ai créer mon script :?

Actuellement, ce scripte est simple et efficace mais il manque je pense beaucoup de chose pour qu'il soit optimal.

Avatar de l’utilisateur
mel68
Messages : 827
Inscription : 04 Fév 2012 14:57

Re: [C#] RTS Camera Script

Message par mel68 » 01 Jan 2013 13:27

Je n'ai pas dit que tu t'en etait inspiré juste que dans les fonctionalités il ressemble a celui que j'ai posté il y pas mal de temp ;)


en tout cas bonne chance pour ton projet ;)

PS : sur la vidéo j'ai remarqué que les animations des squellettes sont coupé(ca vien peut etre de moi ^^)
Bonjour bonjour, je tien juste a vous avertir promptement que ce message ne sert totalement a rien

fudge74
Messages : 195
Inscription : 07 Oct 2012 22:02
Contact :

Re: [C#] RTS Camera Script

Message par fudge74 » 01 Jan 2013 19:21

la vidéo que j'ai faite et une vidéo comme sa sur un ancien projet a moi donc ....... (que j'ai abandonée ^^)
Projet en cours:Solit'Space viewtopic.php?f=12&t=6173
Tower Defense :viewtopic.php?f=12&t=8986
____
Blog:https://yonathan.artstation.com

Avatar de l’utilisateur
mel68
Messages : 827
Inscription : 04 Fév 2012 14:57

Re: [C#] RTS Camera Script

Message par mel68 » 02 Jan 2013 20:51

haaa ok je pensé que c'était son projet ^^
Bonjour bonjour, je tien juste a vous avertir promptement que ce message ne sert totalement a rien

Répondre

Revenir vers « Scripts »