2D 배경 스크롤 2D Infinite Parallax Background

Поделиться
HTML-код
  • Опубликовано: 29 дек 2024

Комментарии • 19

  • @테이-q6z
    @테이-q6z 2 года назад +2

    2D 에서 절때 빠질수 없는 무한 배경
    강의로 해주셔서 정말 감사합니다.

    • @unitynote
      @unitynote  2 года назад

      항상 영상 시청과 댓글 감사합니다^^

  • @송주-s7e
    @송주-s7e Год назад

    좋은강의 감사합니다. 9:54초 쯤에 material.SetTextureOffset("_MainTex",Vector2.right*moveSpeed*Time.time); 부분에서 *Time.deltaTime을 하면 안되는 이유를 알수있을까요?

    • @unitynote
      @unitynote  Год назад +1

      저 Offset 값이 계속 증가하면서 이미지가 스크롤되는 방식인데 Time.deltaTime은 업데이트 사이의 시간으로 만약 1초에 60번 업데이트가 호출된다면(FPS 60) 0.012의 값으로 Offset의 위치가 거의 변동이 없을겁니다. FPS가 60이 아니더라도 거의 비슷한 값에서 머무르기 때문에 스크롤이 되지 않고 특정 부분을 출력하는 형태가 됩니다.
      Time.time은 현재 시간을 나타내기 때문에 계속 증가하니 현재와 같은 상황에 사용하기 좋은 값입니다.
      만약 Time.deltaTime을 활용하고 싶다면
      별도의 변수를 만들고 private float time = 0;
      Update() 메소드 내부에서 time += Time.deltaTime; 과 같이 한 줄 더 추가하고
      Vector2.right * moveSpeed * time 과 같은 형태로 호출하면 됩니다.
      핵심은 스크롤하고 싶은 만큼 값이 증가해야 한다! 입니다.

    • @송주-s7e
      @송주-s7e Год назад

      @@unitynote자세한 답변 감사합니다.

  • @김성덕-y8r
    @김성덕-y8r Год назад

    유용한 강의 감사드립니다!

  • @부계쓰-q3v
    @부계쓰-q3v Год назад

    저 혹시.. ruclips.net/video/M4tqkknaG-Y/видео.html 여기에서 24:10 보시면 배경이 캐릭터의 Y좌표에 따라 딸려오는거같은데 이거는 어떻게 하는건지 아시나요?

    • @unitynote
      @unitynote  Год назад

      바로 바꿀 때는 그냥 카메라 or 플레이어의 y 좌표를 배경에 적용하면 되고,
      영상처럼 천천히 따라올 때는 별도의 SmoothMove와 같은 기능을 구현하면 됩니다.
      플레이어 이동 후 일정 시간 이후부터 코루틴을 이용해 호출하거나 하는 방법이 있습니다.

  • @암꺼나용
    @암꺼나용 Год назад

    두 레이어의 간격을 40으로 지정하신 이유는 무엇일까요?
    참고로 이제 공부시작한 초짜인데 position X=40 을 다른 이미지를 만들거나 할때는 얼만큼 정확한 계산 방법이 궁금해서 여쭤봅니다
    다른 프로젝트할때나 모바일화면같이 달라지는 화면에도 두 배경의 간격을 정확하게 알수 있는 방법이 궁금해서요
    이미지 크기는 얼마정도 크기로 만들어야하는지? 두 배경의 간격은 정확하게 어느정도인지 계산방법이요

    • @unitynote
      @unitynote  Год назад +1

      유니티 2D 게임의 경우 SpriteRenderer를 이용해 화면에 2D 이미지를 출력할 때 원본 이미지 Pixel 크기 대비 이미지의 Pixels Per Unit(이미지 선택하면 Inspector View에서 확인 가능)에 따라 크기가 달라집니다.
      이미지 크기와 Pixels Per Unit 값에 따라 화면 전체에 배치되는 오브젝트의 Scale 값이 달라지는거라 40으로 정한 이유가 따로 있는게 아닙니다. 그 크기가 화면에 다 들어오는 크기이기 때문입니다.
      월드에 배치되는(배경, 캐릭터와 같은) 오브젝트의 경우 카메라가 비추는 영역에 따라 화면에 출력되는 크기가 다르기 때문에 화면 크기가 달라져도 상관없습니다.
      UI의 경우는 모바일 해상도에 대응할 수 있도록 제작해야 합니다.

    • @암꺼나용
      @암꺼나용 Год назад

      예를 들어 지금 프로젝트 이미지가 40이 아니라 39.8이어야 딱 맞고 40일때 눈으로 판단하기 힘들지만 실선같은게 나올수있을듯해서요
      제가 다른 프로젝트를 만들때 이미지를 만들었는데 간격을 잘못 지정하니 실선이 보여서요
      애초에 배경이미지를 만들때 어느정도 사이즈로하면 좋고 이미지에따라 중간 실선만큼의 여백도 없이 이어지는 간격을 얼만큼으로해야 좋을지 계산방법이 궁금해서 여쭸어요
      현 프로젝트의 경우 41.1이었나? 그정도하면 실선이 보이는듯하더라구요
      그 커트라인을 저같은 초보도 만든 이미지를 가지고 정확하게 계산할수 있나 싶어서요

  • @hakanmese6981
    @hakanmese6981 Год назад

    yoo my bro, you did great job respect! , really thank you for this, type01 and type02 is worked well but i couldnt make it work that final script and trying to figure it out why and still couldn't fix it since couple of days.
    I don't know japanese maybe i miss something you say into video, please help me because i really need your help, i did 6/7 scripts but all of them caused jittering/lag/scroll jumping, your video gave me hope again :D
    I believe you can help me !

    • @unitynote
      @unitynote  Год назад

      My English writing skills are not good.. so I uploading the project link..
      I'm sorry for not being of much help..
      drive.google.com/file/d/1JmeB6-VMN10Da1oh1Wu0OJz_pK_ldIPJ/view?usp=sharing

    • @부계쓰-q3v
      @부계쓰-q3v Год назад

      It's not Language Japeness. Korean Right.

  • @jongyul1412
    @jongyul1412 2 года назад

    고박사님 벽에 다으면 오브젝트가 튕기게 하고 싶은데 어떻게 하면 좋을까요?

    • @unitynote
      @unitynote  2 года назад

      벽에 튕긴다는게 벽과 충돌했을 때 방향을 바꾸는 건가요?
      방향을 바꾸는건 이동방향을 *-1 하면 됩니다.
      아래 게임은 플레이어가 상하좌우 벽과 충돌했을 때 처리인데 참고삼아 링크 걸어둡니다.
      ruclips.net/video/D3IbIJeLyoU/видео.html&ab_channel=%EA%B3%A0%EB%B0%95%EC%82%AC%EC%9D%98%EC%9C%A0%EB%8B%88%ED%8B%B0%EB%85%B8%ED%8A%B8

  • @하이잉큥
    @하이잉큥 2 года назад

    와 감사합니다...

    • @unitynote
      @unitynote  2 года назад

      댓글 감사합니다^^