헤매던 부분들- line renderer,공 벽튀기기

jh Seo·2024년 4월 4일
0

헤매던 부분들

목록 보기
6/7
  1. line renderer에서 공격 범위 보여주는 부분을 표시하려고 선을 그렸는 데,
    선이 중간부분만 표시가 되고 앞과 뒤가 안보였다.
    이상해서 계속 변경해보고 뒤져봤으나 모르겠어서 한참을 고민했다.

    그냥 line renderer의 material문제였다.
    texture을 이상한걸 사용했더니 선이 군데군데 투명하게 나온 것이였다.

  2. 공이 이런식으로

    rigid.velocity = newDir.normalized*moveSpeed;

    자동으로 움직이고,

       private void OnCollisionEnter2D(Collision2D collision)
       {
           if (collision.transform.CompareTag("Wall") || collision.transform.CompareTag("Ground") || collision.transform.CompareTag("Border"))
           {
               bounceCnt--;
               if (bounceCnt > 0)
               {
                   newDir = Vector2.Reflect(newDir, collision.contacts[0].normal);
                   rigid.velocity = newDir.normalized * moveSpeed;
               }
               else
                   gameObject.SetActive(false);
           }
       }

    vector3.reflect함수를 통해 벽에 닿았을 때 일정 각도만큼 꺾여서 진행하도록 코드를 짰다.

    문제는 플레이어에 닿았을때 데미지주는 부분이 작동을 하지않았다..
    땅이나 벽에 닿았을 때는 잘 log가 찍히면서, 플레이어만 닿으면 log가 안 찍혔다..

    정말 이 문서 저 문서 찾아보고 로그 온갖곳에 다 적어봤는데
    rigidbody체크도 다시하고 별 짓을 다 했다

    그러던 중 layer collision matrix에서 enemy와 player을 충돌 안하도록 적은게 떠올랐다..

    설마하고 봤더니 공에 enemy레이어가 달려서 충돌이 안한 것이였다..

profile
코딩 창고!

0개의 댓글