Mon but est de translater un objet sur l'axe Z tout en le scalant d'un seul côté ,de manière d'avoir l'impression que l'objet translaté "laisse comme sa trainée" derrière lui.
Comme ce mur mince derrière les LightBikes du film Tron
cf lien extrait vidéo:
https://drive.google.com/file/d/1nsVEjc ... sp=sharing
Le scale d'un seul côté est réalisé grâce à un autre script permettant de positionner le point de pivot de l'objet.
Ainsi,j'ai besoin que les composantes Z de translation et de scale soient égales à une constante près égale à la moitié de l'échelleZ propre de l'objet et dépendant de son point de pivot.
Dans la fonction Update(),je dois utiliser simultanément 2 transformations comme ceci:
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class scale_behind : MonoBehaviour {
public GameObject objet1;
public float a, b, c, speed_trans, speed_scale;
float scaleZ, translationZ, temps;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//il faut s'arranger à ce que transform.localScale.z = transform.position.z à l'issue de ces 2 transformations
//simultanées
temps = Time.deltaTime;
scaleZ = speed_scale * temps;
transform.Translate(new Vector3(a * speed_trans *temps, b*speed_trans*temps ,c*speed_trans*temps),Space.Self);
transform.localScale = new Vector3((0, 0, scaleZ);
}
}
merci de votre aide