728x90

게임개발 256

SmoothDamp 는 어떻게 구현돼있을까?

UnityEngine Vector3.SmoothDamp(...) 부드러운 이동을 구현하기 위해 손쉽게 활용하는 함수입니다. 주로 Target 을 부드럽게 따라가는 카메라의 LookAt 혹은Position계산에 활용된다고 합니다. 저도 그렇게 썼었고요. // Smooth towards the target using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Transform target; public float smoothTime = 0.3F; private Vector3 velocity = Vector3.zero; void Update() { // Define a target positi..

강력 추천 유니티 입문서 "유니티 교과서" 개정5판

프로그래밍을 못하지만 게임을 만들고싶은 입문자, 초심자 분들께 추천하던 책이 있었습니다. 내용도 구성도 훌륭했거든요. 그 책이 바로 "유니티 교과서" 시간이 흘러흘러 무려 개정5판이 나왔습니다. 게임 개발자 중 한 명으로서 좋은 책을 꾸준히 내주시는 길벗 출판사에 감사드립니다. 개정판이 계속 나온다는 이야기는, 이 책이 그만큼 많은 사랑을 받았다는 뜻이겠죠. 저도 이 책의 이전 판 판매에 몇 권 정도 기여를 했던 것 같습니다. 유니티 교과서의 겉표지는, 교과서라는 이름에 걸맞게 아주 정직합니다. - 귀여운 고양이가 자주 등장해 이해를 돕습니다. - 단순 예제 따라하기가 아니라, 게임 제작의 흐름을 익히며 게임 제작을 함께 학습할 수 있습니다. - C# 프로그래밍을 몰라도 이 책을 통해 기본을 익혀 게임을..

유니티 엔진 2021.1 버전 매뉴얼에 새로 추가된 것 (게임 개발 퀵스타트 가이드)

Unity Engine 공식 도큐먼트를 둘러보다가 2021.1 버전 문서의 New in Unity 2021.1 페이지를 봤습니다. 어떤 것들이 추가됐는지를 보여주는 문서로, 2021.1 버전 문서에만 존재하는 페이지입니다. 다른 버전 문서에는 해당 버전의 새로운 내용들이 있으니까요. New in UInity 2021.1 문서에서 눈길이 가는 항목이 있었습니다. New documentation 항목 아래에 있는 두 개 항목. - 2D Game development quickstart guide (2D 게임 개발 빠른시작 가이드) - 3D Game development quickstart guide (3D 게임 개발 빠른시작 가이드) 이 두 개 항목입니다. 2D game development quicksta..

게임개발자의 인디게임과 게이머의 인디게임

. © lucabravo, 출처 Unsplash 오랜만의 게임 고찰입니다. 언젠가 한 번 생각을 정리해봐야지 계획만 하다가 더 미루면 영영 안 쓸 것 같아 기록해봅니다. ​ 인디게임의 정의는 항상 뜨거운 주제입니다. 어떤 조건이어야 인디다, 어떤 경우엔 인디가 아니다 등등... ​ 인디냐 아니냐는 규칙이 명확하게 정의될 수 없기 때문에 이런 이야기들이 계속해서 나오는 것 같습니다. 게임을 좋아하고 가까이하는 분들이라면 "인디게임"이란 말을 종종 들어봤을 겁니다. 대표적인 인디게임 이름을 대보라고 한다면 한두 개쯤은 척척 댈 수 있을 정도로 게임을 다양하게 아는 분들도 적지 않습니다. ​ 하지만 그래서 인디게임이 뭔데? 라는 정의를 내려보라고 한다면 선뜻 명확하게 구분 짓지 못하는 것도 사실입니다. 심지어..

게임분석! 모비릭스의 방탈출 게임

. 이번에 다뤄볼 게임은 "방탈출" 제가 방탈출류 게임을 좋아하는데요, 좀 더 분석적인 이름은 방탈출 보다는 "Point and Click Adventure" 라고 합니다. 용어 뜻 그대로 특정 포인트를 클릭하면서 진행하는 어드벤쳐 장르라는 뜻입니다. 꽤 고전적인 장르죠. ​ 방탈출을 검색하면 구글플에이에서도 나오는 게임이 많은데, 이번엔 모비릭스에서 출시한 게임입니다. 모비릭스가 출시한 게임이 워낙 많아서 익숙한 분들도 계실겁니다. www.mobirix.com/games/launching_game.html?page=4&plist=&find_field=&find_word=&find_state=&find_ordby=&conf=&find_mode=&mode=1&language=KOR (주)모비릭스 모비릭스,..

게임분석! 로닌 : 더 라스트 사무라이. 타이밍 액션 게임. 오랜만의 수작!

. 스타트업 게임회사 드림모션의 로닌: 더 라스트 사무라이를 플레이 해봤습니다. 이노우에 다케히코의 만화 배가본드가 떠오르는 타이틀 화면입니다. 이 사무라이가 주인공. 시작 하자마자 전투 상황. 사무라이라면 칼을 휘둘러야겠죠. 방향성이 명확한 게임입니다. 막고 썰고. 아주 직관적인 게임성입니다. 조작도 터치 모바일 기기에 잘 맞게 디자인 되어있습니다. 방어와 이동을 같이 한다는 점도 인상적이군요. 챙챙. 적들이 기본적으로 잘 막습니다. 그래서 균형 피해를 누적시켜 균형을 무너뜨려 데미지를 넣는 메카닉스입니다. 독특한 전투방식인데 금방 익힐 수 있습니다. 공격을 쳐내거나 반격을 하면 큰 균형 데미지를 입힐 수 있는 방식. 타이밍 액션이 찰지네요. 보스전도 등장합니다. 1:1 전투도 쫄깃합니다. 타이밍을 더..

[Unity] 간단한 SoundManager 소스코드 공유

. 게임을 만들 때 사운드 처리도 필수도 들어가게 되죠. 최근 간단하게 사운드 재생 처리할 일이 있어서 모듈을 만들었습니다. 쉽고 간단한 코드라서 메모 차원에서 공유해봅니다. ​ GitHub 의 Rrepository 에 올리고 링크를 공유하는 것도 좋겠지만, 대부분의 코드는 개인 저장소로 관리하고 있어서, 이번처럼 간단한 코드 메모+공유 차원에서 다루게 된다면 스닙펫처럼 일부만 발췌해서 블로그로 공유하는 방식으로 해볼까 합니다. ​ 우선 제목에서 다뤘듯이 아래는 SoundManager 의 풀 소스코드. using System.Collections; using System.Collections.Generic; using UnityEngine; public class WSRSoundManager { Dict..

[Unity] Custom Editor, ReorderableList 적용하기

. 유니티 에디터에서 Inspector 를 이쁘게 정리하기 위해 ReorderableList 적용하기 포스트. 사용해야할 기본 코드 using UnityEditorInternal; // 클래스 내에서 private ReorderableList list; private void OnEnable() { list = new ReorderableList(serializedObject, serializedObject.FindProperty("TriggerList"), true, true, true, true); // Element 가 그려질 때 Callback list.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => { ..

[Unity] Serialize 타입, 값 유지하기 (FormerlySerializedAs)

. 커스텀 컴포넌트를 추가해서 인스펙터로 값을 많이 입력하고 있었는데, 리팩토링하면서 타입과 내용을 변경할 일이 생겼습니다. 그냥 바꿨다간 인스펙터에 입력했던 값들이 모두 날아가기 때문에 별도의 방법을 써야하나 고민이었는데.. 결과적으론 FormerlySerializedAs( oldName ) 속성을 사용하면 해결됩니다. using UnityEngine; using UnityEngine.Serialization; public class MyMonster : MonoBehaviour { [FormerlySerializedAs("hitpoints")] public int health; } 위처럼, FormerlySerializeAs 인자로 이전 변수 이름을 넣어주면, 새로운 변수에 값이 반영됩니다. 타입만 ..

[Unity] UGUI, Scroll View 만들기

. Unity 내장 UI 시스템으로 Scroll View 만들기. 아주 간단해서 포스트로 쓸 양이 될 지는 모르겠지만, 그래도 빼먹으면 소소하게 시간낭비하는 부분이 있어서 메모 차원에서 남겨봅니다. ​ 대략적인 순서 1. Create > UI > Scroll View 2. Hierarchy 에서 Scroll View 오브젝트 선택 3. 가로/세로 스크롤 여부 체크박스 설정 4. (Optional) Scroll View/Viewport/Content 오브젝트에 추가될 아이템들을 정렬하기 위한 Layout Group 추가. ​ 위 순서대로, Scroll View 오브젝트를 클릭하면 Scroll Rect 컴포넌트가 보이는데, 체크해야할 중요한 옵션은 Horizontal, Vertical. 가로/세로 스크롤 여..

728x90
반응형