public void GettingPossess() { SoulVisionEffect.SetActive(false); if (PossessTime < 0.2)//鏡頭回到正常的位置 { PossessTime += Time.deltaTime; VectorMoveDistance = NormalPosition - transform.position; Move = VectorMoveDistance * Time.deltaTime * 5; transform.position += Move; } else if (PossessTime >= 0.2 && PossessTime < 0.8) { PossessTime += Time.deltaTime; if (PossessTime >= 0.6 && PossessTime < 0.8) { PossessEffect.SetActive(true); VectorMoveDistance = PossessTarget.transform.position - NormalPosition;//距離為終點減正常位置 Move = VectorMoveDistance * Time.deltaTime * 3; transform.position += Move; CameraNowPosition = transform.position; } } else if (PossessTime >= 0.8) { PossessEffect.SetActive(false); PossessedSystem.InToPossess(); LoadCharacterPosition();//讀取動物鏡頭位置 CameraState = "NormalState"; } }
public bool IsPossessing = false; //附身中為true直到附身結束切回正常狀態才會被重置為false // Use this for initialization void Start() { PossessedSystem = GameObject.Find("Pine").GetComponent <PossessedSystem>(); SoulPower = GameObject.Find("SoulPower"); playerManager = GameObject.Find("PlayerManager").GetComponent <PlayerManager>(); SoulVisionEffect.SetActive(false); //開始時靈視關閉 PossessEffect.SetActive(false); //開始時附身鏡頭關閉 SoulPower.SetActive(false); //開始時靈視特效關閉 Crosshairs.SetActive(false); //開始時準心關閉 CameraState = "NormalState"; //初始狀態為正常狀態 AttachedBodyChildren = new Transform[3]; //只抓前四個物件(包含本身) PlayerView = GameObject.Find("FirstPersonCamPoint"); MoveEnd = GameObject.Find("CamMoveEndPoint"); //一開始取正確腳色位置 NowCharacter = GameObject.Find("Pine"); }