unity59 Unity 인보크(Invoke)와 코루틴(Coroutine) 정리 들어가며인보크 기본인보크 사용방법InvokeRepeatingCancelInvokeIsInvoking인보크 주의점코루틴코루틴 사용 방법StartCoroutineStopCoroutine 들어가며이번에 했던 프로젝트를 하고 나서, 가장 많이 느꼈던 점은 Invoke를 너무 남발한 거 같다는 점이다. 해당 함수 때문에 버그가 발생했을 때, 찾기도 버거웠을 뿐더러 (Invoke는 함수를 string으로 받기 때문에 참조 함수 목록에 들어가지 않게 된다.) 시전 타이밍을 스크립트의 코드 순서가 아닌 시간으로 정한다는 것이 게임을 구현하는데 있어 너무 불안요소였다. 따라서 이번에는 아예 Invoke에 대해 정리해보고 어느 때 쓰면 좋을지 알아보는 시간을 가지자. 인보크 기본인보크는 MonoBehaviour 클래스에서.. 2023. 8. 10. Unity 버튼 UI 정리 들어가면서InteractableTransitionTransition type 1) Color TintTransition type 2) Sprite SwapTransition type 3) AnimationOn Click ()참고) 스크립트에서 동적으로 On Click 등록하기 들어가면서UI의 퀄리티가 가장 체감되는 부분 중에 하나가 버튼인 것 같다.플레이어와 가장 많이 상호작용하게되는 버튼이라 그런 것인가. GameObject → UI → Button기본적으로 버튼 오브젝트 하나에 하위 오브젝트로 텍스트를 하나 달고 나온다. 만든 버튼은 이렇게 클릭 가능하다. 프로퍼티를 조금 살펴보자. Interactable상호작용을 할 수 있냐 아니냐, 즉 클릭 가능하냐 아니냐를 결정한다.끄게 되면 다음과 같이 반투명.. 2023. 8. 9. Unity 스크립트 프로퍼티 변경 내용이 반영되지 않을 때? 오늘은 스크립트 프로퍼티 변경 내용이 반영되지 않을 때 해결하는 법을 알아보고자 한다.요약하자면, script component 리셋이다. 문제 상황은 이렇다.상황에 맞게 텍스트 띄우는 구현을 하던 도중, 다음과 같이 string array를 선언했다. 내용은 나중에 채워놓을 생각을 하고, 왼쪽대로 써놨다가 오른쪽처럼 바꿨는데 해당 내용이 반영이 안되는 것이 아닌가? (슬프다)“아니 내용을 지웠는데 은 조상님이 써주나?”어딘가 분명 내용이 있긴할텐데, 그거를 까먹고 있었다.스크립트도 컴포넌트라는 것!튜터님께서 알려주셔서 알게 되었다. 해당 내용이 들어있는 오브젝트를 인스펙터에서 보게되면…(잡았다 요놈)이걸 몰라서 한시간을 해멨다….여기서 … → reset을 누르게 되면 반영이 된다. 물론 유니티 에디터에.. 2023. 8. 8. [내일배움단] 사전캠프를 마치며 제일 큰 소득유니티를 접해본 소감?디자인 패턴에 대해개인공부? 사전캠프가 끝났다. (사실 아직 정리할 내용이 많아 다 끝내진 못했다.) 제일 큰 소득제일 큰 소득은 역시…블로그가 아닌가 싶다.노션 사용법도 점점 익혀가는 것 같고, 사용한 노션을 티스토리에 올리는건 이제 달인이다.이제 좋은 글감으로 이 공간을 채워나갈 수만 있다면 베스트지 않을까. 깃허브도 슬슬 다루기 시작해야하는데, 이는 팀프로젝트를 여러번 하다보면 자연스레 다룰 수 있을 것이라 생각 된다. 유니티를 접해본 소감?유니티를 처음 접해보지만 로블록스, 메이플스토리 월드 같은 플랫폼과 크게 다르지 않다.오히려 더 편한 부분이 많았다.씬 리로드 같은 부분은 메이플스토리 월드에 있었다면 작년에 그렇게까지 고생은 안했을텐데….. 디자인 패턴에 대해.. 2023. 8. 4. [내일배움단] Unity TIL 4. 카드 뒤집기 게임 1. Pixels per unit2. 랜덤으로 배열 섞기3. 다른 Object의 Sprite 제어하기 기존과 달리 보드게임을 만들 것이다.보드게임의 경우 로직이 매우 중요하기 때문에, gameManager에 대한 부분이 기존 게임들보다 빡세게 들어간다.이거저거 활용해서 만들어보자. 만들 게임은 다음과 같다. 기본 씬 구성하기 : 배경, 타이머, 리소스 받아두기시간 보내기카드 깔기카드 뒤집기 애니메이션 만들기같은 카드을 뒤집었을 때 없애기 아무래도 카드에 대한 작업이 많다. 1. Pixels per unit외부 리소스를 스프라이트에 넣을 때, 리소스의 해상도와 스프라이트의 크기가 안맞는 경우가 있을 것이다.보통은 리소스가 매우 고화질이기 때문에 리소스의 크기를 줄여 스프라이트의 크기와 맞게 해줘야 할 것이.. 2023. 8. 4. [내일배움단] Unity TIL 3. 고양이 밥주기 게임 1. Camera InspectorCamera의 Background 조정Camera의 Size 조정2. Scene 넘어다니기Scene 만들기Scene 넘어가기참고) Button Component에 대해3. 오브젝트에 종속적인 UI 만들기Canver의 Render Mode 바꾸기Pivot 바꾸기4. Rigidbody가 중력의 영향을 안받게 하기Body Type: DynamicBody Type: Kinematic5. 충돌 감지에 대해isTrigger6. Prefab Unpack 이번에는 미리 만들어놓은 리소스를 다루고 본격적으로 스크립팅에 대해 다루는 파트이다. 가장 중요한 파트는 인게임 UI가 아닐까 싶다. 이번에 만들 게임은 다음과 같다. UI가 어떻게 화면에 고정된 것이 아닌 특정 오브젝트를 따라가게 .. 2023. 8. 3. [내일배움단] Unity TIL 2. 풍선을 지켜라 0. 들어가기에 앞서1. 풍선 애니메이션 만들기애니메이션 녹화하기2. 마우스에 오브젝트 붙이기코드) 마우스의 스크린 위치를 게임 좌표로 바꾸기3. 버튼 만들기Target Graphic4. 최고 점수 기능PlayerPrefs5. 상태변화 애니메이션AnimatorTransition 추가Parameter 추가Invoke6. 떨어지는 네모 없애기 0. 들어가기에 앞서앞선 1주차 강의를 마치고, TIL 1편도 정리가 끝났지만, 방법을 수정해야할 필요가 있겠다.TIL에 모든 내용을 담으려고 하다보니, 배보다 배꼽이 커진느낌.따라서 앞으로의 TIL은 두 가지를 위주로 정리하려 한다.Unity 기능과 코드들작동 원리에 대해 따로 찾아본 것 Unity와 Visual Studio를 왔다갔다하며 정리하다보니 C#보다 정리하.. 2023. 8. 1. Unity - Update() vs FixedUpdate() 이걸 글로 따로 정리하게 된 이유는 이해가 안갔던 상황이 너무 많았기 때문이다. 바로 Time.timeScale에 관한 부분이었다.강의에서 게임을 정지하기 위해 Time.timeScale = 0; 다음과 같이 timeScale을 0으로 만들어 줬는데, 어떤 건 정지하고, 어떤 건 정지하지 않고 여전히 움직이는 이상한 상황. 문제의 장면.빗방울과 타이머는 멈췄지만, 캐릭터는 멈추지 않았다.골때리는건, 내가 따라 만든 게임은 캐릭터도 멈춰있는 것이었다. 원인을 찾아보니 차이점이 있었다.강의에서 캐릭터의 움직임을 구현할 때는 Update() 함수를 사용하였고,내가 이것을 따라만들 때는 FixedUpdate() 함수를 사용하였던 것이다. 이걸 보고 바로 알 수 있는 점은, ”Time.timeScale은 Upda.. 2023. 7. 28. [내일배움단] Unity TIL 1. 빗방울 모으기 게임 1. 배경 세팅하기1-1) 메인 씬 이름 바꾸기1-2) 화면 비율 변경1-3) 배경 색깔 입히기2. UI 박스 만들기2-1) Transform Component - Position 조정2-2) Sprite Renderer Component - Order in Layer 설정 3. 캐릭터 삽입하기3-1) Asset Folder 만들기3-2) Sprite Renderer - Sprite 설정4. 애니메이션 세팅4-1) Animation 생성4-2) Loop Time4-3) Animation Controller 생성참고) Animation, Controller, Animator4-4) Animation 설정하기5. 캐릭터 움직이기5-1) Script 만들기5-2) 캐릭터 움직임 코딩하기코드) 벽에 닿으면 방향.. 2023. 7. 25. 이전 1 ··· 3 4 5 6 다음