유니티
-
[TIL] 12주차 2일 기술 면접 대비개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 3. 09:54
기술면접 대비 과제로알고 있는 개념과 지식 확립하기 using System;// 사각형 클래스public class Rectangle{ public double Width { get; set; } public double Height { get; set; } public double CalculateArea() { return Width * Height; }}// 원 클래스public class Circle{ public double Radius { get; set; } public double CalculateArea() { return Math.PI * Radius * Radius; }}// 면적 계산기 클래스public cla..
-
[TIL] 12주차 1일 ( FSM, 유한 상태 머신 )개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 1. 20:44
FSM, 유한 상태 머신이란 무엇일까?유한 상태 기계 ( Finite State Machine, FSM )FSM의 개념FSM은 유한한 갯수의 상태들로 구성된 기계 및 패턴을 말한다.상태와 상태 간의 전환을 기반으로 동작하는 동작 기반 시스템이다.FSM의 구성 요소상태 (State) : 시스템이 취할 수 있는 다양한 상태를 나타낸다.전환 조건 ( Transition Condition ) : 상태 간 전환을 결정하는 조건이다.동작 (Action) : 상태에 따라 수행되는 동작 또는 로직을 나타냅니다.FSM의 동작 원리초기 상태에서 시작하여 입력 또는 조건에 다라 상태 전환을 수행한다.상태 전환은 전환 조건을 충족할 때 발생하며, 전환 조건은 입력, 시간, 조건 등으로 결정된다.상태 전환 시 이전 상태의 종료..
-
[TIL] 11주차 5일 ( 리소스 데이터 관리 )개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 28. 12:12
그냥 기본적으로 큐브를 프리팹으로 만들어서 대충 객체로써 생성한다고 생각해보자 우리는 지금까지 큐브를 만들어서 프리팹으로 뺀 후 캔버스를 만들어서 판넬에 버튼을 만들고직렬화필드로 프리팹을 받아와서 버튼에 온클릭 형식으로 프리팹을 생성했을 것이다. 만약에 여기서 빌드를 하게되면 여기있는 에셋 파일이 다 빌드가 되는 것이 아니다.빌드를 할 때는 씬에 연결되어있는 오브젝트들만 연결되어 빌드가 된다. 직렬화필드로 인스펙터에서 프리팹을 연결해주면버튼을 눌러서 큐브를 생성하지 않아도큐브는 항상 메모리에 올라 가 있게된다. ( 게임의 처음부터 끝 까지 큐브의 메모리가 존재하는 샘 )당연히 최적화에 좋지 않을것이다. 인스펙터에서 프리팹을 넣어주거나 하는 행위는 좋지 않다고 볼 수 있다.오늘은 조금 유연성 있게 데이터를..
-
-
[TIL] 11주차 3일 ( 유니티 커스텀툴 만드는 방법 )개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 26. 20:41
유니티 에디터 커스텀 오늘은 유니티 커스텀 툴을 만드는 법에 대해서 조금 알아보려고 한다. 유니티 커스텀툴을 만들 때 필요한 것에디터는 만들때는 MonoBehavior를 상속받지 않고 EditorWindow를 상속받아야 한다.using UnityEditor옵션 창에 툴을 뜨게하는 법[MenuItem("MyTool/MenuTest")]static void MyMenu(){ GetWindow();} 툴에 글씨, 버튼을 새기는 방법private void OnGUI(){ EditorGUILayout.LabelField("메뉴 라벨"); EditorGUILayout.TextField("입력"); if(GUILayout.Button("버튼")) { Debug.Log("클릭했다..
-
[TIL] 11주차 1일 팀 프로젝트개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 24. 20:43
오늘은 하루종일 예비군 가신 팀원분 코드를 하드코딩하고에셋 작업을 해서 TIL 쓸 것이 정말 없다..... 일단 하드코딩한 부분 작성( 절대 이런 식으로 따라하면 안됩니다. 급해서 작동만하게끔 구현한 것 ) 배틀 컨트롤러 스크립트를 많이 수정해서매직넘버로 구성되어있던 여러 스탯들을 적용 시켰다.using System.Collections;using System.Collections.Generic;using UnityEditor.VersionControl;using UnityEngine;using UnityEngine.SceneManagement;using UnityEngine.UI;public class BattleController : MonoBehaviour{ [SerializeField] p..
-
[TIL] 10주차 5일 ( 유니티에 관한 꿀팁 (심연))개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 21. 21:59
오늘 특강에서 배운 부분을 TIL로써 채워볼까 한다.이번 특강에서는 튜터님의 유니티를 향한 시선과, 유니티를 활용한 개발에 있어서 있는 꿀팁과 중요 정보들을많이 알 수 있었다. 튜터님의 Unity에 영화를 빗댄 시선Unity - 영화Scene - 영화 촬영 장소Game - 실제 영화의 결과물Hierarchy - 영화에 출연하는 배우들Inspector - 각 배우들에게 주어진 역할들Project - 창고(다른 씬에서 사용할만한 소품, 배우들이 저장되는 공간)Script - 배우들에게 주어지는 대본PrefabPrefab을 만들고 하이어라키 창에서 수정을 한 후 다시 프로젝트에 넣으려고 할 때우린 이런 창을 볼 수가 있다.각각 무슨 뜻일까? Original Prefab - 아예 독립적으로 새로 만들어지는 P..
-
[TIL] 10주차 4일 ( 옵저버패턴 , 캐릭터 스텟 강화 )개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 20. 21:01
오늘은 관찰자 패턴에 대해서 공부한 부분을 간단하게 볼건데 그 전에 자료초반부에도 써져있던 부분을 정리해봤다. 모든 문제에 정답이란 없으며 확실치 않을 때는 Kiss(Keep it simple, stupid) 단순하게 유지하기, 수고를 더 들일 가치가 있을지 미리 생각하기 필요할때만 사용하기관찰자 패턴(Observer pattern)관찰자 패턴은 일대다 종속관계를 사용해 오브젝트가 통신하되 낮은 결합도를 유지하도록 할 수 있다. 한 오브젝트의 상태가 변경되면 종속된 모든 오브젝트가 자동으로 알림을 받는다. 게임플레이 과정에서 발생하는 거의 모든 상황에 관찰자 패턴을 적용할 수 있다. 관찰자 패턴의 장점결합도가 낮고 확장성이 높음런타임에서 옵저버 추가 제거가 용이유니티에선 구현이 용이단점시스템의 복잡성이 ..