quad remesher : https://exoside.com/quadremesher/quadremesher-download/?email=ugc00023%40gmail.com&code=3f135c6543e7cdce522871f8d1e638f0

 

  • loop는 quad에서만 발생할 수 있으며, 마주보는 양 edge ( 꼭짓점을 공유하지 않는 ) 가 서로에대한 in/out으로 작동

 

example

거미 가슴

샘플 / 평면화 / 육면체 동위 / 육면체 동위 + inset 1회

 

가슴골 등 일시적으로 밀도가 증가하는 영역

 

루프 영역 진입 처리

 

원형 처리

순수 수렴 / 외곽 순환 / 쌍루프

바디

 

헤드

 

손발

'Blender & 3D Tools' 카테고리의 다른 글

Blender to Unreal Pipeline  (0) 2024.05.22
크로키  (0) 2024.05.21
기능별 개요  (0) 2024.05.21
Blender 단축키  (0) 2024.05.21
유용한 add-on 리스트  (0) 2024.05.21

Bake Normal

  • Render setting
    • Render mode : Cycles
    • Bake
      • BakeType : Normal
      • Select to Active : True
      • Max Ray Distnace : 0.1m
      • 활성객체 : 노말맵을 적용할 객체

 

Sculpting

단축키

  • F : 브러쉬 사이즈
  • Shift + F : 브러쉬 강도
  • Shift + space : 브러쉬 리스트
  • alt + [function] : anti function

팬 세팅

  • 아래키 : 마우스 휠클릭
    • ctrl + 휠클릭 : 확대/축소
    • shit + 휠클릭 : 카메라 평행이동
  • 윗키 : 마우스 우클릭

 

옵션

  • keymap - space bar → tools
  • navigation - orbit around selection → true

 

sculpt용 modi

  • MultiResolution
    • subdivide 단계별로 동적으로 변경가능한 별도채널처럼 취급하여, 관리하기 쉽게 해줌

 

 

개념

  • Face Set
    • 각 버텍스에 컬러로 채널링 가능
    • Face Set으로 각 채널을 독립 mask영역처럼 사용가능
    • 기능 - Tool(우측탭) - Brush Setting - Advanced에서 fase set 마스크처럼 사용할지 선택가능
  • Dyntopo
    • 조각하는 부위에 한정해 지정된 해상도로 remesh
    • screen 기준 vs 절대값 2종
  • Remesh
    • 단축키 : R로 해상도 배율설정 → ctrl + R로 remesh 실행
    • resolution 일관화 뿐만아니라, 내부 polygon도 다 지워줌 ( linked mesh와 linked mesh 연결 )

 

 

Geometry Node

  • 기본 단축키
    • ctrl + R drag (space) : edge 끊기
    • alt + L drag (node) : 현재 노드에 연결된 edge 전부 끊고 dissolve 처리
    • ctrl + shift + click (node) : 현재노드의 out socket을 viewer노드로 연결 ( preview )
  • in / out
    • Group Input
    • Group Output
  • Viewer

 

  • 명칭
    • actor = instance
    • instance group = collection
    • make vector = combine xyz
    • geometry = vertex + edge + face

'Blender & 3D Tools' 카테고리의 다른 글

Blender to Unreal Pipeline  (0) 2024.05.22
크로키  (0) 2024.05.21
3D Model Topology  (0) 2024.05.21
Blender 단축키  (0) 2024.05.21
유용한 add-on 리스트  (0) 2024.05.21

view port

  • 전체화면 : ctrl + space 
  • 기능 검색 : F3
  • 생성 : shift + A
  • Active
    • Modeling
    • Shading
      • ctrl + L : 그룹핑된 대상들을 마지막 선택 대상과 Link ( mat 등 )
  •  Mode
    • 조작
      • tap : object mode ↔ edit mode 전환
    • 기능 : edit의 대단위 구분에 관한 범주
      • Object Mode : Object 단위의 create, property 조작
        • A : select all
        • shift + A : select nothing
        • shift + N : create new obj
        • M : 그루핑(컬렉션)
      • Edit Mode : 선택된 object 내 점 / 선 / 면 create, property 조작
        • M : merge ( 다중선택 시 vertex 등 위치 뭉치기 )
        • PropotionalEditing : 범위 내 버텍스들이 영향받도록 ( 토글 )
        • alt + L click : 루프(그룹) 선택
        • shift + N : normal 재계산
        • L : select link _ 링크된(그루핑된) 부위 전부 선택
        • A : 전체 선택
  • Gizmo
    • 휠 클릭 : 화면 회전 ( 기즈모 드래그 )
    • shift + 휠 클릭 : 화면 이동 ( 핸드icon 드래그 )
    • 텐키 1 3 7 9 : x front, y front, z fron, -z front
    • 텐키 2 4 6 8 : 각 방향으로 15도씩 이동 ( 상,하,좌,우 )
    • 텐키 5 : orthographic 적용여부?
  • Tool
    • Mode에 따름
    • Base Tool
      • G : move
      • R : rotate
      • S : scale
    • Axis sup't
      • x, y, z : x, y, z축으로만 입력 받음
      • shift + x, y, z : x, y, z축으로만 입력 안받음
    • shift R click : create point 이동
  • Scene collection
    • N : target property window

 

Detail panel

  • ctrl + mouse wheel : tap 변경

 

pose mode ( animation )

  • ctrl + alt + C : add anim modifier ( to active selection )
  • ctrl + L - Transfer Mesh Data : active selection mesh내의 데이터들을 기반으로 데이터 작성
    • 신체기반으로 의상에 리깅 등
  • bone - rigify - generate rig : format한 ik, fk, parenting, shape, is deform등이 설정된 모듈로 변환

 

Graph

  • ctrl + R drag (space) : edge 끊기
  • alt + L drag (node) : 현재 노드에 연결된 edge 전부 끊고 dissolve 처리
  • ctrl + shift + click (node) : 현재노드의 out socket을 viewer노드로 연결 ( preview )

'Blender & 3D Tools' 카테고리의 다른 글

Blender to Unreal Pipeline  (0) 2024.05.22
크로키  (0) 2024.05.21
3D Model Topology  (0) 2024.05.21
기능별 개요  (0) 2024.05.21
유용한 add-on 리스트  (0) 2024.05.21

 

 

  • LoopTools
    • 기본 제공 플러그인
    • 곡률에서 익스트랙트할때 쓰기 좋음. 주로 곡률에서 가지를 치기 위해 원형 플랫면을 만들 때
    • Edit mode - 우측바 - Edit - Loop Tools

 

  • MeasureIt
    • 기본 제공 플러그인
    • 버텍스 인덱스 시각화 등 측량 및 정보시각화용 툴
    • 우측바 - view - measureIt Tool

 

 

 

 

  • Expy-Kit
    • https://github.com/pKrime/Expy-Kit
    • mixamo - blender - unreal 파이프라인을 도와주는 툴
    • mixamo to rigify bone
      • rig본 pose 모드 -> Expy(우측바) -> Bind To mixamo 본 -> To Bind는 Rigify_Controls, Bind To는 Mixamo, Fit Height는 head

 

 

 

  • Node : Node Wrangler
    • material node등에서 ctrl + T → 자동 default socket node 추가 등 기능

 

  • Mesh: F2 : mesh에서 f 누를 시 쿼드 생성 등 fill 기능에 좀더 context responsive한 action을 강화해주는 기능

 

  • Animation : Copy Global Transform
    • pose모드에서 액터의 world space transform 을 복/붙하는 버튼 추가
    • n탭 - 애니메이션

'Blender & 3D Tools' 카테고리의 다른 글

Blender to Unreal Pipeline  (0) 2024.05.22
크로키  (0) 2024.05.21
3D Model Topology  (0) 2024.05.21
기능별 개요  (0) 2024.05.21
Blender 단축키  (0) 2024.05.21

개요

  • Local : 내 컴퓨터에 저장됨
  • Remote : 깃 서버에 저장됨 ( 클라우드 )

 

  • Unstaged : 수정된 파일들 리스트
  • Staged : 내가 선택한 수정할 파일들 리스트
  • Commited : 수정이력 ( 제목, 설명 )을 포함한 수정할 파일 그룹

 

  • 각 브랜치/로컬상의 파일별 "최종커밋시점"을 git에서 보유

 

 

얄코 강좌

얄코doc : https://www.yalco.kr/@git-github/0-1/

git_gui_flow : https://ndpsoftware.com/git-cheatsheet.html#loc=index;

git_doc : https://git-scm.com/docs

 

Git - Reference

Reference

git-scm.com

준비물

준비물

  • CLI ( command line interface )
    • git bash 추천 ( window 환경에서 linux 터미널들의 명령어 컨셉 사용 )
  • GUI ( graphic user interface )
    • sourceTree
    • fork
git bash ( terminal ) 기본명령어

git bash ( terminal ) 기본명령어

  • J : 아래로 스크롤
  • K : 위로 스크롤
  • i : 입력 시작 ( insert )
  • esc 입력 종료
  • :q 저장없이 나가기
  • :wq 저장하고 나가기
  • :q! 저장없이 강제종료

 

기본 명령어

기본 명령어

git

  • status : 현재 수정된 사항들
  • log : 커밋 로그
  • diff : 파일 내 변경 세부내용
  • add [파일명] : stage
    • commit 파일명 ( . 입력시 전부 )
    • p : 헝크hunk단위로 add 선택 ( 헝크단위 : git에서 임의로 구분한 작업 단위 ( 파일보다 세부값 ) )
  • commit [커밋 설명]
    • -m "내용" : 내용(string) 달아서 커밋
    • -am "내용" : [새로 추가된untracked 파일이 없을 때 한정] add(stage)와 commit 동시에 진행
    • --ammend : 마지막 커밋 수정
    • -v : 커밋시 커밋 될 내용들 리스팅 ( stage 공간에 있는 이력들 )
  • reset
    • –hard [커밋 hash] : 해당 커밋으로 reset
    • --hash : 최신버전으로 reset
    • --soft : repo → stage 로 이동
    • --mixed (default) : repo → unstage 로 이동
  • revert (option) [커밋 hash]
    • option
      • --no–commit : 커밋없이 stage만 진행
    • commit -am과 동일 ( commit 문구는 자동생성 )
    • :wq로 저장종료 해야함
  • branch : branch list 확인
    • [name] : name branch 추가
    • -M [name] : 기본 브랜치명을 name으로 설정
    • --all ( -a ) : remote를 포함한 모든 브랜치 리스트 확인
  • switch
    • add--[name] : name branch tracking
    • -c [name] : name의 branch를 create하고 tracking
    • -d [name]: name의 branch delete
    • -m [nameA] [nameB] : nameA 브랜치의 이름을 nameB로 변경
    • -t [nameA] : 로컬에 nameB 브랜치 생성 및 nameA 경로의 브랜치와 연결 ( git branch -a 했을때 나오는 remote 경로 다 적어야 함 )
  • merge
    • merge conflict 해결 등, 내용(-m)이 자동생성될 경우 공백. :wq로 저장만 해주면 됨
    • [name] : name 브랜치를 현재 선택된 브랜치로 머지 ( name branch의 변경사항을 현재 branch로 가져오는 것 )
      • [name] 브랜치에서 추가로 커밋할 경우, merge 직전 commit에서 이어짐
      • 현재 브랜치에서 추가로 커밋할 경우, merge commit 이후에 이어짐
    • --abort : 컨플릭트 상태일 때, 머지 취소
    • --no-ff : 노 fasat forward ( default가 fast forward )
    • --squash : 다른 커밋들을 묶어 가져오기 ( merge보다는 여러개를 cherrypick 하는 개념에 가까운듯 _ 서로의 Head가 종속되지 않을 때 )
  • rebase
    • [name] : 현재 브랜치를 name 브랜치로 리베이스 ( merge와 반대, 현재브랜치의 commit들을 name branch에 병합 )
      • 보통 [합칠 브랜치]에서 [master]로 rebase ( 그래야 합칠브랜치의 commit들이 master의 현재 버전 다음에 추가됨 )
      • 그다음 [master]로 가서 [합친 브랜치]를 merge ( fast-forward )
    • --abort : 동일
    • --continue : conflict 해결 → add → 컨티뉴 입력 ( 한번의 rebase에서 여러 commit에 대해 해결해야 할 경우, 다음 커밋내용은 continue로 넘어감 )
    • --onto : 분기를 공유하지 않는 먼 branch의 고유commit들만 가져오기..?
    • -i [name] : name의 hash를 가진 커밋까지 사이에 있는 커밋들을 수정
      • 명령어설명
        p, pick 커밋 그대로 두기
        r, reword 커밋 메시지 변경
        e, edit 수정을 위해 정지
        d, drop 커밋 삭제
        s, squash 이전 커밋에 합치기
  • remote
    • 연결된 remote address list ( name들 ) 출력
    • -v 연결된 remote들의 세부내용
    • add [name] [remote address] : current dir와 remote address를 연결 ( name은 remote address의 이름으로 사용할 string. 보통 origin )
  • checkout : 일시적으로 특정 commit으로 이동 ( 과거 commit도 가능 )
    • --
      • [nameA] : nameA의 파일 변경사항을 초기화 ( 현재 commit 버전으로 )
    • HEAD~~ : 현재 (temp)head에서 2단계 이전 커밋으로 이동 ( ~ 혹은 ^ 갯수만큼 )
    • Head-- : 현재 (temp)head에서 2단계 다음 커밋으로 이동
  • push
    • -u [nameA] [nameB] : nameA remote에서 push의 기본연결대상을 nameB 브랜치로 설정
    • [nameA] --delete [nameB] : nameA remote의 nameB branch 제거
    • --delete : 태그 등 제거
    • -f : Head보다 이전 commit으로의 reset을 포함하고있을 때, remote에서도 reset보다 뒤의 commit들을 제거하도록 [강제(force) 푸쉬] 하는 기능
  • clone [address] : address의 clone을 current dir에 생성 ( github - project - code - HTTPS )
  • fatch : remote의 modified history를 download 및 적용
  • pull : fetch 및 최신 commit으로 head 변경 ( fetch단계를 포함 )
    • --no-rebase : remote와 local에서 달라진 분기가 있을 경우, merge 형태로 병합
    • --rebase : remote와 local에서 달라진 분기가 있을 경우, rebase 형태로 병합
  • restore
    • [파일명] : unstage → discard
    • --staged [파일명] : unstage
    • --source=[hash] [파일명] : 이전 commit의 파일명 불러오기(unstage로)
  • config
    • --global : 모든 프로젝트에 자동적용 ( pc or terminal 종속? )
    • --local(default)
    • 공통
      • --list : config값 출력
      • -e : config 값을 edit 창 ( config --global core.editor "code --wait" 사전설정 시, ide에서 설정값 수정 가능 )(code는 편집프로그램명.exe, --wait는 프로그램 종료 시 CLI 다시 동작)
      • core.autocrlf true ( 윈도우기준, 줄바꿈 호환문제 해결 윈도우-맥 )
      • push.default current : remote 연결 시, 현재 local branch와 대응되는 remote branch에 연결하도록 하는 설정
      •  user.
        • name
        • email
  • stash : 변경이력을 stash에 임시저장하고  변경사항취소 ( 현재commit으로 hard reset )
    • pop : stash에 저장된 내역을 가져옴
      • [name] : name의 스태쉬 가져오기
    • list : stash에 저장된 리스트 및 이름
    • -p : 헝크별 저장
    • drop
      • [name] : name의 스태쉬 버리기
    • clear : 모든 stash 버리기
  • reflog
    • git action 로그에 접근
  • cherry-pick [hash]

 

git setting

git setting

.gitignore : git에서 무시할 폴더

  • file.c ( 경로 무관 모든 file.c 이름을 가진 파일 및 폴더 )
  • /file.c
  • *.c ( 와일드 카드 )
  • !not_ignore_this.c ( .c 확장자지만 무시하지 않을 파일 )
  • logs
  • logs/ ( 폴더 내 하위항목 전체 )
  • logs/debug.log
  • logs/*.c
  • logs/**/debug.log
문자열 규칙

문자열 규칙

  • . : 와일드카드*
  • -[name] : name을 실행하며, name은 현재 명령의 모듈 (attached option)
  • --[name] : name을 실행하며, name은 현재 명령의 계층을 점유 (selected option)
  • -- help : 해당 명령어의 도움말페이지(웹)으로 이동
  • -h : 해당명령어의 하위 명령어 리스트 출력
  • 접미
    • [[name] or HEAD] 뒤
      • ~ : 특정 commit보다 이전 ( ~ 갯수만큼 이전 )
      • ~[숫자] : 숫자만큼 이전
      • - : 특정 commit보다 이후 ( ~ 갯수만큼 이후 )
      • -[숫자] : 숫자만큼 이후

 

개념

Snapshot

  • git은 snapshot 방식 활용
    • 델타방식 : 각 commit에서 "수정된 파일 혹은 내용"을 누적하여 최종결과물을 도출
    • 스냅샷방식 : 최종버전만 도출 ( 각 시점에서 instance한 스냅샷 상태를 가짐 )

 

분산 버전 관리

  • git은 분산 버전 관리
    • 중앙집중버전관리 : version은 remote에서 관리하고, local은 instance state만 가지고잇음
    • 분산버전관리 : version과 edit값 등 전부 clone 시 local에서 가져가 공유함 ( .git folder )

 

단계 분류

 

Head

  • 각 branch의 최신 commit
  • checkout을 통해 특정 branch의 과거 commit에 head를 배치할 경우, 일시적인 temp branch에 속해있는걸로 판정
    • 그래서 git switch로 현재브랜치 선택하면 최신 commit으로 head가 이동됨
  • 즉, 과거로 checkout해 가면, 현재 commit을 HEAD로 가지는 temporary branch를 생성하고, 그 branch로 switch 한다는 뜻
    • 그래서 create branch시, 현재 HEAD가 위치한 commit을 기점으로 신규 브랜치가 생성됨

 

Merge 방법

  • Fastforward : branchA를, branchA 이후의 commit을 가진 branchB에 merge할때, 경로를 나누지 않고 하나로 합쳐줌

fast-forward / no fast-forward / 3way-merge

 

Cherry pick

  • 다른 branch의 특정 commit 수정내역만 가져옴

 

일반적인 관리방법에 대한 컨벤션

commit msg convention

footer : break point가 있거나, 기존 이슈의 해결작업일 때

 

사용되는 브랜치들

브랜치용도
main 제품 출시/배포
develop 다음 출시/배포를 위한 개발 진행
release 출시/배포 전 테스트 진행(QA)
feature 기능 개발
hotfix 긴급한 버그 수정

ref : https://nvie.com/posts/a-successful-git-branching-model/

 

SubModule

  • 다른 repo의 데이터를 가져와서 연동 ( 읽기만 가능 )
  • .gitmodules 폴더에서 관리

 

GitHub Action

  • github - repo 페이지에서 action탭에서 확인 가능
  • CI/CD
  • .gitflow 폴더내에서 관리

 

.git 폴더 내부 구조

file storage - key_value storage (데이터) - plumbing (low_level interface) - porcelain (high_level interface) blob : 데이터(파일) ( binary large object ) / tree : 폴더-경로 구조 ( + meta data ) / commit : 각 시점의 스냅샷

 

  • hooks : 자동화를 위한 전/후처리 절차?
  • info : 인포
  • lfs ( large file storage ) : 단위의 용량이 큰 데이터의 경우, 별도의 cloud server에 올려서, git은 포인터만 가지고 있고, checkout 시 다운로드 하는 형태, 그러한 포인터형태의 objects를 관리하기 위한 폴더
  • modules : 포함하고 있는 모듈(link된 다른 repo)의 .git을 대체
  • logs :  git action log
  • Index : staged 된 ( commit 전 ) 파일들의 tree index
  • refs : 리모트와 로컬의 각 브랜치의 Head 등에 대한 commit reference data

 

objects

  • git cat-file -p SHA(폴더명 포함)
    • tree : 040000 (디렉토리)
    • blob : 100644 (읽기파일), 100755(실행파일)
    • commit : x
  • zlib으로 압축된 데이터
  • 폴더명까지 포함하여 40자 SHA
  • 폴더명까지 포함하여 중복 없을 지 앞 7자도 key값으로 사용가능 ( 동일하게 판정 )

'기타 툴' 카테고리의 다른 글

주요 툴 및 플러그인 정리  (0) 2024.05.22
Desmos  (0) 2024.05.22
[Adobe] After Effect  (0) 2024.05.21

Exposure / Local Exposure

Exposure / Local Exposure

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/auto-exposure-in-unreal-engine?application_version=5.3

Showflag.VisualizeHDR 1 이면 왠만한건 이해 됨

  • EV100
  • 파랑 : Screen(Desire) EV100 값
  • 자홍 : Current EV100 값
  • 흰색 : Calculated EV100 값
  • Metering Mask : Screen Exposure값을 계산할 때, Mask를 칠 수 있음

 

Local Exposure

  • 화면의 영역을 적절히 나눠서, 명부분과 암부분에 별도의 exposure값을 적용하는 기능

 

Color Grading 및 Tone Mapper

 

Panini 투영

Panini 투영

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/panini-projection-in-unreal-engine?application_version=5.3

  • 원근투영으로 인한 가장자리 시야왜곡을 PPS 단계에서 역보정 한다는 개념
  • r.Upscale.Panini.D 1 입력하면 적용
  • r.Upscale.Panini.D 0 입력하면 해제

https://wiki.voxelplugin.com/

정점 사이의 곡률에 대한 보간 처리

  • 일반적인 smoothing algorithm ( https://wordsandbuttons.online/interactive_explanation_of_marching_cubes_and_dual_contouring.html )
    • Marching Cube ( 예시 : 원 )
      1. 격자공간으로 샘플링 ( 안 : -, 밖 : + )
      2. 각 격자공간에 대해, 4개의 모서리값에 의해 원을 기반으로하는 선분 적용
      3. 격자공간에 대해 가중치를 주어, 선분의 위치를 보간
        1. 가중치는 원(지점)의 중심으로부터의 거리 - 기준원의 길이
      4. 샘플 파이썬 스니펫
    • Dual Controuring
      • Marching Cube의 일종으로, vertex들을 그리드위에서 판정하는게 아니라, 그리드 내부에 그리는 형태
        • 그리드 내부에 점 하나를 정의하고, 인접한 그리드가 점을 포함할 시 edge를 그리면 될듯
      • Marching에 비해 뾰족한 모서리도 표현할 수 있다는 장점 ( 사각형 등 )

 

Voxel World Plugin

  • 복셀월드 그리드 공간 내부의 각 교점들에 대해 내부적으로 계산된 (int)x, (int)y, (int)z, (FVoxelValue) value값이 있음
    • Data Set에 Bound param을 넣어 특정된 영역안의 교점리스트를 받는 형태
    • 예를들어 구형체의만큼 구멍을 낸다면 bound를 predefine해서 교점리스트를 얻고 아래식을 통해 교점들의 값을 수정 ( VoxelWorld.RemoveSphere() )
       
    •  
const float Distance = FMath::Sqrt(SquaredDistance);
const FVoxelValue NewValue{ FMath::Clamp(Radius - Distance, -2.f, 2.f) / 2 * (bAdd ? -1 : 1) };
VoxelValue = max ( VoxelValue, NewValue ) // marching cube에서 기본적으로 음수가 채워져있음을 의미

 

  • VoxelWorld.SetMaterial(Sphere, Box, 혹은 Int32Vector지정을 기반으로하는 교점 직접지정)으로 특정 material로 painting 가능

새로운 모듈 만들기
모듈 활성화

Engine 경로  : System.IO.Path.GetFullPath(Target.RelativeEnginePath)

  • Plugin은 저 아래 /Plugin붙이면 됨

 

플러그인 설정 / 모듈 기본 구성 ( {project}/Plugins/ )

Type : Runtime / Editor

'Unreal > 툴 에디터' 카테고리의 다른 글

기본 컨셉 및 용어  (0) 2024.05.21

+ Recent posts