안녕하세요. 아래와 같이 강의를 따라 anim을 설정해주었는데요. obstacle과 충돌 후 IsHit가 활성화 되긴하는데 무한으로 계속 설정이 이뤄나서 empty 애니메이션으로 넘어가지를 못합니다. Hit 애니메이션의 Loop Time 옵션 또한 체크가 해제되어 있습니다. 사용하는 유니티 버전: Unity6 (6000.0.32f1) Animator anim; private void Start() { anim = GetComponent<Animator>(); } private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameGobject.tag == "obstacle") { anim.SetTrigger("IsHit"); } } 위 이미지와 같은 상태가 계속 반복됩니다. 혹시 의심되는 상황이 있을까요? ㅠ
에러가 발생하는 경우 public Dictionary<string, int> c = new Dictionary<string, int>(); c.Add("A", 5); 에러가 발생하지 않는 경우 public Dictionary<string, int> c = new Dictionary<string, int>(); private void Start() { c.Add("A", 5); } 왜 Start() 메서드 안에 있으면 에러가 발생하지 않고 dictionary 선언 후 바로 Add를 하면 에러가 발생하는지 궁금합니다.
b.Remove(3); // b리스트의 세 번째 값을 제거 안녕하세요! 위처럼 설명해주셨는데, 세 번째 값 제거는 세 번째 인덱스인덱스처럼 보여져 값이 3인 것을 제거하는 것으로 설명해주시는 것이 좀 더 명확한 설명이지 않나 싶어서 글 남깁니다. 직접 코드를 b.Remove(300);을 해보니 값이 300인 요소가 지워졌습니다.
Tilemap Collider 2D 를 사용할 경우 가끔가다 평지에서 캐릭터의 velocity 가 0이 아닌데도 멈추는 현상이 있는데요 캐릭터의 rigidbody contacts 값이 4일 때는 발생 안하고 6일 때, 그리고 속도가 느릴 때만 발생하는 것으로 보아 타일 사이에 껴서 못 움직이는 현상 같은데.. Box Collider 2D 를 사용하면 contacts 값이 항상 2로 유지되면서 이 현상이 없어지긴 하지만 근본적인 해결책은 아닌 것 같아서요 혹시 Tilemap Collider 2D 를 사용하면서 문제를 해결하는 방법이 있을까요? 사실 contacts 가 6이 된다고 못 움직이는 것도 이해가 안됩니다.. 그냥 타일 3개와 닿아 있다는 뜻 아닌가요?
새싹부터 시작하는 Unity 게임 개발 섹션3 2D게임 애니메이션 강의 시청 중 점프 애니메이션이 적용되지 않습니다. 유니티에서 transition은 아래와 같이 설정한 상태이고 코드는 강의와 똑같이 작성한 상태입니다. if (Input.GetKeyDown(KeyCode.Space) && isJump == false) { anim.SetTrigger("isJUMP"); isJump = true; anim.SetBool("isIDLE", false); anim.SetBool("isRUN", false); rigidbody.velocity = new Vector2(rigidbody.velocity.x, jumpPower); } if(rigidbody.velocity.y == 0f ) { isJump = false; } JUMP 애니메이션만 다시 재생해보면 점프하는 동작이 나오긴 합니다. 강의를 듣던 중 GetComponent<SpriteRenderer>().sprite = JumpSprite; 이런 코드가 있던데 저는 작성하지 않은 상태입니다 혹시 이 코드가 점프가 안 되는 이유 중 하나인지 질문 남깁니다.
강의 자체에서는 Scale 값을 음수로 변경해서 캐릭터의 방향을 전환했는데 혼자서 rotation 값으로 방향 전환을 해보려다 실패해서 질문 남깁니다. position : 오브젝트의 현재 위치 eulerAngles : 오브젝트의 회전 각도 localScale : 오브젝트의 크기 이 내용을 기반으로 if(Input.GetKey(KeyCode.RightArrow)) { transform.Translate(speed * Time.deltaTime, 0, 0); transform.eulerAngles= new Vector3(0f, 0f, 0f); } else if (Input.GetKey(KeyCode.LeftArrow)) { transform.Translate(-speed * Time.deltaTime, 0, 0); transform.eulerAngles= new Vector3(0f, 180f, 0f); } 코드를 이렇게 작성했는데 캐릭터 자체의 방향 전환만 되고 방향키대로 움직이지 않습니다. Rotation 값으로 캐릭터의 방향 전환을 하려면 어떻게 코드를 수정해야 할까요?
안녕하세요 강의 잘 보고 있습니다! 이번에 3D 강의 부분인데 이상하게 Material 색상이 안바뀌어서 질문 드립니다. Plane 오브젝트는 색상이 변경돼서 잘 작동하는데 Cube 오브젝트만 지금 Material 색상이 변하지 않고 있습니다 무슨 문제가 있는걸까요...?ㅜㅜ ㅜ
안녕하세요 강의 잘 듣고 있습니다! 이번에 Animation 편을 보는 와중 코드 한 부분이 추가 된게 보이는 데 제가 어디서 놓쳤는지 확인이 안돼서요ㅠㅠㅠ 혹시 이 코드 수정된 부분을 강의 어느 챕터에서 확인할 수 있을까요...? 애니메이션 편 6:59초 점프 키에 대한 코드입니다.. GetComponent<SpriteRenderer>().sprite = JumpSprite; 이 코드를 어떤 용도로 쓰인지에 대해 놓쳤어요오오ㅠㅠ
강의 듣고 활용 중에 도저히 스스로도 해결 못하겠는 부분이 생겨 질문합니다! Animator anim; <을 붙히지 않으면 the name 'anim' does not exist in the current context 오류가 발생하고 앞에 Animator anim;을 붙혀주면 NullReferenceException: Object reference not set to an instance of an object 오류가 발생합니다 해결 방법을 꼭 알고 싶습니다 ㅠㅠ anim.SetBool을 지워주면 정상적으로 작동하는 것으로 보아 위 코드가 문제는 맞는 것 같습니다
사진처럼 Pixel Perfect Camera만 나오고 Square가 안나오는데 어떻게 해야 하나요? 학습에 관련된 상세한 질문을 남겨주세요 🙂 그 외에도 여러분들이 자체적으로 게임을 개발하면서 생긴 여러 오류들도 남겨주신다면 제가 아는 선에서 최대한 답변드리겠습니다 ! 😃