Unity에서 문을 만들고 싶습니다 (C#에서 골고루)
만들고 싶은 문
1. GUI로 문 만들기
Cube를 도어의 형태로 하고, 단지 그것을 돌리면 중심을 축으로 돌려 버리므로, 빈 요소 안에 도어를 넣고, 빈 요소의 축을 도어의 가장자리로 설정해 빈 요소를 돌린다 Unity 특정 Pivot 위치 변경할 수없는 문제를 해결합니다.
2. C#으로 돌리기
이번에는 미닫이 문을 만듭니다.
using System.Collections;
using UnityEngine;
public class Door_Controller : MonoBehaviour {
public bool isOpened = false;
public bool isEnter = false;
void Update () {
if (Input.GetKeyDown (KeyCode.F)) {
if (isEnter && !isOpened) {
transform.Rotate (0, 90, 0);
isOpened = true;
} else if (isEnter && isOpened) {
transform.Rotate (0, -90, 0);
isOpened = false;
}
}
}
private void OnTriggerStay (Collider collider) {
if (collider.gameObject.tag == "Player") {
isEnter = true;
}
}
private void OnTriggerExit (Collider collider) {
if (collider.gameObject.tag == "Player") {
isEnter = false;
}
}
}
내가 쓴 코드이므로 어려운 일은 없습니다.
3. 구성 요소 추가 및 완료 ...
방금 빈 요소에 위의 코드를 추가하고 ...
실행하면 제대로 움직일 것이다.
실행!!
! ! ! ! ! . . . . ? ?
단지 Y축을 회전시켰을 뿐인데 왠지 사이즈가 이상하게도...
4. 빈 요소를 한 번 루트 디렉토리로 되돌립니다.
반나절에 걸쳐 원인을 추구했는데, 아무래도 최초로 문을 만드는 작업을 중첩 속에서 실시하면, 사이즈가 부모 요소 비교의 값이므로 회전하는 것만으로 버그라고 이상하게 되는 것 같습니다.
이렇게 된 것을
이렇게 하면...
부탁...
움직였다!
이 중첩 문제는 구구라고 해도 전혀 나오지 않았던 것이 1번의 함정이었으므로 참고가 되면 다행입니다.
Reference
이 문제에 관하여(Unity에서 문을 만들고 싶습니다 (C#에서 골고루)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kota-yata/items/3aec864e704eb9ea9ca7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)