목록전체 글 (147)
오보에블로그
상황 어떤 오픈소스 레포지토리를 fork 했다. 이후에 해당 오픈소스 레포지토리가 다른 변경 사항이 생겼고, fork 한 나의 레포지토리에도 해당 내용을 pull 받고 싶다. 해결 방법 기본적으로 나의 레포지터리는 origin 으로, fork 한 오픈소스 레포지터리가 원격 저장소로 upstream 으로 지정이 되어 있을 것이다. 아래의 명령어로 확인이 가능하다. git remote -v 만약에 지정이 안되어있다면, 직접 지정을 해주도록하자. git remote add upstream [username]/[repositoryname].git 그후에 지정한 upstream 으로 pull 받아준다. git fetch upstream [fetch받을 branch명] # fetch git pull upstream..

상황 게임에서 AI 나 시범을 보여주는 기능을 만들려고할때 버튼을 누르는 이벤트 발생시 버튼이 눌리는 효과도 같이 나왔으면 좋겠다. 구현 방식 Button 컴포넌트의 사용 방식이 tint color 일때를 기준으로 설명한다. 현재 보이는 이미지의 색상은 기본 이미지색상과 현재 버튼의 상태에 따른 색상의 곱으로 현재 이미지의 색상을 표현된다. 아래의 첨부 이미지를 보면, 버튼 배치시에Color 과 Normal Color 모두 흰색이기 때문에 버튼을 누르지 않은 기본 상태에서는 첨부한 기본 이미지 색상의 모습으로 버튼이 보인다. 따라서, 버튼이 눌리는 이벤트를 스크립트내에서 직접 호출할 때는 기본 이미지색상과 현재 버튼의 상태에 따른 색상의 곱으로 현재 이미지의 색상을 직접 표현한다. 코드 해당 코드는 Up..

Range 라이브러리 기존의 열거형 자료구조에 범위 관련 알고리즘을 추가한 라이브러리. (C# LINQ 와 비슷) range : 순회 할 수 있는 아이템 집합를 일컫는다. (ex STL Container) begin() , end() 가 가능해야함. iterator의 상위 호환 느낌인가 view : 아래에서 좀더 자세히 기술 range adoptor : | : range adoptor 오브젝트를 연결(파이프) View 독스도 찾아보고, 블로그도 찾아보았지만, 의미가 잘 와닿지 않아 좀더 찾아보았다. 참고 a view is a range that is semiregular and has constant time copy/move/assignment 뷰는 range의 is-a 관계라고 생각하면 된다. 집합의..
count , count_if template typename iterator_traits::difference_type count( InputIt first, InputIt last, const T& value ); 해당 값 또는 해당 조건식을 만족하는 데이터 개수 반환 vector v = { 1,2,3,4,5,4,3,2,1 }; cout
[C++20] Concepts library cpp 레퍼런스 홈페이지 에서 확인이 가능하다. Concepts 에 관한 내용은 이전 포스트 를 참고 바란다. std::same_as 또다른 타입과 서로 같은 타입인지 구현부 namespace detail { template concept SameHelper = std::is_same_v; } template concept same_as = detail::SameHelper && detail::SameHelper; 사용 예시 template void func(T t, U u) requires std::same_as // 같은 타입으로 안쓰면 오류는 안나오나, 호출시 통과가 안된다. { } ..
[C++20] Concept 개요 C# 에서는 클래스나 함수에다가 Where 절을 통해 제네릭 타입에 대해서 어떤 조건을 부여해줄 수 있었다 C++ 에서도 그와 비슷한 기능이 생겼다. 어떤 타입이 가져야하는 조건들을 정의하는 것이라고 보면 될 듯 하다. concept를 통해 선언 해주고, requires 등을 통해 사용할 수 있다. 사용 방법은 여러가지이다. concept : 제약/ 요구 조건을 기술 및 선언 requires : 해당 타입/템플릿이 가져야하는 제약 조건 지정 이런 제약 조건들은 컴파일 타임에 결정되어, 빌드는 느려질 지언정, 실제 프로그램 실행시에는 빠르게 연산된다. 즉, 컴파일 타임에 결정되는 제약 조건을 어떤 타입에 대해서 지정을 하는 것이다..! 예시 확인 예시를 확인해보자. 다음 ..

쿠킹덤이 지난 번에 1주년이 되고나서 업데이트가 자주 되는것 같았다. 오늘 강남역에 가보니 전철 전광판에 쿠킹덤이 보였다. 데브시스터즈 사이트를 보니 쿠키런 캐릭터를 이용한 다른 신규 프로젝트를 진행하는것 같은데 기대된다!
1. 참고 블로그 멍토님께서 작성하신 포스트 가 정말 잘 설명되어 있어 해당 포스트를 참고해서 해결하였고, 기록을 위해 작성한다. 2. Sqlite 다운받기 다운로드 링크 접속해서 자신에게 맞는 버전을 다운로드한다. 3. 플러그인 파일 등록 2 에서 다운로드 받은 파일을 압축해제하면 sqlite3.def , sqlite3.dll 파일을 유니티 프로젝트의 Assets/Plugins/에 올린다.( 없다면 폴더 생성) 자신의 로컬 경로에서 Mono.Data.Sqlite.dll도 Assets/Plugins/에 올린다. 필자는 C:\Program Files\Unity\Hub\Editor\2020.3.19f1\Editor\Data\MonoBleedingEdge\lib\mono\4.5 이었음. 안드로이도에서 사용하기..

19일에 한국모바일게임협회 에서 대한민국 NFT포럼을 진행했다. 오프라인으로 50명까지 신청 가능했지만, 기간이 끝나고나서야 알았기 때문에 온라인 신청을 했다. 다른 할일도 있었기 때문에 다 듣지는 못하고 골라서 들었는데, 그중에서 기억에 남은 부분은 컴투스의 "컴투버스" 였다. 내가 이해 하기로는 메타버스 상황에서 직장도 다니고 쇼핑도 하고~ 여가도 즐기는 플랫폼을 만든다는 것 같았다. 실제로 메타버스 속에서 근무하고 소통하는 플랫폼을 영상으로 보여주었다. 3D의 게더 타운 느낌이 났고, 확실히 사무실 느낌의 공간을 보여주었다. 쇼핑몰은 홍보영상으로만 잠깐 보았는데, 나는 한 유튜버가 마인크래프트에서 실제 가게들을 입점시키는 메타버스 쇼핑몰을 만든것이 떠올랐다. 회사에서 사업적인 방향으로 이끈다면 어떤..
fxc 란? DireceX 에 포함된 셰이더를 오프라인에서 컴파일 시 사용하는 도구 실행 방법 디버그 모드 버텍스 셰이더 관련 컴파일 fxc "컴파일 할 셰이더 파일명.hlsl" /Od /Zi /T vs_5_0 /E "버텍스 셰이더 함수명" /Fo "컴파일한 셰이더 파일 명.cso" /Fc "컴파일한 어셈블리 코드 명.asm" 픽셀 셰이더 관련 컴파일 fxc "컴파일 할 셰이더 파일명.hlsl" /Od /Zi /T ps_5_0 /E "픽셀 셰이더 함수명" /Fo "컴파일한 셰이더 파일 명.cso" /Fc "컴파일한 어셈블리 코드 명.asm" 릴리즈 모드 버텍스 셰이더 관련 컴파일 fxc "컴파일 할 셰이더 파일명.hlsl" /T vs_5_0 /E "버텍스 셰이더 함수명" /Fo "컴파일한 셰이더 파일 명..