나를 반 가공하는 코드를 작성했습니다. 모든 것은 작동하는 애니메이션과는 별도로 작동합니다.콜리더에서 애니메이터를 입력하십시오 (Unity3d/C#)
내가하려는 것은 플레이어가 방아쇠를 당겼을 때 그 또는 그녀가 E를 누르면 애니메이션을 수행한다는 것입니다. (애니메이션 괜찮아요 btw, 그래서 그냥 코드 오류 일하고있다?).
는 여기에 지금까지 가지고있는 작업은 다음과 같습니다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class barTrigger : MonoBehaviour {
// press shit to drink text
public GameObject drinkText;
// bottle
public GameObject alcBottle;
// drink animator
public GameObject animatorOjbect;
Animator drinkAmin;
public bool triggerIsOn;
// Use this for initialization
void Start() {
drinkAmin = animatorOjbect.GetComponent<Animator>();
drinkText.SetActive(false);
alcBottle.SetActive(false);
}
// Update is called once per frame
void Update() {
}
void OnTriggerEnter(Collider other){
triggerIsOn = true;
if (other.gameObject.name == "vThirdPersonController") {
drinkText.SetActive (true);
}
if (triggerIsOn && Input.GetKeyDown (KeyCode.E)) {
drinkAmin.Play ("Dab");
alcBottle.SetActive (true);
}
}
void OnTriggerExit(Collider other){
if (other.gameObject.name == "vThirdPersonController") {
drinkText.SetActive (false);
alcBottle.SetActive (false);
}
}
}
도와주세요?
'Debug.Log'를 사용하여'OnTriggerEnter'와'OnTriggerExit' 함수가 호출되도록합니다. – Programmer
@Programmer duh. 이미 테스트했습니다. – papi
죄송합니다. 당신을 도울 수는 없지만 GameObject drinkText에 대한 의견은 훌륭합니다. 내가 제안 할 수있는 가장 좋은 점은 OnTriggerEnter에 중단 점을 설정하고 E를 누를 때 triggerIsOn 값이 무엇인지 확인하는 것입니다. 논리를 따라 다른 곳으로 재설정되는지 확인하십시오. – Brien