Je travail actuellement sur un platformer en 3D en C# sur Unity pour mes études,
et depuis un moment je coinces sur l'instantiate d'un de mes prefabs.
J'ai modélisé un canon pour un robot et je souhaite qu'il se positionne sur son bras lors du spawn.
Pour ce faire, j'ai demandé dans le script que le clone du prefab spawn entant que child du bras du robot.
Jusqu'ici, tout fonctionne. Mais lorsque je veux changer les paramètres d'offset (Vector3)
pour le positionnement et la rotation, j'ai beau modifier les valeurs dans Unity, le prefab reste
dans sa position initiale tout en suivant le robot... Ce qui est plutôt drôle à voir.
Voici mon script :
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class PowersKit : MonoBehaviour
{
public GameObject PowersKitRef;
public GameObject RobotSlot;
public Vector3 KitOffset;
public Vector3 KitRotation;
public string activatePower;
private bool canActivate = false;
private Transform parentObject;
void Update()
{
ActivateKit();
}
void ActivateKit()
{
if ((canActivate = true) && (Input.GetKeyDown(KeyCode.E)))
{
RobotSlot = Instantiate(PowersKitRef, transform.position + KitOffset, Quaternion.Euler(KitRotation)) as GameObject;
RobotSlot.transform.parent = GameObject.Find("RightArm").transform;
}
}
Quelqu'un pourrait t-il m'expliquer mon erreur, car là je vous avoue être un peu démoralisé,
j'ai cherché pendant un bon moment...
Merci d'avance pour vos réponses,
Belle soirée.