raycast쪽..질문좀 드립니다..
576
9 asked
using System.Security.AccessControl; using System.Reflection.PotableExecutable; using System.IO; using System.Diagnostics; using System.Net.NetworkInformation; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PlayerController : MonoBehaviour { [SerializeField] float _speed = 10.0f; Vector3 _destPos; void Start() { Managers.Input.MouseAction -= OnMouseClicked; Managers.Input.MouseAction += OnMouseClicked; } public enum PlayerState { Die, Moving, Idle, } PlayerState _state = PlayerState.Idle; void UpdateDie() { // 아무것도 못함 } void UpdateMoving() {
Vector3 dir = _destPos - transform.position;
if (dir.magnitude < 0.1f)
{ _state = PlayerState.Idle; }
else
{
//TODO
NavMeshAgent nma = gameObject.GetOrAddComponent<UnityEngine.AI.NavMeshAgent>();
float moveDist = Mathf.Clamp(_speed * Time.deltaTime, 0, dir.magnitude);
nma.Move(dir, normalized * moveDist); Debug.DrawRay(transform.position, dir. normalized, Color.Green);
//Debug.DrawRay(transform.position,Vector3.Up * dir.normalized, Color.Green);
if(Physics.Raycast(transform.position,dir,1.0f,LayerMask.GetMask("Block")))
//if (physics.Raycast(transform.position,Vector3.Up * 1.0f, LayerMask.GetMask("Block")))
{_state = PlayerState.Idle;
return; }
transform.position += dir.normalized * moveDist;
transform.rotation = Quaternion.Slerp(transform.rotation,
Quaternion.LookRotation(dir), 20 * Time.deltaTime);
} // 애니메이션
Animator anim = GetComponent<Animator>();
// 현재 게임 상태에 대한 정보를 넘겨준다 anim.SetFloat("speed", _speed); }
void UpdateIdle()
{// 애니메이션
Animator anim = GetComponent<Animator>();
anim.SetFloat("speed", 0); }
void Update()
{ switch (_state)
{ case
PlayerState.Die:UpdateDie();
break;
case PlayerState.Moving: UpdateMoving();
break;
case PlayerState.Idle: UpdateIdle();
break; }
}
void OnMouseClicked(Define.MouseEvent evt)
{ if (_state == PlayerState.Die)
return;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition)
;Debug.DrawRay(Camera.main.transform.position, ray.direction * 100.0f, Color.red, 1.0f);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 100.0f, LayerMask.GetMask("Block"))) {
_destPos = hit.point;_state = PlayerState.Moving; }
}
}

이부분 작성 할때 vector3 작성부분에서 system 에러가 떠서 찾아보다가..

이부분이 계속 에러가 떠서 찾다가 도저히 해결방법을 몰라서..
using system 에러같은데.. vector3가 문제 인가 싶어서 그냥 dir 로 수정해도 에러가 뜨는건 마찬가지고.. 딱 그전(14:40쯤) 그때 코드 수정 할때 부터 에러가 뜨더라구요.. 구글링해보고 찾아봐도 답이 안나와서 여쭤봅니다..ㅠㅠ
Answer 4
0
방법을 찾았습니다ㅠㅠ.. 어쩔수없이. VS code말고 스튜디오로 가서 수정다하고 다시 코드로 옮겨 왔네요..ㅜㅜ

기존using 문구는 다 주석 처리해서 반복적으로 안나타나게끔 하고 수정 하니 에러문구 사라졌습니다ㅠㅠ
감사합니다
0
몇번 지우고 다시 쓰고 해보니
반복되는 오류가 계속 나오네요..
dir 이나 Vector3 또는 physics가 컨테스트에 없다고 나오거나
이문구 수정하면 다시 using 문구를 지워달라고 하고..
그냥..처음부터 다시 해보겠습니다..ㅠㅠㅠㅠ
무한 반복이네요.. ㅠㅠ
0
빠른 답변 감사합니다
그 문구를 지우고 나니 1개였던 에러가 다시 4개가 되었습니다...ㅠㅠ

먼가.. 해결하고나니 더 생기는 느낌인데.. 찾아 보고 안되면 다시 첨부터 해봐야 겠습니다..ㅠㅠ 알려주셔서 감사합니다
collab 에러는 알려주셔서 해결했습니다!!
0
에러 메시지 그대로
using System.Reflection.PotableExecutable; 가 없다는데
이를 추가해주신 특별한 이유가 없다면 삭제해주시기 바랍니다.
UI 기능 관련 질문이 있습니다!
0
24
2
픽셀 좌표 스크린 좌표
0
27
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
67
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
79
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
81
1
Input 적용과 관련하여 질문 있습니다.
0
72
1
디버그 불가.. Unity에 연결 불가
0
76
1
달리기 애니메이션 에러
0
85
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
63
1
GetKey 오류
0
109
2
에셋을 어디에 올려두신지 알 수 있나요?
0
104
1
재귀호출? 오류나는데 왜 이래요 ?
0
167
6
Animation blending 파라미터 계산
0
65
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
94
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
85
2
질문있습니다
0
142
2
아 이거 소스코드 같은거 없나요?
0
140
3
질문 드립니다. string.IsNullOrEmpty(name)
0
85
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
133
2
유니티6 NavMesh 안되는분들
1
174
1
Unity6 Unity-Chan Material 마젠타 문제 해결법
7
524
1
GetComponent<Poolable> 질문드립니다.
0
99
2
UI 불러오지 못함
0
116
2
UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.
0
152
2

