일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- SpinLock
- map
- unityAR
- 게임개발
- 스핀락
- 동기화
- 뮤텍스
- 유니티슈팅게임
- NotFoundException: String resource ID #0x0
- Unity
- C++
- 광유다
- photon
- 지크슈
- 바이너리세마포
- list
- dependencyResilutionManagement
- semaphore
- registerForActivityResult
- 안드로이드스튜디오
- Java
- mutex
- 유니티
- 세마포
- StartActivityForResult
- ARface
- unorderedset
- Vector
- 포톤
- unorderedmap
- Today
- Total
목록개발 (72)
와와
스택 메모리 - 정적 할당, 컴파일 시간에 크기가 결정됨, 함수 호출 시 자동 할당되고 함수 종료 시 자동 해제됨 - LIFO(Last In First Out)방식으로 관리되며, 메모리 관리가 간단하고 빠르다. 스택의 크기는 제한적이기 때문에 큰 데이터를 저장하기에는 적합하지 않다. 정적 할당: Static Allocation - 변수/객체의 크기와 수명이 컴파일 시간에 결정된다. 힙 메모리 - 동적 할당, 프로그램 실행 중에 크기가 결정되며, 개발자가 'new' 연산자를 사용하여 메모리를 할당하고, 'delete' 연산자를 사용하여 메모리를 해제한다. - 스택에 비해 관리가 복잡하고 할당 및 해제 속도가 느리다. 그러나 메모리의 크기 제한이 스택보다 유연하여 큰 데이터를 저장하기에 적합하다. 동적 할당..
Vector 내부 구현: 동적 배열 기반. 요소들이 메모리 상에서 연속적으로 저장 (요소끼리 간격 없음) [요소1][요소2][요소3][요소4]...[요소n] 접근 시간: 인덱스를 통한 랜덤 접근 : O(1)의 시간 복잡도 메모리 할당 초기에는 일정 크기의 메모리 블록을 할당하여 요소 저장. 공간이 가득 차면 현재 크기의 두 배에 해당하는 새로운 메모리 블록을 할당하고, 기존 요소들을 복사한 뒤 기존 메모리를 해제 삽입과 삭제: 메모리 상에서 요소가 연속적으로 위치하기 때문에, 중간에 요소를 삽입하거나 삭제하는 작업은 O(n)의 시간 복잡도, 맨 끝에 요소를 추가하거나 삭제하는 작업은 상수 시간 복잡도(O(1))를 가짐 vector 예시 #include #include int main() { std::ve..
vector밖에 모르는 나...의 보다 쾌적한 코딩 활동을 위해 map, set에 대해서 공부해보겠습니다. vector VS map VS set vector 정수 인덱스 사용, 값을 저장 map 키 인덱스 사용, 키-값 쌍을 저장, 빠른 검색. set 중복 요소 허용X, 키 저장, 빠른 검색. ordered map VS unordered map ordered map (std::map) : 키에 따라 정렬된 상태로 데이터 유지 : 이진 검색 트리(대부분의 구현에서는 레드-블랙트리)를 사용하여 구현 : 키에 대해 순서대로 반복하거나 특정 순서를 유지해야 할 때 유용 : 주요 연산(검색, 삽입, 삭제)은 로그 시간 복잡도 '0(log n)' unordered map (std::unordered_map) : 해..
플레이어 조작은 상태패턴으로 구현했다..! 상태 패턴(State Pattern)- 객체 지향 프로그래밍에서 사용되는 디자인 패턴 - 객체의 상태에 따라 동작이 달라지는 상황에서 유용하게 사용 - 상태를 클래스로 표현하고, 각 상태마다 해당 상태에서의 동작을 정의하는 방식으로 구성 Context(상태를 가지는 객체): 상태 패턴을 적용할 객체 또는 컨텍스트를 나타냅니다. 이 객체는 상태를 가지며, 현재의 상태에 따라 다른 동작을 수행하게 됩니다. 컨텍스트는 상태 객체와 상호작용하며, 상태 전환을 요청하거나 현재 상태에서의 동작을 수행합니다.State(상태): 상태 패턴에서 상태를 나타내는 인터페이스 또는 추상 클래스입니다. 이 인터페이스는 컨텍스트의 각 상태에서 수행되어야 할 동작을 선언합니다. 주로 상태..
캐릭터 조작을 구현하려면 FSM 공부가 필수인가봅니다. 공부해보겠습니다 1. 왜 필요할까? 내가 현재 작업하고 있는 부분은 플랫포머 2D 캐릭터 조작이다. 좌/우 이동, 점프, 사다리 오르내리기만 구현하면 될거라 생각하고 아주 얕잡아봤었다! 이 코드는 초반에 내가 작성한 코드......using System.Collections; using System.Collections.Generic; using UnityEngine; public class MoveController : MonoBehaviour { private Movement movement; private float x; private void Awake() { movement = GetComponent(); } private void Upda..
범용으로 사용 가능한 *렌더링 파이프라인 더보기 렌더링 파이프라인이란? : 3차원으로 만들어진 모델을 2차원에 투영하는 렌더링 과정 : 컴퓨터에 데이터로 존재하는 3D 리소스가 모니터에 픽셀로 출력되는 과정이다. 고품질의 렌더링 제공 PC, 콘솔, 모바일, VR, AR 등 거의 모든 플랫폼에 적용 가능 포스트 프로세싱 기능과 통합되어 다양한 후처리 그래픽 효과 처리 1. Universal RP 패키지 Install 2. URP Assets 생성 및 설정 에셋 생성 후 따로 폴더에 넣어주었다. 3. Player Settings - Graphics 설정 [Project Settings] > [Graphics] > [S..
1. 움직이는 배경 ( Matarial offset 설정 ) 이렇게 끝없이 이어지는 것 같은 배경을 만들고자 한다. 우선 배경으로 쓸 이미지를 Material 로 만들어야 함 Material 을 하나 생성하여 MainMaps - Albedo 에 원하는 이미지를 넣어 저장한다. 저기 하마 스티커가 붙어있는 부분(offset)을 조절하면 지구본처럼 화면이 제자리에서 돌아간다 오브젝트에 해당 Material 을 입히고 스크립트에서 offset을 조절해주면 끝 이렇게 오브젝트에 Material을 넣어주고 using System.Collections; using System.Collections.Generic; using UnityEngine; public class BG : MonoBehavi..
적이 바닥에 닿거나 플레이어가 적과 닿게 된다면 게임 오버다. 게임 오버가 되면 첫번째 장면과 같이 본인의 점수와 랭킹 화면이 나오게 된다. 1위부터 5위까지 출력하고 본인의 점수는 아래 나타난다. 화살표 버튼을 누르면 메뉴가 있는 처음 씬으로 돌아가게 된다. 1. 게임 오버 게임 속 시간을 조절하여 게임을 실행하고 중단 시킬 수 있다. Time.timeScale = 1; >> 게임 실행 Time.timeScale = 0; >> 게임 중단 void Awake()에 timeScale을 1로 설정하여 게임을 시작하고 게임이 종료되어야 할 때 GameOver() 함수 안에 timeScale = 0;을 넣어 호출해주었다. 화살표 버튼을 누르면 MenuBtnClick() 으로 인해 처음 메뉴 씬이 다시 로드되고 ..
: 총알 오브젝트 (프리펩) - 생성된 총알은 직선으로 쭉 나아감 - 총알 오브젝트가 화면 밖( y축으로 1000 이상 )을 벗어나면 삭제 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Bullet : MonoBehaviour { public float bulletSpeed = 15f; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { transform.Translate(Vector3.up * Time.de..
- 적 오브젝트 생성 시 아래로 움직임 > transform.Translate() - 화면 아래로 사라지면 게임 오버 > 스크린 좌표계로 오브젝트 위치가 y축으로 -5 미만일 때 게임 오버 - 물체 충돌 시 오브젝트 삭제, 플레이어와 충돌 시 게임 오버 > OnCollisionEnter using System.Collections; using System.Collections.Generic; using UnityEngine; public class Enemy : MonoBehaviour { public float enemySpeed = 7f; //속도 public GameObject Explosion; // Start is called before the first frame up..