[DB] Mouvement caméra type FPS TPS ?? JS

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
TheLLspectre
Messages : 1
Inscription : 01 Sep 2016 14:36

[DB] Mouvement caméra type FPS TPS ?? JS

Message par TheLLspectre » 12 Sep 2016 23:45

Salut à tous !

Je suis entrain de travailler sur ceci j’essaie de faire en sorte d'avoir une caméra mobile gérer par la souris qui influe en même temps sur le personnage. C'est à dire que j'ai une caméra qui se situe derrière le personnage et qui en appuyant sur une touche passe au niveau de la vue du personnage, et de base j'étais sur une rotation du personnage par les touches, en revanche j'envisage l'ajout d'un réticule/pointeur, et donc la nécessité d'une camera mobile en fonction de la souris, qui influe sur la rotation du personnage.

Actuellement le personnage tourne avec la caméra et la souris mais il pète un plomb total et prend de la vitesse, et quand je passe en FPS, la caméra ne regarde plus le bon objet !
Donc le mouvement n'est pas correcte et beaucoup trop sensible et le tout s'emballe.....

Voila le code de CameraMovement:

Code : Tout sélectionner

function Start () {
	targetCamera = GameObject.Find("Target").transform;
	targetCharacter = GameObject.Find("Personnage").transform;
	targetCameraV = GameObject.Find("TargetV").transform;
	targetView = GameObject.Find("View").transform;

}
//transform.position = Vector3.Lerp(from, to, speed); work with Quaternion.Slerp()
function Update () {

	transform.position = Vector3.Lerp(transform.position, targetCamera.position, 0.9);

	to = targetView.transform.position - transform.position;

	//transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(to), 0.9);
	targetCharacter.LookAt(targetView);
	transform.LookAt(targetCharacter);
	targetView.transform.RotateAround (to, to.up, Input.GetAxis ("Mouse X") * Time.deltaTime);

	// targetView doit bouger la camera doit toujours fixer ce point ! modif dans movecharacter

	if(Input.GetKeyDown(changeCamera))
	{
		if(targetCamera != targetCameraV)
		{
			targetCamera = targetCameraV;
			transform.LookAt(targetView);
		}
		else
		{
			targetCamera = GameObject.Find("Target").transform;
		}
	}
}

Donc voilà voilà :cote: :amen:

edit:

J'ai pas mal creusé de mon coté ! et je suis parvenu à un bout de solution, ce qui fait que maintenant le personnage tourne bien en fonction de la souris en revanche il stop sa rotation lorsque la souris arrive au bout de l'écran, alors qu'il devrait la continuer... je pense donc qu'il faut que je fasse une sorte de mapping en fonction de la résolution du screen.

Donc actuellement le code est devenue ceci :

Code : Tout sélectionner

transform.position = Vector3.Lerp(transform.position, targetCamera.position, 0.9);

	to = targetView.transform.position - transform.position;

	//transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(to), 0.9);

	targetCharacter.LookAt(targetView);
	transform.LookAt(targetCharacter);
	targetView.transform.position = new Vector3(Input.mousePosition.x,0, Input.mousePosition.y);

	// targetView doit bouger la camera doit toujours fixer ce point ! limitte de screen a prendre en compte!

	if(Input.GetKeyDown(changeCamera))
	{
		if(targetCamera != targetCameraV)
		{
			targetCamera = targetCameraV;
			//transform.LookAt(targetView);
		}
		else
		{
			targetCamera = GameObject.Find("Target").transform;
		}
	}
}

Avatar de l’utilisateur
Iwa
Messages : 1131
Inscription : 25 Avr 2012 16:20
Contact :

Re: [DB] Mouvement caméra type FPS TPS ?? JS

Message par Iwa » 27 Sep 2016 10:50

Hello à toi,

merci pour le partage de ta trouvaille. Est-ce que tu as tout résolu? Si oui, n'hésite pas à basculer le sujet en [RESOLU] en éditant ton premier post.

Merci à toi ;)
"N'est stupide que la stupidité Monsieur..." - Forest Gump
... sauf si tu lis pas ça :)

Si tu as tout ce qu'il te faut, merci de penser à basculer ton sujet en [RESOLU] en éditant ton tout premier post ;)

Verrouillé

Revenir vers « (Js) Javascript »