lucar 님의 블로그

고정 헤더 영역

글 제목

메뉴 레이어

lucar 님의 블로그

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (87)
    • 스파르타 코딩캠프 (64)
      • '24 Today I Learned (56)
    • 블렌더 3D 모델링 (4)
      • Today I Learned (4)
    • Python (4)
      • Today I Learned (4)
    • C (2)
      • Today I Learned (2)
    • Kotlin (2)
      • Today I Learned (2)
    • 기술면접 (0)
    • C# (2)
      • ASP.NET (2)

검색 레이어

lucar 님의 블로그

검색 영역

컨텐츠 검색

전체 글

  • 1025 TIL - 오브젝트 풀을 활용한 효과음 구현

    2024.10.25 by lucar

  • 1017 TIL - 씬 전환 시 정보 이동

    2024.10.17 by lucar

  • 1016 TIL - Unity InputSystem 심화

    2024.10.16 by lucar

  • 1015 TIL - 유니티 입문 팀 프로젝트 주차 돌입

    2024.10.15 by lucar

  • 1014 TIL - Unity 애니메이터 갈아끼우기

    2024.10.14 by lucar

  • 1011 TIL - Unity 오브젝트 풀링

    2024.10.12 by lucar

  • 1010 TIL - Unity 게임개발 입문

    2024.10.10 by lucar

  • 1007 TIL - 유니티 InputSystem

    2024.10.07 by lucar

1025 TIL - 오브젝트 풀을 활용한 효과음 구현

예전에 이터널 리턴이라는 게임을 하다가 든 생각이 있다. 나만의 상점이라는 페이지가 있는데 해당 페이지에서 마우스를 빠르게 좌우로 움직이면서오브젝트에 커서를 댔다 놨다를 반복하면 소리가 점점 엹어지다가 들리지 않게 되는데이게 왜 그런걸까에 대해 생각을 해보니 효과음을 내는 여러칸의 사운드 소스가 있고모든 사운드 소스가 꽉찬 상태에서 해당 효과음이 새로 추가되면서이전 사운드 소스를 덮어 씌우는 것 같았다. 해당 방법의 장점으로는 여러가지 효과음을 여러개의 소스에서 처리하다 보니들려야 할 사운드는 확실히 들을 수 있다는 것이고단점은 미리 사운드를 재생할 오브젝트를 생성해 두었기 때문에메모리에 공간을 차지할 것으로 예상되는 부분이다. 전체 스크립트public class SoundManager : MonoBeh..

스파르타 코딩캠프/'24 Today I Learned 2024. 10. 25. 19:33

1017 TIL - 씬 전환 시 정보 이동

오늘 프로젝트 진행 중에 MainScene에서 발생한 점수를ScoreScene으로 가져오기 위해 public float Score를 선언하고ScoreScene에서 가져오려고 하자 NullExceptionError가 발생했다. Score값이 담겨있는 Hierachy가 씬이 이동하면서 같이 넘어오지 않기 때문에발생한 문제로 보인다 이에 대한 해결법은 대충 4가지 정도가 생각나는데 정적변수인 public static float Score로 선언하여 접근하기싱글톤 패턴을 가진 GameManager를 통해 값을 넘겨주기DontDestroyOnLoad를 통해 씬이 이동될 때 같이 넘어가게 만들어주기PlayerPrefs를 통해 값을 하드웨어에 저장해서 넘겨주기 이번에 선택한 방법은 정적변수로 넘겨주기이다. 각각의 특..

스파르타 코딩캠프/'24 Today I Learned 2024. 10. 17. 21:36

1016 TIL - Unity InputSystem 심화

금일 강의 내용 정리 저번에 InputSystem에 대해 간단하게 정리했는데보통 5가지의 방법으로 InputSystem이 사용된다. 아래의 내용은 동일하게 2D 평면 상 움직이는 캐릭터가 좌, 우로 이동할 때를 가정한다. 1. 레거시 방식public class PlayerInputManager : MonoBehaviour{ public float dir; private void Update() { if (Input.GetKey(KeyCode.A)) { dir = -1; } else if (Input.GetKey(KeyCode.D)) { dir = 1; } else..

스파르타 코딩캠프/'24 Today I Learned 2024. 10. 16. 20:57

1015 TIL - 유니티 입문 팀 프로젝트 주차 돌입

좀 그림이 난잡하지만 대충 와이어프레임을 짰다. https://gitmind.com/ 을 이용했다. 위에 있는 차트를 기반으로 칸반보드를 제작하고 사운드 매니저 싱글톤 선언을 해주고[SerializeField] private AudioSource _bgmPlayer; //배경음악[SerializeField] private AudioSource _sefPlayer; //효과음[SerializeField] private AudioClip[] _bgm;[SerializeField] private AudioClip[] _sef;private static SoundManager instance;public static SoundManager Instance{ get { if(instance..

스파르타 코딩캠프/'24 Today I Learned 2024. 10. 15. 21:18

1014 TIL - Unity 애니메이터 갈아끼우기

유니티 과제를 진행하면서Player의 스프라이트가 변경되면(캐릭터가 바뀐다면) 애니메이션도 덩달아 바뀌게 하고싶다. 그런데 애니메이터로 생성된 오브젝트에 애니메이터를 넣을 수가 없다...애니메이터를 제작하고집어넣으려고 해도 안집어넣어진다.오브젝트에 포함되어 있는 애니메이터만 오브젝트를 드래그 앤 드랍하는 것으로 집어넣을 수 있다.. 그렇다면 스크립트로 직접 애니메이터를 넣으려면 어떻게 해야할까우선 스프라이트의 경우를 보자 우선 플레이어는 위 사진과 같은 오브젝트 들로 이루어져있다. Player 자체는 빈 오브젝트로 이 안에 스크립트들을 넣어서 작동하게끔 해주었다. MainSprite 오브젝트에 SpriteRenderer를 추가해주고 스프라이트를 집어넣어주었다. 스크립트를 하나 작성해보자.우선 게임매니저를..

스파르타 코딩캠프/'24 Today I Learned 2024. 10. 14. 20:33

1011 TIL - Unity 오브젝트 풀링

오브젝트 풀이란? 예를 들어서 종이동 식 슈팅게임 이를테면 1945같은 게임인데옛날에 오락실 좀 다녀보신 분들은 다들 아실껀데이런 비슷한 슈팅게임을 만든다고 쳤을 때적이나 내가 발사된 총알이 삭제되지 않고 계속 게임 데이터에 남아있다면메모리에 큰 영향을 미치게 될 것이다. 그래서 Destroy(GameObject)를 쓰는거 아닌가요? 싶은데Instance와 Destroy를 통해 연산을 계속 만들기 때문에 그렇게 막 남아도는 장사는 아니다. 하지만 오브젝트 풀링 기법을 사용하면 일정 수의 탄환을 미리 만들어놓고발사되면 SetActive true상태가 되어 화면에 비춰졌다가 충돌이 발생하거나 게임 화면 밖으로 나가면SetActive를 false로 바꾸어 그냥 켰다 껐다만 하면 된다. 최초의 로딩 중에 메모리..

스파르타 코딩캠프/'24 Today I Learned 2024. 10. 12. 00:50

1010 TIL - Unity 게임개발 입문

객체지향형으로 코드를 작성했다는데 솔직히 나는 아직 이해를 잘 못했다. 하여튼 배운 부분에 대해서만 정리해보자. 저번 시간에 InputSystem에 대해 간단하게 배웠는데  public void OnMove(InputValue value){ Vector2 moveInput = value.Get().normalized; CallMoveEvent(moveInput);}public void OnLook(InputValue value){ Vector2 newAim = value.Get(); Vector2 worldPos = _camera.ScreenToWorldPoint(newAim); newAim = (worldPos - (Vector2)transform.position).norma..

스파르타 코딩캠프 2024. 10. 10. 21:22

1007 TIL - 유니티 InputSystem

시작 전에 Unity 함수의 라이프 사이클을 보고가자.쉽게 말하면 유니티의 생애? 같은건데유니티에서 지원하는 함수들의 실행 순서이다. 크게크게 보면Awake로 시작해서 OnEnable을 거쳐 Start 함수를 실행하고FixedUpdate 후에 OnTrigger와 OnCollision이 실행되며그 이후에 Update, LateUpdate 함수가 실행되고Ondisable,OnDestroy, OnApplicationQuit이 실행된다. 이제 InputManager라는 기능에 대해 알아보자. 윈도우 창을 열고 Package Manager에 들어간다.상단에서 Unity Registry를 선택해주고 검색창에 Input을 입력해보자 Input System을 다운로드 받자Input폴더를 만들어주고 최 하단의 Input..

스파르타 코딩캠프/'24 Today I Learned 2024. 10. 7. 21:04

추가 정보

인기글

최신글

페이징

이전
1 ··· 3 4 5 6 7 8 9 ··· 11
다음
TISTORY
lucar 님의 블로그 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바