SendBufferHelper를 TLS로 구현을 해서 각 쓰레드가 고유한 SendBuffer인스턴스를 갖게 되는데 ArraySegment<byte> openSegment = SendBufferHelper.Open(4096); byte[] buffer = BitConverter.GetBytes(knight.hp); byte[] buffer2 = BitConverter.GetBytes(knight.attack); Array.Copy(buffer, 0, openSegment.Array, openSegment.Offset, buffer.Length); Array.Copy(buffer2, 0, openSegment.Array, openSegment.Offset + buffer.Length, buffer2.Length); ArraySegment<byte> sendBuff = SendBufferHelper.Close(buffer.Length + buffer2.Length); Send(sendBuff); 그럼 이부분에서 A라는 쓰레드가 Open과 Close를 통해 고유한 SendBuffer의 buffer에 정보(패킷)를 저장을 하게되고 그 정보를 Send하게 되고 그걸 sendQueue에 그냥 저장만 한 상태라고 가정을 해보겠습니다. 또 B라는 쓰레드도 위 과정을 해서 Queue에 저장을 하게된다고 하겠습니다. 여기서 궁금한게 일단 A 와 B가 Send를 한 그 정보는 각 쓰레드가 고유한 _buffer에 저장된 정보이고 만약 다른쓰레드가 큐에저장된 값을 보낸다고 할때 ArraySegment는 원본을 참조하니까 A와 B의 고유한 인스턴스에 접근을 해야하는거 아닌가요..? ArraySegment가 원본을 [참조] 하니까 접근을 하지만 [읽기만] 하기때문에 괜찮다. 이렇게 이해를 하면되는건지 아니면 제가 잘못이해하고있는건지 궁급합니다.
Vector2.right에 -speed 곱하는거말고 Vector2.left를 사용하면 안되는 건가요?? 그리고 코드를 /똑같이 작성했는데도 불구하고 에너미가 스폰되고 우리팀 본진에 충돌했을시 공격애니메이션이 최초 1회밖에 실행이 안됩니다 반복이 안되고 처음 충돌하고 최초 1회 실행되고 그다음부터는 그냥 아이들모션으로 멈추네요 왜이러는거죠ㅠㅠ
강사님~ 너무 재밌게 강의를 듣고 있습니다. 궁금한게 하나 있는데 섹션 6번에서 '스파크 이펙트 표현' 강의를 완강 후 'Audio 기초 사용법' 강의로 넘어갔는데 오디오 파일이 없어서... 혹시 오디오 리소스는 어디서 다운 받을 수 있을까요? 혹시나 제가 수업자료를 놓친건가 싶어서 앞 강의를 다시 돌려봤는데 어디서 받아야하는지 잘 모르겠습니다.
안녕하세요. 혹시 캐릭터의 위치를 서로 바꿀때 클라이언트의 서버 스포너위치에 옮겨질 캐릭터의 잔상이 남는데 무엇이 문제인가요? hero쪽에 if (IsServer) transform.parent = target.transform; 이 구문을 빼면 잔상이 없어지긴 합니다.
Debug.Log를 찍어본 결과, Physics.Raycast(eyeTransform.position, direction, out RaycastHit hit, viewDistance, whatIsTarget) 위 코드의 반환값이 false라는 것을 알아냈어요. 플레이어 캐릭터가 좀비 앞에서 아무리 알짱거려도 진짜 코앞까지 얼굴을 들이미는 게 아니면 계속 false가 떠요. 이상하게도 얼굴을 들이밀면 true가 떠요. 딱히 viewDistance 같은 걸 조절한 게 아니라서 거리 문제는 아닌 것 같은데, 왜 레이캐스트가 자꾸 false가 뜨는 걸까요? 이해가 안 돼요... ㅠㅠ
선생님의 코드를 다 마치고 몬스터를 스폰하는 테스트를 하는 중에 위와 같은 오류가 떠서 이게 뭐지 하고 있는데 Knight 프리팹으로 가서 NavMeshAgent를 추가하고 테스트를 하니 정상적으로 몬스터가 스폰이 되어서 나왔습니다. 아마도 NavMeshAgent 를 사용한 이동 방식이 문제인거 같은데... 혹시 저와 같은 문제를 겪고 계신 분들은 이렇게 하면 해결이 되는구나.. 하고 조심스레 올려 봅니다.
그 처음 스워드맨 애니메이션 만들때 스워드맨idle은 스프라이트 클릭해서 이미지를 추가시켰는데 왜 스워드맨 어택모션은 추가시키지말고 드래그해서 아는지 다시 한번 설명해주실 수 있나요?? 이해가 잘 안되서요 그리고 스워드맨 idle처음 생성할때 왜 마지막 점포인트는 삭제하는지 알 수 있을까요
안녕하세요 저는 몬스터가 캐릭터를 때릴때 미끄러져서 캐릭터에 딱 붙는 현상이 있어서 그걸 해결 하고 내용을 공유 드릴려고 글을 씁니다. NavMeshAgent 를 쓰시는 분들에 한해서 인데요 https://onecoke.tistory.com/entry/Unity3D-NavMeshAgent-%EB%AF%B8%EB%81%84%EB%9F%AC%EC%A7%90-or-%EC%88%9C%EA%B0%84%EC%9D%B4%EB%8F%99-%ED%98%84%EC%83%81 위 링크 분이 해결하신 분인데 NavMeshAgent 내에 Velocity 값이 존재 해서 velocity 가 zero 가 될때까지 미끄러 진다고 하네요 해결은 MonsterController 에서 UpdataSkill 내에 NavMeshAgent 의 값을 Vector3.zero 로 넣어주니까 몬스터의 미끄러지는 부분이 해결 됐습니다. NavMeshAgent가 문제가 많네요.. 강의 올려주신 Rookiss 선생님 항상 건강하시고 새해 복 많이 받으세요
안녕하세요 선생님 강좌 너무 잘 듣고 있습니다. 다름이 아니라 13:40초에 캐릭터와 몬스터가 서로 충돌해서 밀리는 현상을 설명 해주신대로 NavMeshAgent 를 삭제하고 일반적인 이동 방식으로 수정해서 잘 사용하고 있습니다. 근데 혹시 NavMeshAgent 를 나는 꼭 써서 해야돼 라고 생각 하시는 분들은 구글을 찾아 봤는데 NavMeshAgent nma = gameObject.GetOrAddComponent<NavMeshAgent>(); // nma 로 NavMeshAgent 를 불러와서 nma.obstacleAvoidanceType = ObstacleAvoidanceType.NoObstacleAvoidance; // obstacleAvoidanceType 을 NoObstacleAvoiddance 로 교체를 해주면 네브메쉬를 가지고 있어도 서로 충돌하지는 않는거 같습니다. 혹시 저처럼 궁금한 분들이 있을까봐 남깁니다. 선생님 날씨가 추운데 감기 조심하시고 강의 더 집중해서 듣겠습니다.
Title 씬 프리팹 관련 질문이 있습니다. Q1. 타이틀 프리팹에 별도의 UI만 보여주는 카메라를 만든 이유가 무엇인가요? (main 카메라가 아닌 별도의 카메라를 만들고 또 그것을 프리팹에 넣은 이유) Q2. Title의 경우 프리팹에 캔버스까지 있습니다. 궁금한 것은 InGame에서 각각 UI들도 프리팹으로 만들텐데, 다 이렇게 개별 UI 프리팹마다 캔버스를 만드는 것이 좋은가요? (프리팹 안에 캔버스를 넣는 이유와, 주의해야 할 사항) * ) 제가 예전에 작업을 할 때, 큰 UI 캔버스 만들고 하위로 캔버스를 가진 UI프리팹들을 넣으니까, 가끔 프리팹 창에서 수정할 때 UI들이 화면에 보이지 않았던 경험이 있어서 질문드립니다! 좋은 강의 감사합니다 🙂 남은 강의도 잘 챙겨 보겠습니다!