Bonjour,
Je suis en train de me créer une WindowEditeur pour me faciliter l'édition d'une partie de mon jeu.
Dans le script de mon WindowEditeur je voudrais pouvoir changer de point de vue dans la sceneView comme si on cliquait sur le Gismo pour avoir la vue de face ou de dessus.
Je n'arrive pas à trouver les commandes qui me permettraient de faire ça.
Est-ce que quelqu'un pourrait me mettre sur la piste?
merci d'avance
[Resolu][MY-AL]Changer la vue de la SceneView par script
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
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
[Resolu][MY-AL]Changer la vue de la SceneView par script
Dernière édition par EmileF le 18 Jan 2019 20:53, édité 1 fois.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: [MY-AL]Commander Gismo par script
Hello,
moi je te dirais de partir sur une rotation d'un pivot (gameobject vide) dont le child serait ta caméra.
Tu places ton pivot à (0, 0, 0) et ta caméra à (0, 0, -5), et tu fais quelque chose du style :
ps : j'ai écris le code en direct sans tester, à adapter à ton besoin
Et si tu veux un effet de transition comme quand tu cliques sur le gizmo, tu peux utiliser une Coroutine :
Encore une fois, pas testé
moi je te dirais de partir sur une rotation d'un pivot (gameobject vide) dont le child serait ta caméra.
Tu places ton pivot à (0, 0, 0) et ta caméra à (0, 0, -5), et tu fais quelque chose du style :
Code : Tout sélectionner
public class CameraHandler{
[SerializedField]
private GameObject _pivot;
private void Update(){
if (Input.GetKeyDown(KeyCode.up){
_pivot.transform.Rotate(0, 0, 90);
}
if (Input.GetKeyDown(KeyCode.down){
...
}
...
}
}
Et si tu veux un effet de transition comme quand tu cliques sur le gizmo, tu peux utiliser une Coroutine :
Code : Tout sélectionner
private IEnumerator Rotate(float rotationAmount, int direction){
var rotationSpeed = time.deltaTime * Mathf.Sign(rotationAmount);
while (rotationAmount > 0){
switch (direction){
case 0:
_pivot.transform.Rotate(rotationSpeed, 0, 0);
break;
case 1:
_pivot.transform.Rotate(0, 0, rotationSpeed);
break;
}
rotationAmount -= rotationSpeed;
yield return null;
}
}
Re: [MY-AL]Changer la vue de la SceneView par script
Sebala, merci pour ta réponse.
Je ne pense pas que ta solution soit adaptée à ce que je souhaite. Je suis dans l'éditeur et pas dans le jeu.
C'est l'orientation de la sceneView que je souhaite modifier par script et non la camera dans le game.
Mais je te remercie quand même d'avir bien voulu répondre.
J'ai trouvé une solution à mettre dans le OnGUI du script EditorView
Il faudra peut-être ajuster la position de la scène avec SceneView.lastActiveSceneView.pivot, qui si j'ai bien compris modifie la position de la sceneView.
Merci pour votre aide.
Petit message pour les animateurs du forum.
Il serait peut-être souhaitable d'ajouter une rubrique Editor, pour savoir où poster ce genre de question qui concerne UnityEditor et pas UnityEngine.
Je ne pense pas que ta solution soit adaptée à ce que je souhaite. Je suis dans l'éditeur et pas dans le jeu.
C'est l'orientation de la sceneView que je souhaite modifier par script et non la camera dans le game.
Mais je te remercie quand même d'avir bien voulu répondre.
J'ai trouvé une solution à mettre dans le OnGUI du script EditorView
Code : Tout sélectionner
if (GUILayout.Button("Vue de dessus"))
{
SceneView.lastActiveSceneView.rotation = Quaternion.Euler(new Vector3(90, 0, 0)); //up
SceneView.lastActiveSceneView.Repaint();
}
if (GUILayout.Button("Vue de gauche"))
{
SceneView.lastActiveSceneView.rotation = Quaternion.Euler(new Vector3(0, 180, 0)); //left
SceneView.lastActiveSceneView.Repaint();
}
Merci pour votre aide.
Petit message pour les animateurs du forum.
Il serait peut-être souhaitable d'ajouter une rubrique Editor, pour savoir où poster ce genre de question qui concerne UnityEditor et pas UnityEngine.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: [MY-AL]Changer la vue de la SceneView par script
Re,
Excuse-moi, j'avais zappé qu'il était question de l'éditor.
Je ne pourrai pas t'aider sur ce sujet-là malheureusement...
Excuse-moi, j'avais zappé qu'il était question de l'éditor.
Je ne pourrai pas t'aider sur ce sujet-là malheureusement...
Re: [MY-AL]Changer la vue de la SceneView par script
Bonsoir,
Personnellement, je pense qu'il est difficile de créer une section pour chaque spécificité lié au code. Surtout pour des thèmes où les sujets ne sont pas légion.
Par contre, ce qui pourrait éventuellement être fait, ce sont des "étiquettes" lors de la création d'un nouveau sujet, genre "Editor", "Algo", "Reseau", etc... genre:
On reste dans le giron du code. Après c'est à voir.emile121153 a écrit : ↑18 Jan 2019 17:38Petit message pour les animateurs du forum.
Il serait peut-être souhaitable d'ajouter une rubrique Editor, pour savoir où poster ce genre de question qui concerne UnityEditor et pas UnityEngine.
Personnellement, je pense qu'il est difficile de créer une section pour chaque spécificité lié au code. Surtout pour des thèmes où les sujets ne sont pas légion.
Par contre, ce qui pourrait éventuellement être fait, ce sont des "étiquettes" lors de la création d'un nouveau sujet, genre "Editor", "Algo", "Reseau", etc... genre:
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
Re: [MY-AL]Changer la vue de la SceneView par script
J'avais remarqué lors de mes recherche que ce genre de sujet ne fait pas légion.
Et je me doutais que mon idée était difficilement réalisable,sinon je pense que ça aurait été déjà fait.
Par contre, l'histoire des étiquettes supplémentaires me parait bien pour mieux renseigner les lecteurs sur le sujet du post.
au plaisir.
Et je me doutais que mon idée était difficilement réalisable,sinon je pense que ça aurait été déjà fait.
Par contre, l'histoire des étiquettes supplémentaires me parait bien pour mieux renseigner les lecteurs sur le sujet du post.
au plaisir.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.