- Today
- Total
목록분류 전체보기 (360)
프로그래밍 농장
- 전략 패턴? -> '특정한 계열의 알고리즘들을 정의하고 각 알고리즘을 캡슐화하며 이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 만든다. 전략 패턴 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 전략 패턴(strategy pattern) 또는 정책 패턴(policy pattern)은 실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴이다. 전략 패턴은 특정한 계열 ko.wikipedia.org 아래와 같이 사용자의 Weapon Type을 버튼을 통해 바꾸어주고, 각 총들의 연사속도 및 파티클. . 등은 각각 다르게 두도록 구현해보라고 할시, 대부분은 각 weapon들이 생성될때 마다 해당 값 또는 메서드를 정의 후, Weapon을 Switch 해주는 ..
Update()와 Game Loop 유니티 엔진의 Update()는 매 프레임 호출되며 이동, 회전, 입력, 실시간 계산 등 수많은 기능을 여기에 작성한다. 그렇다면 Update()의 정체는 무엇일까? 그래픽스 라이브러리를 통해 구현되는 게임은 기본적으로 Game Loop(게임 루프)를 통해 프레임 기반 동작이 수행된다. DirectX, OpenGL, Vulkan . . . 등 어떤 그래픽스 라이브러리를 사용하더라도, /* Main Function */ // Game Loop while(...) { // User Inputs.. // Game Logics.. // Draw Calls.. // ... } 위와 같이 메인 스레드에 무한 반복문을 통해 게임 루프를 작성하며 이 게임 루프의 반복이 프레임의 진행..
유니티 게임 개발을 진행하면서 고치고 개선해야할 부분들을 정리해놓은 포스팅입니다. 어떻게 보면 당연한 내용들도 내포하고있습니다. 호출 빈도가 잦은 함수들 1. 매 프레임마다 한번씩 호출된다. ->Update(), FixedUpdate(), While(true) 등. . 2. 빈번히 호출되는 Find(), Getcomponent() -> 기본적으로 유니티에서 제공하는 Find(), GetComponent() 함수 자체가 가볍지 않다. Find 계열 함수는 인스펙터 내의 모든 오브젝트를 검사하여 해당 오브젝트를 찾는다. 당연히 인스펙터에 객체가 많을수록 더 많은 성능을 요구 할 것이다. -> GetComponent 계열의 함수는 해당하는 컴포넌트를 특정 게임오브젝트로부터 찾으려고 할 때 사용한다. Find(..
1. 기존 Scriptable로 각 타입별 재정의해놓은 아이템들에 대한 관리 및 Action참조로 Animation Event를 수행할시 Null이 발생하는 문제에 대한 해결 2. Scene 로드 시 비동기 로딩씬 구현 (주말 ~ 차주)
0. 사용자 착용 아이템 ( Consumable / Equipable . .) 에 따른 값 추가 및 실시간 반영 방식 수정 : 기존 생성자참조방식 -> 직접 참조방식 이유 : Scriptable Object를 사용함으로 인스펙터상 재정의한 해당 값을 참조하는데에는 Awake()상에서 처리해주는 방식이 가장 간결하고 직관적이어서 변경하였다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using System; public class Slot : MonoBehaviour, IPointerUpHandler { Playe..
Synchronization Issues (Unity + Photon): Part 1 The start of a series exploring synchronization issues in Unity and Photon through example. john-tucker.medium.com 포톤을 통하여 각 사용자의 화면간에 동기화를 진행해줄때는 다양한 방법이 있다. 기본적으로 Application은 포톤서버와 각각 통신한다. 이 과정에서 두 플레이어(클라이언트) 간 RTT의 합계가 필요하다 . 네트워크적으로 깊은개념을 제쳐두고 우선 결과만 본다면 1초정도의 지연이 발생한다고 한다. 아래는 포톤 공식홈페이지에서 제안하는 클라이언트 간 동기화 속도 개선방법 지연 보상 | Photon Engine doc.p..