개발 JOB소리

개발 JOB소리

  • 분류 전체보기
    • 포트폴리오
    • 게임개발
    • 백준
    • C++공부하기
    • 개발잡소리
    • 수학
    • 개발 기록
    • 팀 프로젝트 후기
    • Shader_HLSL
    • Shader_유니티 쉐이더 그래프
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

개발 JOB소리

컨텐츠 검색

태그

string 클라이언트보안 개발일지 Unity solid 개발 자료구조 dod Vector 객체지향 쉐이더그래프 게임클라이언트 c# 수학 vertex EDGE stack STAC 쉐이더 유니티

최근글

댓글

공지사항

아카이브

분류 전체보기(51)

  • [ 개발 잡소리 ] 님들이 보고 있는 색깔은 사실 가짜임 - 색 공간과 sRGB(Standard RGB)

    시작에 앞서 퀴즈아래 두 0 ~ 1 보간 Gradient 중에서 무엇이 기계적으로 완벽한 선형보간일까?????? 정답은 1번이다.하지만 우리가 눈으로 인식하기에는 2번째 이미지가 좀 더 뭐랄까. 이상적인 보간 같다.이처럼 컴퓨터는 모니터가 색상을 출력할 때일종의 사람을 위한 시각 친화적 보정을 거칠 필요가 있다는 아이디어에서 시작한다. 따라서 우선 '감마보정'(gamma correction)에 대하여 알아보자 # 감마 보정과 CRT 색 공간감마보정이 등장한 것은 흔히 브라운관이라고 알려져 있는 음극선관(CRT) 모니터의 출력이 비선형적특성을 가지고 있었기 때문에 그것을 보정하기 위해 카메라의 선형 입력을 비선형으로 만들어주기 위해 탄생된 것으로 알려져 있다. 하지만 실제 목적은 인간 시각의 비선형성에 맞..

    2025.09.11
  • [ 게임 개발 ] 유니티 쉐이더 그래프 6 - Posterization

    포스터라이즈가 머임???포스터라이즈란 이런 것이다....텍스쳐, 픽셀에서 표현 가능한 색상값을 양자화하여 색을 줄이는 과정이다.# 접근 (포스터라이징 왜 쓰지 이거?)# 색상 표현우선 포스터라이즈를 위해서는 색상 표현에 관한 기본적인 이론을 알아야 한다.일반적으로 픽셀은 RGB 채널에서 각각 Red, Green, Blue 삼원색에 의해 표현된다.각 채널 값은 보통 0 ~ 1의 범위로 값을 가지며 1은 최대 밝기, 0은 최소 밝기이다.현대의 디스플레이는 수많은 중간 값을 표현할 수 있어 부드럽고 자연스러운 색상을 만들 수 있다. # 포스터라이징의 의의그럼 포스터라이징의 목표는 무엇일까?앞서 현대의 디스플레이가 다양하고 풍부한 색감을 표현할 수 있다고 했었는데.그게 오히려 뭐랄까. 어떤 고전스럽고 레트로한 ..

    2025.09.11
  • [ 게임 개발 ] 유니티 쉐이더 그래프 5 - PIXELIZE

    픽셀라이즈고해상도 이미지나 렌더링 된 화면을 의도적으로 뭉개서 픽셀화를 시키는 작업을 의미한다.일반적으로 도트 픽셀 그래픽을 주로 사용하는 2D게임이나 복셀 그래픽 스타일 게임에서 자주 사용된다.최근에 진행 중인 프로젝트 중에 2D, 3D 복셀프로젝트가 좀 있었어서 생각나서 글을 써보려 한다.뭐 암튼 그럼 예 # 이론# 모자이크 어떻게 하는 거임???픽셀을 뭉개버리는 방법에는 여러 가지가 있다. 블러나 모자이크가 대표적인 픽셀을 부숴서(?) 원래의 형태나 온전한 색을 알아보기 힘들게 하는 방식이긴 한데.둘은 차이가 좀 있다. 블러는 일반적으로 주변 픽셀의 색상값을 평균내거나 가중치를 부여하여 혼합하는 방식이다.하지만 모자이크(Pixelize)는 특정 구역 내의 픽셀을 전부 같은 색상으로 강제통일 시키는..

    2025.09.10
  • [ 개발 잡소리 ] 타입 객체 패턴(Type Object Pattern)이 무엇일까?

    타입 객체 패턴 (Type Object Pattern)이 무엇일까? 생각보다 많이 단순해서 글이 그렇게 길지도 않다. 타입 객체 패턴은 객체의 유형(타입) 을 별도의 객체로 분리하여 정의하는 디자인 패턴이다.여기서 유형이란. 여러 다양한 객체가 가질수 있는 공통된 요소가 될수있다. 잠깐. 이러면 객체지향의 상속구조는 뭐가되는거냐? 이런식으로 하면 전통적인 객체지향적 상속 구조로는 이런식으로 표현가능하다.public class Enemy { public string Name; public int Health; public int AttackDamage; public Enemy(string name, int health, int attackDamage) { Name = na..

    2025.07.15
  • [ EDGE 개발 기록 ] 탄막 회피 AI - DFS + 백트래킹 기반

    그냥 냅다 Enemy 뭐 만들지 생각하다가." 아. 엄청 많은 탄막을 그냥 슉슈슉 피해버리는 사기적인 에너미가 하나 있으면 간지 나고 좋지 않을까 "라는 생각을 떠올렸다. 그리고 실제로 그것을 만들게 되었는데. 일단 여러 조건이 존재했다.# 조건1. 피할 대상인 탄막들이 멈춰있거나 작은 속력을 가지고 있을 것.이것은 왜이런가 하면. 만약 탄이 엄청 빠른 속도로 날아오는데. 이를 피하려면 탄막의 속력에 따른 다음 위치까지 미래예지처럼 계산을 한 다음 그 위치를 기준으로 피해야 하는데. 이게 너무 성능이 구리게 나올 것 같다.애초에 단순한 회피 알고리즘 치고 기능이 너무 딥해지는 것 같다. => 이를 해결하기 위해 시간을 감속하고 이동하는 스킬의 연출로 만들기로 정했다. 2. 성능이 좋아야 한다이전에 살짝 ..

    2025.05.30
  • [ 개발 잡소리 ] DP(Dynamic Programming)란 무엇인가?

    서론 - DP가 뭐임?DP는 Dynamic Programming의 약자를 의미한다.동적 프로그래밍, 동적 계획법 등 여러 이름으로 불리고 오늘날의 개발자들에게 필수적인 덕목이라고 볼 수 있고,게임 개발자라면 더더욱 알아야만 하는 중요한 지식이다. 이런 멋진 기술의 기원을 타고 올라가면..DP라는 개념은 1950년대 '리처드 e 벨먼'이라는 굉장하신 수학자께서 만드셨다.당시에는 복잡한 문제를 작은 세부 문제들로 나누어 효율적으로 푸는 방법을 찾기 위해서 제시되었다. 핵심 아이디어는. " 같은 연산을 여러 번 하지 않을 것 "이다.DP는 같은 연산을 하지 않기 위해 이전에 했던 연산을 기억해 두고. 후에 다른 연산을 할 때이를 꺼내 쓰면서 문제를 해결해 나가는 방식이다. 이런 식으로 앞서 계산했던 것을 기..

    2025.05.19
  • [ 게임 개발 ] Stack구조 기반 TimeScale관리

    # 문제 상황게임을 개발할 때. Time.timeScale을 수정할 일이 생긴다. 예를 들자면 일시정지 Pause UI가 켜졌을 때, TimeScale을 0으로 만들어, 게임의 진행 상황을 정지시킨다.또한 액션게임에서 시간을 정지 혹은 감속, 배속시키는 경우도 있을 것이다. 하지만, 각각의 경우가 중첩된다면 어떻게 할까? DIO가 "더 월드! 시간은 멈춘다!"를 사용할 때 TimeScale은 8초간 0f 일 것이다.하지만 그 사이에 죠타로가 잠시 게임 일시정지를 사용하고 일시정지를 해제하면?PausePanel의 코드 내에서 패널이 단순히 켜질 때 정지, 꺼질 때 재개로 만들어두었다면.디오의 스킬이 끝나지 않았음에도 TimeScale이 1f로 돌아오는 참사가 발생할 수 있다. 시간이 느리게 흐르는 연출이 ..

    2025.05.18
  • [ 게임 개발 ] FAKE(가짜) NULL이 존재한다고????

    졸작 개발을 하다가 기괴한 버그를 발견했다. Scene을 비동기로 넘길 때 다음과 같은 문제가 발생되었다.유니티의 주장에 따르면 저 Overlap부분에서 MissingReference 오류가 발생한다고 한다.하지만 저기서 유일하게 참조객체인 놈은 transform 뿐....왜 이러는가?근데 transform이 null이면 아예 Grab()을 호출한 쪽에서 missingReference가 떠야 하는 거 아닌가?그럼 transform은 파괴되었는데 컴포넌트 객체는 파괴가 안되어서 이런 일이 발생하는 것인가? 일정 부분 맞는 말이다.하지만 transform과 컴포넌트는 동일한 생명주기를 가지고 있기 때문에, 독립적으로 먼저 파괴될 수는 없다.씬이 변경될 때에 모든 GameObject들을 파괴하는데. 이때 파괴..

    2025.05.08
  • [ EDGE 개발 기록 ] 플젝 개요와 Enemy AI SO분리 시스템

    개요Edge가 무엇인가.. 그것은 동계 게임잼 프로젝트에서 기원한 게임인 것이다.(이때 만든 게임인.) [ 팀 프로젝트 후기 ] 동계 게임잼 시즌2를 마치며왜 시즌 2냐면 올해 1월에도 동계 게임잼을 했었다.그때는 고1 신분으로 참여하게 된 행사이지만 같은 해인 2024년 진행했기 때문에 이번에 한 게 시즌2라고 볼 수 있다.12월 18~20 일까지 동계 게임dev-vcs.tistory.com 여러 프로젝트들을 끝내고 나서. " 아 나중에 다시 리메이크해야지 "라는 생각을 해왔고.실제로 프로젝트를 파기까지는 성공한 프로젝트들이 수두룩 하지만.진심으로 개발을 지속한 프로젝트는 거의 없었다. 하지만 동계 게임잼 프로젝트였던 Edge? 게임성도 좋았고. 실제로 결과도 좋았던 프로젝트였기 때문에,여기다 시간을..

    2025.04.23
이전
1 2 3 4 5 6
다음
vcsHB GitHub vcsHB Portfolio
© 2018 TISTORY. All rights reserved.

티스토리툴바