- Home /
Set controller to active script - how do I transform him to the correct position?
Hello - once my third person controller hits a collider, I want him to be destroyed, and a new third person controller to be set to active at the exact position of the first third person controller.
My script works in setting the new third person controller to active, but I can't work out how to incorporate this line in order to get the new controller to be transformed to the same position as the first third person controller before he was destroyed.
(vincent, characterPosition, Quaternion.identity);
Do you know how I can adjust the script so I can get the character to be set to active in the correct character position?
This is the script to set the second third person controller to active:
var vincent : GameObject;
var vincentCamera : GameObject;
var thirdPerson : GameObject;
var script : SwitchCharacters;
var playerGO : GameObject;
private var hasPlayed = false;
var characterPosition : Vector3;
function OnTriggerEnter () {
if (!hasPlayed&&!thirdPerson.active){
characterPosition = GetComponent(DestroyCharacterVincent).firstCharacterPosition;
vincent.SetActive (true);
vincentCamera.SetActive (true);
script.cam02 = vincent.Find("VincentCamera");
script = playerGO.GetComponent(SwitchCharacters);
script.player02 = vincent;
hasPlayed = true;
}
}
Thanks, Laurien
Answer by laurienash · Jun 09, 2013 at 06:27 PM
Hi - if anyone needs the answer: this is a working script:
var vincent : GameObject;
var vincentCamera : GameObject;
var thirdPerson : GameObject;
var script : SwitchCharacters;
var playerGO : GameObject; //Should be filled with the GameObject the SwitchCharacters script is attached to
private var hasPlayed = false;
var characterPosition : Vector3;
function Start () {
vincent.SetActive (false);
vincentCamera.SetActive (false);
}
function OnTriggerEnter () {
if (!hasPlayed&&!thirdPerson.active){
characterPosition = GetComponent(DestroyCharacter).firstCharacterPosition;
vincent.transform.position = characterPosition;
vincent.SetActive (true);
vincentCamera.SetActive (true);
script.cam02 = vincent.Find("VincentCamera");
script = playerGO.GetComponent(SwitchCharacters);
script.player02 = vincent;
hasPlayed = true;
}
}
Your answer
![](https://koobas.hobune.stream/wayback/20220613103752im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
C# GUI.Button Transform.Position 1 Answer
Drag+an+object+to+touch+position(Problem) 0 Answers
How to place the GameObjects in a sequence on the plane 1 Answer
move position of child object on update - increment too small? 1 Answer
How would I declare a variable that stores starting position of a GameObject? 1 Answer