Je (re) viens vers vous car j'ai de nouveau un petit soucis sur la conception d'un système de portails. Mon but ? Avoir un rendu proche de Portal (au moins c'est clair). J'ai pas mal cherché sur internet sans franc succes. Pour le moment ce que j'ai, c'est un système basé sur les Render textures et une box collider qui sert à téléporter mon joueur. En soit tout marche, mais ce que j'aimerais c'est que le joueur puisse par exemple se mettre au milieu d'un portail, qu'il y ai une vraie transition et pas simplement un TP.
De plus, faire correctement réagir les caméras qui rendent les textures aux mouvements du joueur est aussi un peu compliqué.
Là où j'aimerais avoir de l'aide, c'est plus sur la reflexion du fonctionnement d'un tel système.
Voici mon (petit) code pour le moment, il fait bien son travail mais je pense que je n'connais pas tous les outils pour avoir le résultat escompté, et je ne sais plus trop vers quoi me tourner :
Code : Tout sélectionner
public Transform associatedCamera;
GameObject player;
Vector3 offset;
void Awake(){
player = GameObject.Find ("First Person Controller");
offset = DistanceUsingVector3 (transform.position, associatedCamera.parent.transform.position);
}
void Update(){
associatedCamera.transform.rotation = Quaternion.Lerp (associatedCamera.transform.rotation, player.transform.rotation, 1f);
associatedCamera.transform.position = player.transform.position + offset;
}
Vector3 DistanceUsingVector3(Vector3 a, Vector3 b){
return new Vector3(Mathf.Abs(a.x - b.x), Mathf.Abs(a.y - b.y), Mathf.Abs(a.z - b.z));
}