어제부터 구독해서 모든 강의를 보았습니다. 이런 고퀄 강의를 무료로 볼 수 있다니 정말 정말 감사합니다.
@BG-xp4cz4 жыл бұрын
이분은 게임만드는 강좌를 찍는것일까, 아니면 게임을 진짜 만드는것일까
@goldmetal4 жыл бұрын
둘 다 합친 느낌이려나요 ㅋㅋㅋ 강좌를 보시는 분들께서 진짜 게임을 만들었다는 느낌을 드리고 싶어서 최대한 노력하고 있습니다. 😘
@BG-xp4cz4 жыл бұрын
@@goldmetal 그런 느낌이였군요ㅋㅋㅋ
@danielchoi71084 жыл бұрын
오늘도 감사합니다 골드메탈님
@초코맛누룽지4 жыл бұрын
와 유니티에서 AI도 기본으로 제공해주네요 ㅎㅎ
@gim-ori Жыл бұрын
오 신기술 등장... 추적시스템까지 간단하게 구현하다니 유니티가 좋긴좋군요 -_)b
@NB-up8fs3 жыл бұрын
감사합니다. 항상 잘 보고 있습니다
@Chogeulring4 жыл бұрын
이걸로 pet같은 부가시스템도 응용할수있겠네요! 감사합니다! 늘잘보고있습니다
@플레이아로테3 жыл бұрын
와 AI 재미나게 배우고 갑니당!! 고맙습니다~
@와비사비룸물질보다정 Жыл бұрын
Enemy target assign 오류는 맵에서 hit tester를 삭제하시면 됩니다
@히히히-c7f4 жыл бұрын
항상 잘 보고 있구, 감사하고 있습니다..! 유니티 사용에 도움이 되는 강좌가 아주 많아요! 지금 개발중인 리듬게임이 완성되면 메탈님과의 콜라보를 제안할 예정입니다 히 히
@ReeperKuruRuke Жыл бұрын
애들이 죽을때 땅속으로 잠깐 꺼지면서 역동적인 회전을 하지 않을때가 있습니다. 어디가 잘못된걸까요? 더미로 쓴 큐브 오브젝트를 지우지 않고 계속 사용을 상정해서 코드를 짜다 발생한 일로, Chase()함수 등에서도 if(target==null) return;을 거는 등 이런저런 예외 처리를 꾸준히 했습니다. 그런데 공룡처럼 생긴 일반적인 적들은 수류탄에 맞고 죽을 때 회전이 걸리며 역동적으로 넉백을 받고 날아가는데, 큐브 더미들은 잠깐 땅으로 꺼지더니 넉백을 거의 받지 않는겁니다. 분명히 NavMeshAgent 비활성화, 회전 고정 비활성화 등을 확인했음에도 이런 현상이 발생하네요. 콜라이더를 구형으로 바꾸는 등의 조치를 취해도 이전처럼 시원하게 날아가지 않습니다. 애니메이션 제어 코드와 호환시키기 위해 별도로 애니메이터와 애니메이션을 짰는데 그쪽에 문제가 있는 것 같아요. 분명 에셋의 모델링을 따라 충돌과 NavMesh를 제어할 부모 오브젝트>애니메이션 제어 오브젝트>실제 모델링 구조로 다시 짰는데도 이런 현상이 계속 발생합니다. 어쩌면 애니메이션 클립 어딘가에 문제가 생겨 땅에서 조금 떨어져 있어야할 Mesh의 위치가 0으로 초기화 되어버린것 같아요(그런데 그것이 부모 오브젝트의 콜라이더에도 영향을 주나...?). 아무튼 애니메이터를 끄니 더미도 이전처럼 잘 날아갑니다. 1인 개발을 지망하는 학생으로서 어떻게하면 이런 현상을 해결할 수 있는지 알 수 있을까요? 추가 수정) 어쩌면 애니메이션 클립과도 관련이 없고 NavMeshAgent와 실제 Mesh의 위치, 그리고 콜라이더의 위치와 관계 있는것 같습니다. 자식 오브젝트 들어가서 Position.y를 전부 0으로 하고 박스 콜라이더의 센터로 0으로 두니 아주 시원시원하게 잘 날아갑니다. 그런데 이러면 박스가 땅 아래에 처박힌 형태가 되는 게 조금 거슬리네요.
@pyeongmin12314 жыл бұрын
오늘도 좋은 강의 감사합니다
@pyeongmin12314 жыл бұрын
이거 Enemy 속도는 조절을 어떻게 할 수 있나요? 아 그리고 적에게 플레이어가 밀리는 건 수정이 안되나요?
@goldmetal4 жыл бұрын
Nav Agent 컴포넌트의 Speed를 늘리시면 됩니다. 밀리지 않게하려면 플레이어의 리지드바디의 Mass(질량) 을 크게 늘리는 쉬운 방법이 있습니다.
@pyeongmin12314 жыл бұрын
@@goldmetal 그럼 혹시 스크립트도 건드려야 되나요?
@pyeongmin12314 жыл бұрын
혹시 제가 아직 초보라 괜히 밸런스 맞추다가 이상하게 할까봐 다 골드메탈님 밸런스를 맞췄는데 혹시 Mass값이랑 혹시 스크립트 건드려야 되면 스크립트에 적어놓으신 값좀 알려 주실 수 있나요?
@goldmetal4 жыл бұрын
@@pyeongmin1231 스크립트는 그냥 두셔도 됩니다. 플레이어 선택 후 나오는 인스펙터 창에서 리지드바디의 Mass 값만 늘리시면 됩니다.
@DungeonsSlimes2 жыл бұрын
"최고의 강의"
@goldmetal2 жыл бұрын
매번 감사합니다. 😃
@DungeonsSlimes2 жыл бұрын
@@goldmetal 선생님의 강의를 볼 수 있다는 것에 크게 감사드립니다^^ 올려주신 좋은 강의들을 교과서처럼 생각하고 여러번 공부하겠습니다. 감사합니다!
@DevGame-kd7pt3 жыл бұрын
항상 잘보고 있습니다 감사합니다
@상위포식자3 жыл бұрын
이번 강의도 완료하였습니다 작년에 만든거지만 항상 감사합니다. 몬스터 뒤로 점프해서 넘어가면 뒤로 따라오는 문제가 있습니다.
@goldmetal3 жыл бұрын
NavAgent는 목표 추적할 때 방향전환하는 시간이 있어서 그렇습니다. 방향전환 속도를 올리면 어떨까하네요
@상위포식자3 жыл бұрын
@@goldmetal 해결했습니다 감사합니다;; 역시나 문제는 항상 자기 자신에게 있네요 ㅋ
@몰라몰라-n6d10 ай бұрын
안녕하세요 골드메탈님! 항상 좋은 영상감사합니다. 네비게이터 창에 베이크가 보이지 않아서 네비게이터를 다시 설치하고 창도 바꿔보는데 에이전트랑 에리어만 나오네요 이럴경우는 어떻게 해야하나요 ㅠㅠㅠ
@goldmetal10 ай бұрын
최신 버전에서는 네비게이션 사용방법이 많이 바뀌었습니다. 일단 Package Manager > In Project - Unity Registry > AI Navigation 설치해주세요. 이후 바닥 오브젝트나 빈 오브젝트 만든 후에 Add Component > NaviMesh Surface 놓고 Bake 누르시면 내비메쉬가 만들어집니다.
@날드-i9t10 ай бұрын
골드메탈님 질문 또 있습니다. 적이 멀리 있을때는 플레이어한테 안오고 가까이 있을때만 플레이어한테 오는 방법좀 가르쳐주세요 코드도 적어주세요
@goldmetal10 ай бұрын
몬스터 프리펩에 어느 정도 큰 구체 콜라이더 (IsTigger 체크)를 추가로 두고 스크립트 상에서 bool isChase; 변수 하나 선언합니다. Update의 navAgent 코드는 if(isChase)로 감싸구요. OnTriggerEnter에 if(other.CompareTag("Player")) 로 플레이어 체크하고 이 안에서 isChase = true; 함니다. 반대로 OnTriggerExit에는 isChase = false;하면 되구요. 그럼 isChase일 때(플레이어가 콜라이더 안에 들어가 있을 때)만 네비에이전트로 따라가는 몬스터가 됩니다.
@날드-i9t10 ай бұрын
@@goldmetal 감사합니다 아주 잘돼요!!
@잉여로움-b8z3 жыл бұрын
오늘도 감사합니당!!!
@user-ma113 ай бұрын
NavMesh display를 하이드 해버려서 씬에 보이는 파란색같은거 숨기는법을 모르겠는데 이 디스플레이 어디서 다시 열죠?? + 수류탄 그룹 플레이어 자식 오브젝트로 넣어도될까요?
@goldmetal2 ай бұрын
씬창 위쪽의 오른쪽 케밥 버튼을 누르시고 Overlay Menu 클릭하시면 AI Navigation 있습니다. 이거 켜시면 활성화 됩니다.
@이수영-k4x3 жыл бұрын
bake 누르면 Couldn't create asset file! 오류나고 스크립트를 똑같이 작성했는데도 적이 따라오지 않습니다 왜그런걸까요
@goldmetal3 жыл бұрын
바닥이 되는 오브젝트가 Static이어야 합니다. 인스펙터 창에서 오브젝트 이름 우측에 있으니 확인해보세요
@llspm5443 Жыл бұрын
Update()문에서 NavMeshAgent의 SetDestination함수를 쓰는 부분에서 Player의 Position을 Public Transform 변수로 가져오는 부분에서 오류가 생겨서 로그 찍어서 확인해보니 Player의 Transform은 잘 가져와서 position값이 찍히기는 하는데 딱 한번 찍히고는 바로 멈춰버리네요. UnassignedReferenceException: The variable target of Enemy has not been assigned. You probably need to assign the target variable of the Enemy script in the inspector. position값이 정상적으로 한번 찍히고 에러가 나는게 이해가 안되서 뭔가하고 찾다가 보니 전에 만든 Test Enemy안에 Enemy 스크립트 넣어두고 NavMeshAgent는 Test Enemy에 할당 안해줘서 오류가 난 거였었네요... 에러코드는 참조오류로 떠서 한시간 뻘짓하다가 겨우 찾았네요;ㅋㅋㅋ 혹시 모르니 다른분들을 위해 남겨둡니다..
@goldmetal Жыл бұрын
해답을 직접 찾으셔서 다행입니다
@llspm5443 Жыл бұрын
@@goldmetal 감사합니다! 늦게나마 따라배우고 있는데 정말 감사합니다
@jonghunbaek7415 Жыл бұрын
enemy가 죽은 다음 사라지기 전까지 영상처럼 바닥에 고정되지 않고 미끄러져 움직이거나 빙글빙글 돌며 움직이는데 OnDamage 함수의 문제일까요?
@goldmetal Жыл бұрын
여기저기 많이 충돌하면서 리지드바디에 물리적 속도가 살아있어서 그렇습니다. OnDisable 함수에서 rigid.velocity = Vector3.zero; rigid.angularVelocity = Quatanion.Identity; 하셔서 초기화해버리는 방법도 있으니 참고 바랍니다.
@anchovy87142 ай бұрын
적이랑 부딪히면 비벼지다가 적 머리를 밟고 올라가버려요 해결법이 있을까요?
@goldmetalАй бұрын
플레이어에게 NavMesh Obstacle (내비매쉬 장애물)컴포넌트 추가해주세요.
@홍길동-s3b4 жыл бұрын
감삼다
@김기-y3q Жыл бұрын
강의 항상 잘 보고있습니다! 강의를 보고 적용을 시켜봤는데 몬스터가 쫒아오다가 플레이어가 다른 방향으로 이동하면 미끄러지듯이 직진만 한 후 바로 회전하지 않고 거리가 있는 상태에서 회전 후 다시 쫒아옵니다. 회전값을 높여도 똑같은데 혹시 방법이 있을까요..ㅠㅠ
@goldmetal Жыл бұрын
아래 해결 방법이 있는 포스트 링크 공유해드립니다! mentum.tistory.com/312
@김기-y3q Жыл бұрын
@@goldmetal 감사합니다!!ㅠㅜ 항상 잘보고있어요!
@한민호-o8x4 жыл бұрын
안녕하세요 영상 잘보고 따라하고 있습니다. 제가 몇가지 부분 빼고는 거의 그대로 따라했는데 조금 이상한 부분이 생기네요.. 1. Enemy A가 시작하자마 얼굴을 위로 향한 채로 누워있습니다. 2초지나서 isChase 박스에 체크는 되는데 누워서 따라오지 않습니다 2. Player를 Enemy A 와 충돌시키면 Player가 튕겨져 나가고 그 방향으로 계속 밀립니다.. 어떻게 해야할까요.. 이영상 다시보면서 enemy 스크립트 보면서 비교해봣는데 똑같습니다
@goldmetal4 жыл бұрын
1. 에셋 프리펩 폴더의 Enemy A를 그대로 Scene에 놓아보고 실행해보세요. 로직이 없는데도 회전하면 유니티 에디터 버전의 차이문제입니다. 이 강좌에서 제공하는 에셋은 2019버전에 최적화 되어있어요. 2. 플레이어 리지드바디의 Mass를 크게 증가시켜주세요. 대신 이 방식으로 하면 점프도 낮아지니 점프 AddForce의 ForceMode를 VelocityChange로 바꾸어주세요.
안녕하세요 골메님 강좌 잘 보고있습니다. 프리펩들에 어떤 것들은 자식 오브젝트에 생성하고 어떤 것들은 제일 상위 오브젝트에 오브젝트를 추가하던데 무슨 기준, 이유인가요? (애니메이션컨트롤러, 콜라이더, 이펙트 등등)
@goldmetal Жыл бұрын
플레이어라는 하나의 객체가 가져야할 다양한 오브젝트들 (매쉬, 이펙트, 카메라가 비춰야할 위치 지시자 등등)을 포함해야 하기 때문에 하나의 부모 오브젝트 아래에 다 모아두는 것입니다. 특히 자식오브젝트 중에 매쉬(실제 보이는 3D모델)만 회전하고 나머지는 그대로 있어야 할 경우도 있기 때문에 관리 차원에서도 여러모로 좋습니다.
@안안-u5s3 жыл бұрын
영상 감사합니다
@남윤호-e2x2 жыл бұрын
그.. 적을 직접 만들어서 해보려고 하는데요... 적 케릭터의 메터리얼이 여러개일 경우에는 어떻게 코딩을 짜야할까요?
@goldmetal2 жыл бұрын
메쉬만 동일하고 메테리얼이 여러개 이면 프리펩으로 Instanitate() 로 클론 생성 후, 바로 그 클론의 GetComponent().marerial = newMat; 이런식으로 바꿔주시면 됩니다. 우측 newMat은 임의이 Material 변수이며 public Material로 여러 번수를 만들고 인스펙터에서 메테리얼 넣어줘서 초기화해주면 됩니다.
@_dingdong16153 жыл бұрын
항상 덕분에 잘배우고 있습니다 ^^ 다름이 아니라 target 이나 player에게 시선이 꽂혀서 이동하는 시스템은 이제 알겠는데 Nav 사용하지 않고 3d 객체가 바다안에서 자유롭게 움직이는 것을 제작하고 싶습니다 position의 x,y,z은 random range로 자유로운 이동은 가능한데 rotation 설정을 잘 모르겠어서요.. 뒤로가는데 뒤에 바라보지않고 정면으로 뒤로가는?? 어떤 방식으로 접근하면 될까요??
@goldmetal3 жыл бұрын
목표 vector3를 활용해서 LookAt 함수를 사용하시면 되겠습니다. docs.unity3d.com/kr/530/ScriptReference/Transform.LookAt.html
@_dingdong16153 жыл бұрын
@@goldmetal Lookat을 사용해봤는데 해결되지 않아서 막혔는데 오늘 다시 생각해보니 제가 position에 random값을 update로 실시간으로 변화하고 있었는데 그건 고려하지 않고 Lookat에는 빼서 작성 했더군요;;; ㄷㄷㄷ;; 한번더 길을 잡아주셔서 해결하게해주심 감사합니다 ^^
@3K_JJangJJang11 ай бұрын
골드메탈님 유니티 2022버전 이후로 Nav 기능이 크게 바뀐 것 같은데 다시 영상 제작해주실 생각 있으신가요??
@goldmetal11 ай бұрын
네 한번 고려해보겠습니다! 의견 감사합니다
@3K_JJangJJang11 ай бұрын
@@goldmetal 답변 감사합니다! 영상 기대하고 있겠습니다!!
@돌멩이-i8k11 ай бұрын
몬스터를 구현할 때 무조건 Ai를 구현해야하나요??? navigation이 안 깔려있어서 깔았는데 게임이 한 번 날아간 적이 있어서요...
@goldmetal11 ай бұрын
꼭 그런건 아니지만 지형이나 장애물을 피하는데에 Ai Navigation를 쓰면 쉽게 만들 수 있기 때문에 사용합니다. 만약 장애물이 없거나 지형이 단순하다면 스크립트로 따라다니게 할 수 있습니다
@돌멩이-i8k11 ай бұрын
@@goldmetal 어떻게 하나요 .. 알려주시면 감사하겠습니다 ..
@고수찬-j5w4 жыл бұрын
감사합니다
@gamestetras88713 жыл бұрын
올리신 캐릭터 유니티에셋의 Free 에셋인가요? 아님 직접만드신 캐릭터인가요? 너무귀여워요..
@goldmetal3 жыл бұрын
라이브에서 직접 만들었습니다. 감사합니다~ kzbin.info/www/bejne/hZSwXnuanbOnj5Y
@카카누-s6b3 жыл бұрын
궁금한게 있습니다. Rigidbody에서 velocity 나 angularVelocity로만 외부 물리 충돌을 하는건가요? 그러면 둘다.zero하면 외부충돌은 아예 없는 건가요? 외부충돌이 없으면 Is Kinemaitc하는게 좀더 효율적인거 같은데 매프레임 호출하는거보단 추적할땐 물리충돌을 아예하지 않다가 추적이 끝나면 Is Kinemaitc=false로 하고 아니면 Is Kinemaitc 하고 다른 점이 있나요?
@goldmetal3 жыл бұрын
크게 다른 점은 없습니다. 말씀하신대로 Kinematic 옵션을 사용해도 됩니다.
@플레이아로테2 жыл бұрын
5:01 에서 플레이어를 적에게 할당 하셨는데, Player가 시간이 흐를수록 많이 생성될 수 있으므로, 할당하기 어려워서 질문 드립니다 제가 적은 위 글 내용(할당)과 Raycast, Collider 와 같은 방법을 사용하지 않고, 일정 범위(Range)를 원을 그려서 이 거리 내에 적 주변에 Player들이 Range안에 들어 오면 감지를 할 수 있는 방법 없을까요??? 좀더 간략하게 말씀 드리자면 적 스크립트에 플레이어 객체를 드래그&드랍으로 할당하는 방법이 아닌 감지법을 알고 싶습니다 ㅠㅠ private Transform isTr; private Transform targetTr; public float attackDist = 5.0f; bool isDie = false; Start(){ isTr = this.GetComponent(); StartCoroutine(CheckState()); } IEnumerator CheckState(){ while (!isDie) { /* targetTr = ? */ float distance = Vector3.Distance(targetTr.position, thisTr.position); if (distance
@goldmetal2 жыл бұрын
해당 내용은 프리펩을 사용하기 전 내용이라 이렇게 할당했습니다. 다음 강좌에서 프리펩으로 전환하면서 스크립트로 할당하는 방법을 다루니 참고해주세요. 이것과는 별개로 말씀하신 내용은 raycast를 활용해서 플레이어를 감지할 수 있습니다.
@lilllilli19762 жыл бұрын
좋은 강의 감사합니다. 제가 몬스터를 처치하면 아이템이 드랍되는 것을 만들고 싶은데 혹시 어떻게 해야 하는지 알려주실수 있을까요? 랜덤 드랍 보다는 어떠한 몬스터를 죽이면 특정 아이템만 드랍되도록 만들고 싶습니다
@goldmetal Жыл бұрын
Enemy스크립트에 드랍할 아이템프로펩을 public GameObject 변수에 담아둔 다음, 사망타이밍에 Instantiate로 생성하면 됩니다
@이봉희-j4c2 жыл бұрын
저는 지금 2022버전 인데, 네비게이션이 안나와서 댓글을 답니다...
@goldmetal2 жыл бұрын
Window > Package Manager > In Project 클릭 후 Unity Registry 선택 > AI 선택 > Install 버튼 클릭
@이봉희-j4c2 жыл бұрын
@@goldmetal 감사합니다 !!!
@남주형-n6v3 жыл бұрын
혹시 오브젝트가 타겟을 추적하기 시작하는 거리를 제한할수는 없나요? 멀리 있을때는 인지하지 못하는데 가까이 왔을때는 타겟을 추적하기 시작하고, 멀리 떨어지면 다시 추적을 멈추는 식으로요.
@goldmetal3 жыл бұрын
처음부터 target을 주지 않고 대신 SphereCast로 구형태로 자신 주위를 검색하게 합니다. 그 영역에 플레이어가 걸리면 target에 플레이어를 넣어서 그제서야 추적하게 하면 된답니다. 물론 추적 상태로 플레이어와의 거리가 멀어지면 다시 target 을 비우고 SphereCast를 다시 실행하면 됩니다.docs.unity3d.com/ScriptReference/Physics.SphereCast.html
@왕초보게임개발2 жыл бұрын
안녕하세요 골드메탈님 영상 보면서 하나씩 따라 하고 있는 왕초보 입니다. 다름이 아니라 드래곤 같은 큰 물체는 콜라이더를 사각으로 하나로 하기가 조금 어려운 면이 있는데 혹시 root에 들어가서 꼬리나 날개에 콜라이더를 각각 지정을 해 줘야지만 공격 애니메이션에 정확하게 적용이 되는 것일까요?
@goldmetal2 жыл бұрын
부위별 공격판정경우 각 콜라이더 오브젝트에 피격 담당 스크립트를 붙여줘서 최상위 부모 스크립트에게 피격당했다고 전달해주는 식으로 할 수 있습니다.
@왕초보게임개발2 жыл бұрын
@@goldmetal 넵 감사드립니다.:)
@bek14004 жыл бұрын
잘보고갑니다ㅎㅎ
@뭔가좀이상한데2 жыл бұрын
골드메탈님 매번 좋은강의 만들어주시는데 제가 이해를못해서 죄송합니다 ㅠㅠ 다름이 아니라 저는 저렇게 평평한 바닥이 아니라 터리안을 이용해서 지형을 다듬었기 때문에 좀 울퉁불퉁해서 그런지 네비메쉬를 쓰고 베이크를 해도 상대 몬스터가 부드럽게 플레이어에게 안오고 덜덜덜덜 떨리면서 올랑말랑 조금씩 오고 그리고 사실 네비메쉬 코드를 짜놓고 에네미 스크립트를 옮기니깐 메테리얼 mav가 오류가 걸려서 다 삭제하고 플레이 시켰습니다 스크립트 보시면 알것같으신데 혹시 해결방법 있으신가요 ㅠㅠ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class enemy2 : MonoBehaviour { public int maxHealth; public int curHealth; public Transform target; Rigidbody rigid; BoxCollider boxCollider; NavMeshAgent nav; void Update() { nav.SetDestination(target.position); } void Awake() { rigid = GetComponent(); boxCollider = GetComponent(); nav = GetComponent(); } }
@뭔가좀이상한데2 жыл бұрын
혹시 어떻게 안되나요 ㅠㅠ🥲
@뭔가좀이상한데2 жыл бұрын
와 드디어 혼자 해결했네요 ㅠㅠ 다행입니다
@goldmetal2 жыл бұрын
혼자서 디버깅을 해내는 것이야 말로 정말 중요한 일입니다. 축하드립니다! 😄😄
@날드-i9t11 ай бұрын
3:03 Nav Mesh Agent가 안나옴
@goldmetal11 ай бұрын
Window > Package Manager > In Project - Unity Registry > Ai Navigation 설치해주세요
@날드-i9t10 ай бұрын
내꺼 오류가 뜨는 이유 enemy를 2개만들고 1개만 변수선언 했기 때문
@minjee_K4 жыл бұрын
골메님 혹시 예전에 추천해주신 색조합 참고 사이트 기억하시나요? 자주 사용하다가 노트북을 초기화 하면서 즐찾 해놓은 사이트가 사라져서요..ㅜ 어느 영상에서 말씀하신지 기억이 안나서 못찾고 있습니다..!
잘 배우고 갑니다. 만약에 3D 에서 몬스터가 플레이어를 추적할때 플레이어가 일정범위에 들어오면 추척하게 만들고 싶습니다. 그때는 코딩에서 RayCastHit클래스로 선언한 변수를 어디에 집어넣어서 어떻게 만들면 되겠습니까?
@goldmetal2 жыл бұрын
몬스터가 검색상태-추적상태를 오갈 수 있게 bool isSearched 같은 변수 하나 추가하시고 FixedUpdate에서 SphereCast를 사용해서 플레이어 탐색을 하면서 rayhit가 되면 isSearched = true; 없으면 false로 계속 업데이트 해줍니다. 기존의 navAgent 추적은 isSearched == true일때만 해주면 원하시는 로직이 됩니다. wergia.tistory.com/102
@배문성-w4m2 жыл бұрын
@@goldmetal 감사합니다.
@Karasno3 жыл бұрын
Navmeshagent로 네비게이션을 만들어서 waypoint를 가지고 집을 이동하고 있는 것까지 했는데 모양이 그냥 네모 모양으로 네비게이션이 만들어져서 흰둥이로 바꾸고 싶은데 그러면 어떻게 해야 하나요? 이미지를 다운 받아서 큐브로 바꿔도 적용이 안되던데 쉬운 방법이 있나요? 꼭 캐릭터를 따로 만들어서 넣어야 하는 건가요?
@goldmetal2 жыл бұрын
내비메쉬를 만들기 위해서는 이와 관련된 오브젝트는 Static으로 지정해주셔야 합니다. Static은 오브젝트 선택후 인스펙터 창 위쪽 오른쪽에 있습니다.
@노윤수-p1e2 жыл бұрын
11:17초에 anim controller를 Enemy a가 아닌 자식 오브젝트인 mesh object에 넣는 이유가 뭔지 알 수 있을까요??
@goldmetal2 жыл бұрын
Mesh Object 안에플레이어를 구성하는 매쉬들이 들어있기 때문입니다. 한단계 포장한 이유는 블렌더라는 3D 툴에서 만든 모델은 유니티와 축이 달라서 누워진걸 바로 잡기 위함입니다.
@emm___1343 жыл бұрын
혹시 몬스터에 캐릭터 컨트롤러 컴포넌트를 사용 했을 때 적용이 되나요?(리지드 바디와 콜라이더 X)
@goldmetal3 жыл бұрын
이 강좌 몬스터 말씀이라면 이미 내비에이전트로 움직이고 있는 몬스터라서 캐릭터 컨트롤러는 어울리지 않습니다. 새로 몬스터를 만든다고 하면 물론 적용됩니다. 이동 벡터만 Move() 함수에 잘 넣어주면 되겠습니다.
@naturalgreen91872 жыл бұрын
몬스터가 특정 구역안에 플레이어가 들어왔을때만 움직이고 구역 밖으로 못나가게 어떻게 하나요? 1~2시간동안 혼자 해보려고 했는데 C#을 배우지 않아서 전부 오류만 뜨고 실패했네요...
@goldmetal2 жыл бұрын
구역 매니저 하나가 필요합니다. 이 스크립트는 구역 내의 몬스터를 리스트 변수를 가지고 있구요. Trigger 콜라이더를 가지고 있고 플레이어가 들어가면 OnTriggerEnter 이벤트에 의해 자신이 가진 몬스터 리스트를 for each문으로 순회하면서 각 몬스터의 NavAgent의 target으로 플레이어를 지정해주면 됩니다.
@눈작-n5b Жыл бұрын
혹시 최종본 받아볼 수 있을까요??
@goldmetal Жыл бұрын
이메일 여기에 적어주시면 보내드리겠습니다.
@찹쌀떡-q1m2 жыл бұрын
NavMeshAgent 컴포넌트가 검색을 해도 나오지 않아요 ㅠ 버전은 현재 2022.2.0b13사용하고 있습니다.
@goldmetal2 жыл бұрын
Package Manager에서 위쪽에 In Project를 Unity Registry로 바꾼 뒤 Ai패키지 설치하시면 됩니다
@삼이-p8r4 жыл бұрын
골드메탈님 마지막 부분까지 잘 따라했다고 생각했는데 다 하고 실행을 해보니 적이 죽었는데도 넉백효과가 전혀 나타나지 않고 심지어 사라지지도 않습니다. NullReferenceException: Object reference not set to an instance of an object Enemy.ChaseStart () (at Assets/Script/Enemy.cs:33) NullReferenceException: Object reference not set to an instance of an object Enemy+d__16.MoveNext () (at Assets/Script/Enemy.cs:105) 오류 메시지는 이렇게 두 개가 떴는데 혹시 중간에 제가 스크립트를 짜다가 무슨 API 업데이트가 필요하다고 해서 승인을 했는데 그것때문은 아닌지 걱정이 되네요ㅠ 만약 그 문제가 맞다면 해결방법이 있을까요.? 그리고 다음 강의에서 공격을 구현했는데 데미지도 안 들어오고 모션도 안 취하네요. 이 null 에러 때문이겠죠? 적 A는 걷기모션도 안 나오고 적 B는 걷기는 나오는데 공격 데미지도 안 들어오고 모션을 안 취합니다
@goldmetal4 жыл бұрын
Enemy 스크립트의 33번째 줄의 변수가 비어있네요. 혹시 플레이어라면 인스펙터 창에서 플레이어 끌어놓아 넣어주세요. 105번줄도 마찬가지로 사용 중인 변수가 어떤건지 확인하고 추적해보셔야 합니다.
@JustLee-wn5zz3 жыл бұрын
현재 Scene의 모든 구성요소를 다른 Scene 에 붙여넣어서 Play 했을때, 에러가 발생합니다. 1. Enemy script -> Update() -> nav.SetDestination(target.position); "SetDestination" can only be called on an active agent that has been placed on a NavMesh. UnityEngine.AI.NavMeshAgent:SetDestination(Vector3) 2. Enemy script -> Update() -> nav.isStopped = !isChase; "Resume" can only be called on an active agent that has been placed on a NavMesh. UnityEngine.AI.NavMeshAgent:set_isStopped(Boolean) 어떻게 하면 에러를 고칠수 있을까요?
@goldmetal3 жыл бұрын
몬스터 오브젝트의 Y축이 0이 아닌지 확인해보세요. Y축이 0으로 바닥과 밀착해있어야 합니다.
@JustLee-wn5zz3 жыл бұрын
@@goldmetal 감사합니다. 새로운 Scene을 만들었기 때문에 Prefab에 있는 Enemy 전부다 다시 Navigation Bake 를 했어야 했네요
@노란망치-v3e2 жыл бұрын
골드메탈님, 질문이 있습니다. 적을 생성시켜서 잘 따라오는데, 적이랑 부딪치면 플레이어가 꽤 많이 뜨거나 밀리더라고요. 혹시 이건 어떤 문제인가요?
@goldmetal2 жыл бұрын
물리적으로 밀려서 리지드바디에 Velocity가 들어가서 그렇습니다. 플레이어의 리지드바디 Mass 값을 늘려서 무겁게 하면 상대적으로 밀리는 값을 줄일 수 있습니다. 몬스터의 Mass까지 줄이면 더욱 효과적입니다.
@비둘기-h8x3 жыл бұрын
enemy스크립트가 없는데... 제가 중간에 간의를 골라듣는거라 스크립트 작성하는 강의는 어디에 있는지 알수있을까요..? ㅠㅠ
@@goldmetal public class (파일이름) : MonoBehaviour { void Start() { float ranX = Random.Range(-4, 4); float ranZ = Random.Range(-4, 4); } } UnityException: RandomRangeInt is not allowed to be called from a MonoBehaviour constructor (or instance field initializer), call it in Awake or Start instead. Called from MonoBehaviour 'NewBehaviourScript' on game object 'Cube'. See "Script Serialization" page in the Unity Manual for further details. 랜덤 부분에서 자꾸 오류가 뜹니다 ㅠㅠ.. Start 밖에다 선언해도 위에 같은 오류문 발생하는대 해결 방법 아시는지..
@goldmetal3 жыл бұрын
@@DDoogie 스크립트 파일을 새로 만드시고 다시 Start 안에 로직 작성해보시는 것이 좋겠습니다.
@qtaro53023 жыл бұрын
궁금한게 있는데 왜 애니메이터 컨트롤러를 플레이어나 적 오브젝트 최상단에 안 두고 그 자식인 메시 오브젝트에 넣는 건가요?
@goldmetal3 жыл бұрын
애니메이션이 만들어질 떄 구조를 그대로 따라가기 위함입니다. 더 부모에다 애니메이터를 두면 매쉬가 들어있는 자식 오브젝트를 인식하지 못해서 애니메이션이 제대로 작동하지 않게 된답니다.
@qtaro53023 жыл бұрын
@@goldmetal 그렇군요
@nowons1003 жыл бұрын
윈도우에서 navigation을 켜고 Bake에서 bake를 눌렀는데 왜 아무 반응이 없을까요?
@nowons1003 жыл бұрын
해결했습니다. 바닥과 벽에 static 체크가 안되어 있었네요. ㅋ
@가물치-x5z2 жыл бұрын
enemy 맨 위에 객체에다가 집어넣었더니 아무것도 안돼가지고 메시오브젝트에 넣어서 하고 있는데 이거 괜찮은건가요..? 그리고 얼굴을 박고 기어다닙니다 몬스터가 ㅜㅜ 왜그런지 모르겠어요..도와주세요..
@goldmetal2 жыл бұрын
애니메이터는 Mesh Object에 추가하는 것이 맞습니다. 다만 스크립트와 다른 컴포넌트는 그 위의 부모 오브젝트에 해주셔야 해요.
@가물치-x5z2 жыл бұрын
@@goldmetal 감사합니다!
@김태영-s2w11 ай бұрын
골든메탈님 플레이어가 몬스터에게 가까이 다가갈때 통과가 되는데 해결방법이 있을까요?
@goldmetal11 ай бұрын
몬스터에게도 콜라이더가 있는지 확인해주세요.
@김태영-s2w11 ай бұрын
@@goldmetal 그 박스 콜라이더가 있는데 이게 어.. 몬스터에게 가까이 다가가면 음 뭔가 밀쳐내는 느낌이 있으면서 또잉하게 통과 되여 완전히 그양 부딫히게 하고 싶은데 어떻게 해야 할지 몰르겠네요.
@goldmetal11 ай бұрын
@@김태영-s2w 플레이어가 방향키에 의해 이동 중인데 부딧치면 통과될 수도 있긴합니다. 그래서 플레이어 이동이 지금은 transform 이동이지만 이것을 rigidbody 이동을 바꾸면 이런 물리 문제를 해결할 수 있습니다. FixedUpdate 에서 rigidbody.velocity = new Vector3(h,0, z) * speed * Time.deltaTime; 이런 식으로 가능합니다.
유닛 넉백 문제부터 몹 AI가 주변을 빙빙 도는 것 전부 다 삭제하고 다시 만들어보니, 해결 되었습니다. 가끔 이런 일이 있나요??
@goldmetal3 жыл бұрын
속도가 회전속도보다 빨라서 플레이어 위치로 접근하지 못하면 발생하는 문제입니다. NavAgent에서 Angle Speed를 높이거나 이동속도를 줄이면 좀 덜할거에요
@user-uw9lf4xw4l2 жыл бұрын
enemy의 속도가 너무 느린데 빠르게 할 수 있는 방법이 있나요? 그리고 enemy가 조금만 따라오다가 멈추는데 어디가 문제인가요ㅜㅠ 감사합니다
@goldmetal2 жыл бұрын
Nav Agent의 Speed를 늘려주세요. 조금만 따라가다 멈추는건 플레이어를 찾는 Ray의 범위가 너무 넓어서 그렇습니다. 폭과 길이를 작게 줄여보세요.
@pw6246 Жыл бұрын
안녕하세요 골드메탈님! 보면서 공부하는 유저입니다! 한가지 질문이 있어서 남깁니다! 적의 반경안에 플레이어가 들어갔을때만 움직이게 설정을 했는데, 반경 밖으로 나가게되면 쫓아가진 않지만 적의 움직이는 애니메이션이 멈추질 않네요ㅜㅜ 어떻게 수정해야 할까요?ㅠㅠ
@goldmetal Жыл бұрын
애니메이터에서 정시 상태로 돌아오는 화살표의 Condition 확인해보셔야 겠습니다.
@pw6246 Жыл бұрын
@@goldmetal 화살표를 walk -> idle , 로 넘어갈때 isWalk의 bool값을 false로 설정을 하였고 코드에도 anim.Setbool("isWalk", false) 로 바꾸었는데도 계속 움직입니다ㅠㅠ
@goldmetal Жыл бұрын
@@pw6246 왜 돌아오는지 애니메이터에서 파라메터 값 확인해보셨을까요? Idle -> Walk 의 Condition도 확인해주세요.
@telun_project4 жыл бұрын
안녕하세요.
@상민아재3 жыл бұрын
프리즈벨로시티까지 코딩작업을 했는데 몬스터가 캐릭터로 다가올때 캐릭터가 밀리면서 뱅뱅돌아서 캐릭터 캡슐콜라이더 in trigger체크를 하니 수정이 되었는데 몬스터와 캐릭터가 너무 붙어있는데 콜라이더를 키워봐도 간격이 너무 붙어있어요. 이럴때는 어떤 부분을 수정해주어야 할까요?
@goldmetal3 жыл бұрын
둘 다 리지드바디 포함하고 있는지 확인해보세요.
@상민아재3 жыл бұрын
@@goldmetal 둘다 리지드바디가 설정되어있어요~
@goldmetal3 жыл бұрын
@@상민아재 캐릭터가 몬스터에 밀리는건 캐릭터 리지드바디가 너무 가벼워서 그렇습니다. 몬스터의 리지드바디의 Mass를 더 작게 주어 못 밀게 하거나 반대로 플레이어 Mass를 늘려 무겁게 해도 됩니다. 다만 플레이어 것을 건들이면 그만큼 점프력도 낮아지니 점프파워도 수정해주셔야 해요
@고수찬-j5w4 жыл бұрын
골드메탈님 2 d 에서 filp 써서 한 방향 애니메이션 만 만들고 회전 시키던데 그거는 어떻게 하는건가요
적을 만들어서 써야하나요;; 게임만드는 중인데 적이 없어서 만들려고 보고있는데 적이 없어서 만들고 있어요!!(있으면 다운 링크좀.............)
@goldmetal3 жыл бұрын
제가 배포해드리고 있는 에셋에 다 들어가 있습니다. Prefabs 폴더 확인해보세요
@oopp213 жыл бұрын
NullReferenceException: Object reference not set to an instance of an object Enemy.Awake () 애니메이션 오류 인거 같은대 animator.GetComponentsInChildren(); 해줘도 여기가 계속 문제라고 뜨네요
@goldmetal3 жыл бұрын
그 메세지 마우스 더블클릭 하시면 에러난 위치로 안내해줍니다. 그 줄에서 사용한 변수가 비어있다는 이야기이니까 초기화를 하지 않았다는 등 확인이 필요하겠습니다.
골드메탈 선생님 제가 일점 범위에 가까워지면 몬스터가 플레이어를 추격하도록 몬스터에 커다란 엠티 콜라이더를 달고 온트리거를 사용해서 구현을 했는데요, 이러면 몬스터가 총알 맞는걸 구현하는게 어려워 질까요..? ㅜㅜ
@goldmetal2 жыл бұрын
콜라이더로 플레이어 감지하는 것 대신 Physics.SphereCast 를 사용하시는 것을 추천드립니다. docs.unity3d.com/ScriptReference/Physics.SphereCast.html wergia.tistory.com/102
@가물치-x5z2 жыл бұрын
@@goldmetal 하지만 spherecast는 구체모양 광선을 쏘는것 아닌가요? 몬스터 중심을 구체로 하고 싶은데 spherecastall하면 또 리턴값이 배열이여서 bool값으로 판단 할 수가 없습니다..
@goldmetal2 жыл бұрын
@@가물치-x5z 1. 쏘는 거리를 0으로 하면 자기 중심의 구체가 됩니다. 2. All이 아닌 그냥 cast를 사용하시면 단일로 오기 때문에 이후 rayhit에서 collider가 있나없나 판단으로 bool을 대신할 수 있습니다.
@가물치-x5z2 жыл бұрын
@@goldmetal 안녕하세요 답변하나하나 정말 감사합니다...ㅜㅜ RaycastHit hit;//업데이트 밖 if(Physics.SphereCast(transform.position, 1000.0f, transform.forward,out hit, 0)) {chase();} 업데이트 안에 이렇게 했는데 에러는 안뜨는데 플레이어가 가까이 가도 추격이 개시가 되질 않습니다....잘못 될 이유가 생각이 안납니다...제가 뭔가 잘못 설정한것일까요..?
@goldmetal2 жыл бұрын
@@가물치-x5z hit를 사용하셔야 합니다. if (hit.collider != null) { chase(hit.collider.tranaform); } hit 상대방이 곧 플레이어니까 추적하기 위해 트랜스폼을 넘겨주시고 네비에이전트에 적용하면 추적하겠습니다. 그리고 플레이어만 감지해야하니 cast에 플레이어에 해당하느 레이어마스크도 추가해주시면 좋아요
@dk8557 Жыл бұрын
안녕하세요. 혹시 작성하신 코드 샘플 다운받을수있을까요?
@goldmetal Жыл бұрын
지금 이 강좌 내용만을 위한 코드는 없지만 최종 완성본은 보내드릴 수 있습니다. 메일 적어주시면 보내드리겠습니다.
@Oniijung Жыл бұрын
enemy 스크립트는 어디서 다 볼수있나요ㅜㅜ
@goldmetal Жыл бұрын
이메일 주소 적어주시면 최종본 보내드리겠습니다.
@컴퓨터-l6g3 жыл бұрын
2D에서는 어떡하죠... 2D 탑뷰형 게임에서 적이 플레이어를 따라오면 좋겠는데 스크립트 어떻게 하는지 알려주실 수 있나요
@goldmetal3 жыл бұрын
공식적으로는 없고 외부 에셋으로 구현하셔야 합니다. 찾아보니 무료 에셋패키지가 있어서 공유해드립니다. github.com/h8man/NavMeshPlus
@컴퓨터-l6g3 жыл бұрын
@@goldmetal오! 정말 감사합니다!
@이용준-o6b4 жыл бұрын
골드메탈님 총알스피드를 너무 빠르게 설정하면 콜라이더에 충돌이 발생하지 않는데 해결방법이 있나요?? 그냥 총알이 적을 통과해버려요 속도를 낮추면 잘맞는데
@goldmetal4 жыл бұрын
몬스터 리지드바디의 Collision Detection을 Continus로 바꾸어보세요
@이용준-o6b4 жыл бұрын
@@goldmetal Continus로 바꿔도 비슷하네요 ㅠㅠ 사양문제인가요??
@goldmetal4 жыл бұрын
@@이용준-o6b 총알 리지드바디에 Continus 해보세요
@이용준-o6b4 жыл бұрын
@@goldmetal 감사함니다. 전보다는 괜찮아졌네요
@5921-d1g Жыл бұрын
에너미 스크립트를 따로 다운받을 수 있을까요?
@goldmetal Жыл бұрын
지금 이 부분만은 아니지만 완성된 스크립트는 있습니다. 메일 적어주시면 보내드리겠습니다.
@Nheung-bs9cy Жыл бұрын
안녕하세요, ai navigation패키지를 실행하려 하니까 experimental이라면서 되지 않습니다. 이런경우 어떻게 해야하나요?
@Nheung-bs9cy Жыл бұрын
Clear을 눌러도 6:48처럼 바닥이 변하지 않습니다ㅡㅜ
@goldmetal Жыл бұрын
혹시 지금 실행중인 에디터 버전이 어떻게 될까요? 가급적이면 안정적인 2021.3 LTS 혹은 2022.2 추천 드립니다.
적군이랑 비비면서 리지드바디 velocity 값이 생겨서 그렇습니다. FixedUpdate에서 rigid.velocity = new Vector3(0, rigid.velocity.y, 0); 한번 추가해보세요
@풍각이3 жыл бұрын
목소리가 조금 작아요 나만 일수도
@김찬영-s9n4 жыл бұрын
저 궁금한게있는데 나비메쉬에이젼트에 콜라이더있잖아요 그거 조절못하나요? 위아래로만되지 마음대로 조절이안되네요
@goldmetal4 жыл бұрын
내비 에이전트 반지름을 줄이면 콜라이더 크기가 작아집니다. Navigation 탭을 확인해보세요
@김찬영-s9n4 жыл бұрын
@@goldmetal 지식인에 질문한건데 한번 봐주실수있나여.. 이게 애매해가지고 아니면 bake를 다시해봐야하나요 m.kin.naver.com/mobile/qna/detail.nhn?d1Id=1&dirId=10403&docId=372882771
@goldmetal4 жыл бұрын
@@김찬영-s9n docs.unity3d.com/kr/2018.4/Manual/nav-CreateNavMeshAgent.html Nav Agent 컴포넌트에서 Radius와 Height로 조절하실 수 있습니다. 스크린샷으로 보아하니 Height가 높은 모양입니다.
@김찬영-s9n4 жыл бұрын
@@goldmetal 감사합니다 이따집에가서 확인하겠습니다!!
@goldmetal4 жыл бұрын
@@김찬영-s9n 확실하게 알아본 결과 NavAgent의 Base Offset에 마이너스 값을 넣어주시면 아래로 내려갑니다. 위로 뜬 이유는 Bake된 NavMesh가 지형보다 위에 떠 있어서 그렇네요.
@AwSoMeFactOry4 жыл бұрын
Bake 하다가 scene 에 있는것들이 않보여요 Layers 확인도 해봣어요 사진 참고 drive.google.com/file/d/1AJdMh1zbbBRAGiYbM35_iNHPd8C1uGXg/view?usp=sharing
@goldmetal4 жыл бұрын
Scene 창 꺼두시고 Window > Generals > Scene으로 다시 켜보세요. 하이어라키의 플레이어를 두번 클릭해서 확대해보는 것도 좋겠습니다.
@AwSoMeFactOry4 жыл бұрын
@@goldmetal scene 에있는 툴바 보면 눈알모양 아이콘 누르니까 돌아오네요
@김민석-f3g6b Жыл бұрын
navmeshagent가 있는 몬스터를 다른 씬에서 프리팹을 불러오면 동작하지 못하는데 왜그런걸까요?
@goldmetal Жыл бұрын
다른 씬에서도 에이전트가 돌아다닐 수 있도록 NavMesh를 Bake해주셔야합니다. Window > AI > Navigation 창을여셔서 Bake해주세요. 지형이되는 오브젝트는 Static 으로 지정해주셔야 됩니다.
@김민석-f3g6b Жыл бұрын
@@goldmetal static을 안했었네요 감사합니당
@내-p3z3 жыл бұрын
적이 다가오는 속도를 정하는건 어케 하면 좋나요?
@goldmetal3 жыл бұрын
인스펙터에서 NavAgent 의 Speed로 조절하실 수 있습니다.
@_kimDaeSeong_4 жыл бұрын
2D에서도 네비메시에이전트가 가능한가요?
@goldmetal4 жыл бұрын
2D전용 NavMesh는 에셋 또는 외부 플러그인으로 만들 수 있는 것 같네요. 길을 찾는 기능은 NavMesh 말고도 A* 라는 것이 있는데, 2D에서 많이 쓰이는 기법입니다. 아래 영상 링크로 공유해드릴께요 kzbin.info/www/bejne/oKfXd4icf5t2hpo
@_kimDaeSeong_4 жыл бұрын
@@goldmetal 그러면 특정태그의 오브젝트가 자신에게 몇개가 충돌되어있는지 알수있는 방법은 없을까요
@goldmetal4 жыл бұрын
@@_kimDaeSeong_ B47 챕터4에서 다룬 SphereCastAll() 함수를 사용하면 됩니다. kzbin.info/www/bejne/fKqtioqIftZjidU
@_kimDaeSeong_4 жыл бұрын
@@goldmetal 감사합니다
@아아아아아아아아-q6g4 жыл бұрын
음 뭐라는건지 모르겠군! 흠..영어공부 열심히 해야겠ㄷ
@goldmetal4 жыл бұрын
NavAgent는 자동차, .SetDestination()은 목적지 정해주기 함수이구요. NavMesh는 자동차가 다닐 수 있는 면 (지형)이라 보시면 될 것 같네요.
@아아아아아아아아-q6g4 жыл бұрын
@@goldmetal 엌 별거 아닌것도 이렇게 답변을 달아주시네욬ㅋㅋ 대단하십니다
@l_i_nk4 жыл бұрын
혹시 ai가 플레이어 근처에 있을때 공격하는영상도 해주실수있나요 ㅠㅠ
@goldmetal4 жыл бұрын
이 다음 영상이 그 내용입니다.
@l_i_nk4 жыл бұрын
@@goldmetal 그렇군요 감사합니다!
@l_i_nk4 жыл бұрын
@@goldmetal 혹시 enemy 스크립트 처음 만들기시작하는 영상이 어떤거인가요?
@goldmetal4 жыл бұрын
@@l_i_nk B46 피격 이벤트 만들기 입니다
@l_i_nk4 жыл бұрын
@@goldmetal 혹시 대학교 졸업작품을 만드는중인데 몬스터 에셋을 사용해도 괜찮을까요?
@가1-f9c3 жыл бұрын
적이 공중에 떠다녀요ㅠㅠ
@가1-f9c3 жыл бұрын
bake 를 다시하니 되네요.
@채팅봇-h5b4 жыл бұрын
저 괴물 어디서 많이 봤는데;;
@goldmetal4 жыл бұрын
2016년에 진행된 블로그 강좌에서 나온 디자인인데, 워낙 무난한 이미지라 그런 느낌이 드실 수도 있을 것 같네요. blog.naver.com/gold_metal/220888554348
@nana_04273 жыл бұрын
땅큐!
@inro45683 жыл бұрын
522
@better-programmer4 жыл бұрын
어,.......꼬투리잡는건 아니지만 저것은 AI가 아닌데요.... 로봇이 그냥 따라가는거지 AI의 개념이 들어있지 않습니다 저것은 그냥 네비게이션입니다 많은 분들이 헷갈리싨 있지만 네비게이션시스템과 AI는 아무 상관습니다 AI는 제 원장님이 하시는 유튜브 영상을 봐주세요 kzbin.info/door/hrqR8dYU7lhjl5LPi1PQ7Q 입니다 8, 9회차 봐주세요 말이 없긴 하지만.....
@goldmetal4 жыл бұрын
여기서 말하는 AI는 딥러닝 인공지능 같은 고도의 로직이 아닌 포괄적인 AI를 말하는 겁니다. 네비게이션 에이전트는 설정된 목표물을 효과적으로 추적하기 위해 자체적으로 이동 루트를 계산하므로 이 또한 AI 범주에 속합니다. 그래서 유니티 Window > AI 메뉴에 가면 Navigation이 있답니다.
@이재우-p6y4i2 жыл бұрын
UnassignedReferenceException: The variable target of Enemy has not been assigned. You probably need to assign the target variable of the Enemy script in the inspector. UnityEngine.Transform.get_position () (at :0) Enemy.Update () (at Assets/Scripts/Enemy.cs:54) 플레이하는데에는 문제가 없지만 자꾸 저 오류가 뜨는데 이해가 안됩니다
@goldmetal2 жыл бұрын
enemy 54번줄에 사용한 변수가 잘못된 것이라고 합니다. 한번 살펴보시고 정모르시겠다면 54번줄을 여기에 붙여주세요