본문 바로가기

기타/패스트캠퍼스 Unity

(31)
유니티 입문 패스트캠퍼스 챌린지 11일차 플레이어 만들기 - Assets/Scripts에 Player.cs 생성 - Vector3 형 MoveVector 변수를 [SerializeFiled]로 정의 - UpdateMove - ProcessInput 플레이어로 사용할 비행기 모델 다운로드 https://assetstore.unity.com/packages/3d/vehicles/space/star-sparrow-modular-spaceship-73167 Star Sparrow Modular Spaceship | 3D 우주 | Unity Asset Store Elevate your workflow with the Star Sparrow Modular Spaceship asset from Ebal Studios. Find this & other 우주 ..
유니티 입문 패스트캠퍼스 챌린지 10일차 10일차 부터 구체적으로 프로젝트를 만들어서 진행하게 된다. 대부분의 리소스는 외부에서 가져와서 import하고 유니티에서 작업해야 하는 부분만 집중적으로 다루게 된다. 게임의 배경 만들기 배경으로 사용할 리소스 다운 https://craftpix.net/freebies/free-horizontal-2d-game-backgrounds/ Free Horizontal 2D Game Backgrounds - CraftPix.net Here is a set of high-quality Free Horizontal 2D Game Backgrounds. This graphics is perfect for the genre of runner, platformer, and other similar arcade craf..
유니티 입문 패스트캠퍼스 챌린지 09일차 3D 환경의 기초 지식 - Vector3: 3차원 공간의 점 - Quaternion(사원수): 3차원 계산에서 행렬 연산을 수행하기 위해 w 추가 - Mesh: 점으로 연결된 도형 방향, 위치, 스케일은 Vector3로 되어있고, 회전과 관련있는 rotaion은 Quaternion으로 되어있다. Mesh는 그물이라는 의미로 wireframe으로 보이는 것이 mesh이다. - Texture: Mesh의 면에 입히기 위한 이미지 - Material: GPU가 렌더링하기 위한 정보와 프로그램 집합 - Shader: GPU에서 렌더링시 색을 표현 하기 위한 프로그램 Create>Material으로 머테리얼을 생성해서 인스펙터에서 색상 등과 같은 정보를 변경할 수 있다. Texture관련 세팅은 안보이는데 이는 ..
유니티 입문 패스트캠퍼스 챌린지 08일차 UnityEngine.Debug - 오류를 미리 감지하기위해 Assert 메소드 제공 - 씬 뷰에서 시각적인 디버깅을 위해 선을 그릴 수 있음 (실제 게임에서는 보이지않는 선) - 각종 로깅 메소드 제공 Log, LogError, LogWarning을 가장 자주 씀 EmptyObject를 만들고 C# 스크립트를 추가하고 로깅 코드를 작성 void Start() { Debug.Log("Start"); } 그 후 유니티 콘솔창에서 Start로그를 확인 할 수 있다. Update에 로그를 남기면 매 프레임마다 로그가 발생해서 콘솔창을 가득 채워버리는데 동일한 로그가 여러번 쌓이는경우 Collapse 버튼을 눌러서 하나로 묶어서 확인이 가능하다. 변수 - 변수 명에 따라 인스펙터 뷰에 이름이 붙어있다 - Pub..
유니티 입문 패스트캠퍼스 챌린지 07일차 MonoBehaviour > Unity3D의 오브젝트에 연결할 수 있도록 만들어진 기본 클래스 - 유니티의 주요 이벤트 발생시 호출되는 메소드를 정의할 수 있음 - 다른 Component들에 접근 할 수 있는 기능을 제공 - 런타임에서 유니티의 API를 사용하기 위한 클래스 주요 프로퍼티 - transform - gameObject - tag - enabled - name 주요 메소드 - Invoke 관련 메소드들 - Coroutine 관련 메소드들 - GetComponent 메소드들 - SendMessage 메소드들 - Destory 메소드들 - DontDestroyOnLoad - FindObject 메소드들 - Instantiate 메소드들 Visualstuido로 열어서 MonoBehaviour 정..
유니티 입문 패스트캠퍼스 챌린지 06일차 유니티에서 씬(Scene) - 게임상의 모든 오브젝트가 배치된 3D공간 (모든 정보가 들어있는 Map 파일) 씬 파일을 메모장으로 열어보면 각종 3D 오브젝트의 배치정보가 보인다 카메라(Camera) - 3D 오브젝트를 보기 위한 눈 (오브젝트는 카메라에 투영) - 방식에 따라 원근 투영(Perspective), 직교 투영(Orthogonal)이 존재 - 유니티는 메인 카메라이 기본으로 Audio Listener가 붙어있다 (소리를 듣는 귀) 광원(Light) - 3D 오브젝트의 색상이 자연스럽게 보이기 위한 빛 - Directional (태양 빛), Spot (집중 조명), Point (구 형태로 퍼져나가는) 세가지 종류의 광원이 존재 - 그림자를 만든다 GameObject - 씬 공간에 위치한 3D ..
유니티 입문 패스트캠퍼스 챌린지 05일차 유니티 에디터의 기본 요소를 확인하는 시간이었다. 배치된 윈도우들의 용도를 먼저 정리하였다. 씬 뷰: 씬을 편집하기 위함 게임 뷰: 씬에 배치된 카메라를 보기 위함 하이라키 뷰: 씬에 배치된 오브젝트의 개층을 보기 위함 프로젝트 뷰: 프로젝트 폴더를 탐색 인스펙터 뷰: 선택한 객체의 정보 콘솔 뷰: 로그 확인 그리고 빌드 옵션에 대해 보게된다. 기본적으로 프로젝트는 PC 프로젝트로 생성되어있다. 빌드 세팅에 들어가면 안드로이드, IOS와 같은 프로젝트로 스위치가 가능하고 스위칭을 하면 해당 타겟에 필요한 임포트와 같은 작업이 자동적으로 일어나고 프로젝트가 컨버트된다. 우리는 PC에서 계속 진행하므로 타겟 플랫폼을 변경하지는 않는다. Asset는 게임에서 사용하는 리소스를 의미한다, 예를들면 3d 모델링,..
유니티 입문 패스트캠퍼스 챌린지 04일차 몇 챕터가 더 있지만 유니티 설치와 유니티 실습 챕터를 먼저 진행 해 보기로 했다, 만약 앞 챕터의 내용이 필요하다면 다시 보는것으로 하고 유니티를 어서 직접 다뤄보고싶어서 어쩔수가 없었다. 처음에는 유니티 허브 설치, 유니티 회원 가입, 그리고 유니티 초기 세팅을 하게된다. 우선 설치를 위해 유니티 홈페이지에 접속해서 다운로드 화면으로 가는게되는데 유니티 라이센스의 주의사항이 나타난다. 유니티 엔진은 무료로 사용이 가능하지만 연 매출이 10만달러 (약 1억원), 혹은 연 매출이 10만달러가 안되어도 투자받은 금액이 그에 준하는 경우 무료버전을 사용할 수 없고 유료버전인 유니티 Pro 버전을 사용해야만 한다. Pro버전이 기능이 더 많기는 하지만 입문하는 입장에서 Pro 버전을 구입할 필요까지는 없어보인..
유니티 입문 패스트캠퍼스 챌린지 03일차 데이터란 무엇일까, 기본 데이터와 관련된 내용이 나왔다, 프로그래밍 경험이 있다면 기존에 알고있던 언어의 지식과 C#과 차이 정도를 확인하는 챕터라고 볼 수 있다. 프로그래밍 경험이 없는분을 대상으로 강의되다보니 리터럴 자료형부터 하나하나 짚고 넘어가는데 강의를 듣다보면 프로그래밍을 처음 공부해보겠다고 대학교 입학전에 찾아보던 때가 떠올랐다. 과연 처음 듣는사람이 잘 따라올 수 있을까... 하는 생각도 들지만 간절함이 큰 사람이라면 어느정도 이해하면서 따라오는건 가능해 보이기는 했다. 변수, 상수에대해 알려주고 정수, 실수와같은 리터럴의 특징을 이야기해준다, 그리고 데이터 타입의 min, max 개념으로 넘어가며 오버플로우 개념에 대해서도 이야기 한다. 타입 캐스팅, 진수변환, 문자열 다루기 이야기가 나..
유니티 입문 패스트캠퍼스 챌린지 02일차 지난 시간 C# 프로그래밍 실습 환경 구축하기에 이어서 C# 코드에대해 리뷰해보는 시간을 가지게 되었다. 비주얼스튜디오는 예약어에 대해 색칠이되어있어서 예약어를 쉽게 구분할 수 있다, 예를들어 using, class, namespace, static, void, string 과 같은 코드는 색칠되어있는데 이같은 예약어는 프로그래머가 임의로 수정할 수 없는 용어라는 뜻이다, C# 문법에 의해 정해져 있는 키워드기 때문에 이같은 예약어는 C#공부를 하면서 어떤 용도를 가지고있나 공부를 해야한다. 예약어는 프로그래밍을 안해봤더라도 직관적으로 어떤 용도인지 추측을 할 수 있는데, 실제로는 코드를 지워보거나 코드의 내부를 따라 들어가서 주석을 읽어 보는 방법이 있었다. 예를들어 namespace는 이름을 정해주고..