목록Unity (22)
개발블로그
* 포톤네트워크 - 네트워크 기본 개념 - 플레이어가 대기하거나 다른 플레이어를 찾는 로비 - 플레이어가 모이는 룸 - 이 과정에서 플레이어를 찾아 한 룸에 모이도록 하는 매치메이킹 시스템 구현 * 로컬과 리모트 - 네트워크에서 로컬은 물리적으로 사용자의 위치에 존재하는 단말기나 프로그램, 오브젝트를 표현하는 단어 리모트는 원격 접속을 통해 접근할 수 있는 단말기나 프로그램, 오브젝트를 표현하는 단어. ex) 로컬 데스크톱 : 사용자가 직접 사용중인 pc, 리모트 데스크톱 인터넷등을 통해 접속한 타인의 컴퓨터. - 네트워크 게임에서 씬에 존재하는 게임 오브젝트는 로컬오브젝트/리모트오브젝트로 구분할 수 있음. 이를 나누는 기준에는 주도권에 있다. 로컬 오브젝트 : 주도권이 자신에게 있음 리모트 오브젝트 :..
using UnityEngine; using UnityEngine.UI; private Image _imgSample = null; private Image _imgSuper = null; private void Start() { if(_imgSample) BlahBlah(); } private void BlahBlah() { _imgSuper.SetActive(false); } 코드 분석중에 처음보는 구문을 발견했는데, 바로 if문에서 image타입만 조건으로 들어있는 조건문이었다. 보통은 if(_bool == true) 이런식의 조건문을 많이 사용해왔어서 생소한 구문이다. // 처음에 nullable 타입인줄 알았는데 오브젝트의 암시적 null 비교 구문이었다😂 nullable 타입도 정리해봐야할듯...

평소에 심심하면 많이 했었던 수박게임을 만들어보면 재밌겠다는 생각을 했다. 게임 자체는 간단하지만 막상 만들다보면 생각보다 이것저것 많이 배울 수 있을 것 같은 느낌이다. 1) 게임 분석 중앙 상단에서 포도, 체리, 귤, 레몬, 키위가 랜덤하게 Spawn되며 마우스로 클릭, 드래그해서 원하는 위치에서 마우스버튼 업하면 과일이 밑으로 떨어지고, 과일을 작은 순서대로 합쳐서 크게 만들다가 최종적으로 큰 수박을 만들면서 높은 점수를 얻는 게임이다. 과일이 상단에 DeadLine에 가까워지면 Line이 Fade In/Out 되며 DeadLine에 가까워지고 있음을 경고한다. 같은 종류의 과일끼리 부딪히면 Merge되며 Merge 이펙트가 발생한다. 그리고 다음 단계의 과일로 변한다. Merge될 때는 과일 종류..

💪GOAL MMORPG에서 많이 사용하는 카메라 무빙으로 캐릭터의 뒤통수를 쫓아다니면서 확대, 축소가 가능하고 마우스를 움직이는 대로 캐릭터의 방향도 움직인다. 오늘은 MMORPG에서 많이 사용하는 FollowCamera를 만들어보자! 가장 먼저 씬에 캐릭터와 바닥, 그리고 엘리온과 같이 화면 중앙에 크로스헤어를 배치한 후 스크립트를 작성했다. public class FollowCamera : MonoBehaviour { // CAM GameObject _player = null; Vector3 _targetPos = Vector3.zero; Vector3 _basicPos = Vector3.zero; float _defaultDist = 7f; // 카메라 시작 거리 float _currX = 0.0f..
다형성은 객체지향언어의 특징으로, · 상위클래스가 자식클래스의 값으로 오버라이딩(재정의)

지난 포스팅에서 Action의 예제로 자동차 리스트에서 Action을 사용함으로써 의존성을 낮추는 방법에 대해서 작성했다. 다른 예제를 작성하며 Action을 이해하자. https://devheehee.tistory.com/27 [유니티 C#] Action 과 Func 💪 GOAL https://devheehee.tistory.com/21 지난 포스팅에서 Delegate의 사용 방법을 알아보았다. 지난 시간에 이어서 C#에서 Delegate를 좀 더 간단히 사용할 수 있도록 미리 선언한 Delegate 변수인 Action과 F.. devheehee.tistory.com 💪 GOAL - Action을 사용해서 견고한 커플링을 해소하는 예제를 작성하며 익힌다. 🔶 이벤트(Event) 이벤트는 이벤트 자체로는..

💪 GOAL - 유한 상태머신의 뜻을 이해한다. - 유한 상태머신을 이용한 캐릭터 애니메이션을 구현한다. 게임을 개발할 때 '유한 상태머신(FSM)'이라는 말을 한번쯤은 들어봤을 것이다. 유한 상태머신은 유한한 수의 상태가 존재하며, 한 번에 한 상태만 '현재 상태'가 되도록 프로그램을 설계하는 모델이다. 유한 상태 머신에서는 어떤 상태에서 다른 상태로 전이하여 현재 상태를 전환할 수 있다. 가장 기본적인 예로 게임의 Monster AI를 유한 상태머신으로 구현한다고 가정해보자. 가장 기본적으로 몬스터는 Idle(대기), Trace(추적), Attack(공격) 로 세가지 상태를 가질 수 있다. 화면에서 대기하고 있다가, 플레이어(공격대상)가 몬스터의 시야에 들어오면 추적하고, 사정거리에 있다면 공격한다...

💪 GOAL - GetAxis || GetAxisRaw를 이용해서 오브젝트를 이동시킨다. - 오브젝트가 바라보는 방향으로 이동시킨다. 🔶 Input.GetAxis(string name) : 키보드와 조이스틱 입력값에 대해 -1에서 1까지의 값을 가진다. 독립적인 프레임 속도로 작동하고, 부드러운 이동이 필요한 경우에 사용한다. 🔶 Input.GetAxisRaw(string name) : 키보드와 조이스틱 입력값에 대해 -1에서 1까지의 값을 가진다. 키보드나 조이스틱을 눌렀을 때 즉각 반응이 필요한 경우에 사용한다. 실습 버전 :: 2020.3.14f GetAxis의 매개변수로는 string name이 들어간다. 이곳에 들어가는 string name은 Edit - Project Settings - Inp..

💪 GOAL https://devheehee.tistory.com/21 지난 포스팅에서 Delegate의 사용 방법을 알아보았다. 지난 시간에 이어서 C#에서 Delegate를 좀 더 간단히 사용할 수 있도록 미리 선언한 Delegate 변수인 Action과 Func의 차이점을 알아보자. - C#에서의 델리게이트 기능을 손쉽게 사용할 수 있도록 지원하는 Action과 Func에 대해 이해한다. 🔶 Action Action 타입은 입력과 출력이 없는 메소드를 가리킬 수 있는 델리게이트다. 입력과 출력이 없는 메소드를 등록할 수 있고, 등록된 메소드는 원하는 시점에 매번 실행할 수 있다. 예제 코드를 보자. public class Monster : Monobehaviour { Action attack; vo..