TIL
-
[TIL] 유니티 문법활용TIL 2024. 5. 22. 21:07
유니티 문법활용 목차 1. 코루틴 (Corutine)2. 충돌 (Collider, Rigidbody2D)3. RayCast 코루틴 (Corutine)코루틴을 사용하면 작업을 다수의 프레임에 분산할 수 있다.Unity에서 코루틴은 실행을 일시 정지하고 제어를 Unity에 반환하지만 중단한 부분부터 다음 프레임을 계속할 수 있는 메서드이다. 코루틴의 특징처리와 처리 사이에 대기 시간을 넣을 수 있다.여러 작업을 동시에 병렬처럼 보이도록 처리해 준다. (그러나 실제로는 병렬은 아니다.) 코루틴을 실행 시키는 방법StartCorutine(코루틴 함수); yield Return으로 반환 1. 코루틴 함수 자체를 넣는다. ex) StartCorutine(코루틴 함수);2. string 으로 넣는다.ex) Sta..
-
[TIL] VS Code / VisualStudioTIL 2024. 5. 21. 21:28
VisualStudio는 내가 본격적으로 프로그래밍에 대해 배우기 시작할 때가장 처음 깔았던 툴이다. (당시에는 2019를 사용했다) 어릴때 자바를 잠시 찍먹 했을때는 잠깐 Epclipse를 썼고 그뒤로는 쭉 VisualStudio만 썼었다.부트 캠프에 참여하면서 2019 -> 2022 으로 버전을 바꾸긴 했지만 학교 다닐때도 캠프에 와서도 VisualStudio를 사용하길래 당연히 개발자의,,,국룰 프로그램인줄 알았다. 그런데 오늘 팀프로젝트를 위해 다른 팀원분이 화면을 키고 이야기를 하던중 엄청난 것을 목격했다. 재미도 없고 지겹고 칙칙한 비주얼스튜디오에서 코드를 짜던 나와 달리 팀원분은 한 켠에 작고 귀여운 생물들과 함께 작업을 하고 계셨다.VisualStudio 도 있나 검색해봤지만.........
-
[TIL] DOTween 사용TIL 2024. 5. 20. 23:04
DOTween 두트윈, 닷트윈 간단한 동작을 따로 애니메이션 설정이나 복잡한 코드 없이 움직임을 구현해주는 API로 유니티의 에셋스토어에서 다운로드 할 수 있으며 무료판과 유료판이 있다. 원래 만들던 블록깨기 기능은 블록을 깨면 아이템이 자동으로 생성되고 그걸 공이 먹으면 효과가 적용되는 거였지만공이 아이템을 먹지 않고 패들이 먹는걸로 바뀌게 되면서 아이템이 내려오는 모션이 필요하게 되었다. 옛날에 살짝 만져보고 안써본 기능이지만, 이번에 아이템이 떨어지는걸 구현하면서 물리자체는 무거운 기능이니 Rigidbody의 gravity 대신에 DoTween을 사용해 구현해보는게 어떠냐 하셔서 다시 한번 만져보게 되었다. 설치방법더보기유니티 에셋스토어에서 먼저 설치해 준 다음에 프로젝트에 불러와준다.Import..
-
[TIL] Interface 상속과 Json에 관하여TIL 2024. 5. 17. 22:02
Interface인터페이스란?클래스와 비슷하게 메서드, 속성, 이벤트 등을 갖지만 인터페이스는 이를 직접 구현하지 않고 단지 정의만 갖는다.클래스와 다르게 다중 상속이 가능하며, 인터페이스를 상속받은 클래스는 해당 인터페이스의 모든 멤버에 대한 구현을 설정해야 한다. 예전 글에도 몇 번 언급했던 기능이다.이론만 알고 직접 써보지 못했었는데 이번에 팀 프로젝트를 하면서 충돌 처리를 인터페이스로 구현해보자는 말이 나왔고 그에 따라서 Interface를 복습해보고 적용해봤다. using UnityEngine;public class Item : MonoBehaviour{ protected virtual void ItemEffect(GameObject ball) { Debug.Log("아..
-
[TIL] 객체지향 코드 설계 1TIL 2024. 5. 16. 21:47
객체 지향이란?객체지향(OPP)추상화다형성상속캡슐화프로그래밍 언어와 문법을 배우면서 객체지향이란 말은 강의에서든 어떤 문서를 보든 정말 자주 언급되었다. 그래서 객체지향 어떤요소가 들어가고 각각 무슨 뜻인지는 알지만. 막상 코드를 설계할 때는 이렇게 짜는 것이 맞는지 또는 내가 객체지향에 맞게 작성하고 있는지 의구심이 들었다. 그렇게 감을 못잡고있던 도중 오늘 객체지향 특강이 듣게되었다. 프로그래밍에서 이론과 실무중 뭐가 우선인가?프로그래밍에서는 실무가 먼저다.실무를 관찰한 결과를 바탕으로 이론이 정립되기 때문에 먼저 코드를 짜는것이 먼저다. 따라서 시중에 나온 이론은 현재 쓰는 기술보다 뒤쳐질 수도 있다. (현재 쓰이는 기술은 아직 이론이 정립되있지 않기 때문에)그러나 어느정도 보장되있는 이론이고, 한..
-
[TIL] 유니티 개인과제 2TIL 2024. 5. 14. 21:45
타일맵 콜라이더 끼임더보기TilemapCollider2D로 타일맵에 자동으로 콜라이더를 생성했는데 미묘하게 벽면에 비빌 때 플레이어가 끼는 현상이 발생했다.해결법 TilemapCollider2D가 붙어있는 타일맵에 추가로 Composite collider2D 를 붙여주었다.붙이게 되면 자동으로 Rigidbody2D도 함께 붙여진다.나는 타일맵 그러니깐 움직일 필요가 없는 오브젝트이기 때문에 RigidBody2D의 BodyType을 Static으로 설정하고콜라이더의 UsedByComposite를 체크해줬다. 이후에는 원하는 대로 끼임 문제 없이 잘 작동되었다.https://docs.unity3d.com/kr/2021.3/Manual/class-CompositeCollider2D.html 복합 콜라이더 2D..
-
[TIL] 유니티로 개인과제 1TIL 2024. 5. 13. 22:44
개인과제로 zep 같은 게임을 유니티로 만들고 있다.기능을 구현하면서 사용한 유니티 기능가 겪었던 문제들을 정리해봤다. InputSystem 을 이용하여 대시 만들기더보기만든거에 별 이유는 없고무료로 다운 받은 캐릭터 스프라이트에 걷기와 달리기가 있길래 한번 구현해봤다.// TopDownController.cspublic class TopDownController : MonoBehaviour{ public event Action OnMoveEvent; public event Action OnLookEvent; public event Action OnDashEvent; public void CallMoveEvent(Vector2 direaction) { OnMove..
-
[TIL] Unity 3 + 알고리즘 문제TIL 2024. 5. 10. 21:23
C# 프로그래머스 알고리즘 문제팀장님이 아침에 1시간 알고리즘 문제를 푸는게 어떠냐하셔서 좋다고 해서 풀어 보고 있다.물론 어려운거 말고 쉬운거...ㅎㅎ아침에 졸려서 멍 때릴때가 많았는데 하나 풀고나면 집중이 잘되긴 한다.(이게 왜 안 돼!!!하면서 화내가지고..)1. 기사단원의 무기 Lv.1더보기간단하게 정리하면 이렇다.1. 기사는 자신이 가진 숫자의 약수들(공격력이라 칭한다)을 기반으로 무기를 만든다.2. 그러나 나라간 협정으로 특정 공격력보다 높은 무기는 만들 수 없고, 만약 공격력을 넘는다면 정해진 공격력의 무기를 사용해야한다.3. 무기의 공격력 1당 1Kg의 철이 들어간다고 할 때, 한 기사의 무기를 만들 때 들어갈 철의 양을 구하여라. 내가 생각했을 때의 문제 푸는 법은 다음과 같다.1. 약수..