기능
소개 영상 : https://youtu.be/q4epArkvVnE?si=JXCk6sbqx4woS5PL&t=1030
유저 가이드 : https://sites.google.com/view/propixelizer/user-guide?authuser=0
요구 사항 : URP
이걸로 빌드해도 돌아감
어떻게 작동하는지 간략 설명 : https://medium.com/@elliotbentine/pixelizing-3d-objects-b55ec33328f1
일단 프로젝트에 URP 패키지 추가돼있어야 함
패키지 매니저에서 ProPixelizer import 하셈.
Shader Variant Limit이 너무 낮게 설정돼있으면, 콘솔에 경고 뜰거임.
Edit > Preferences > Shader Graph에서 256 정도로 높이고 우클릭 - reimport 하셈.
Project Settings > Graphics랑 Project Settings > Quality에 렌더 파이프라인을 설정해야 함.
하나라도 안 하면 ProPixelizer에서 경고할거임.
요즘 버전 URP는 기본적으로 quality setting마다 RenderPiplelineAssets가 연결돼있음
렌더 파이프라인에 ProPixelizer 추가하기

URP에서
카메라 수준에서도 재정의 가능
가독성이 떨어진다. 번역의 의미가 별로 없는 것 같다.
내가 이걸 해서 무엇을 얻는지가 불분명.
차라리 한 번 써보고 어떻게 쓰는지 내 방식대로 적는게 더 나을 것 같음.

Project Settings - Quality 보니까 HighFidelity로 설정돼있길래 그것만 설정 적용

MSAA 안 껏더니 이런 오류
끄니까 사라짐

Renderer에 원래 붙어있는 Screen Space Ambient Occlusion도 끄는듯

이거 뭐라는거임
오브젝트 여러 개 선택한다음 mesh renderer에 material 추가하고 순서 바꾸려고 했더니 이러는데
"Duplicating an array element will copy the complete array to all other selected objects."
"Unique values in the different selected objects will be lost."

내 애셋에 material 넣어보긴 했는데
제대로 하는거 맞는지 모르겠네
아무 개념도 모르고 그냥 따라만 하니까 너무 답답
일단 공부를 해서 뭐라도 안 후에 애셋 건드리는게 맞는 순서인듯

우측 상단 Sidebar : 오브젝트의 좌표, 크기, 회전 등의 정보를 정밀하게 조절할 때 사용. 내 거에선 N을 눌러야 등장했다.

우측 상단 Navigate : 시점 변경 가능

Operation :
각 오브젝트의 메시 옵션들이 나타나므로 항상 옵션 창을 표시한 상태로 작업하는 것을 권장합니다. 이 창은 세부적인 수치를 조정할 때 더 효율적입니다. 메시를 생성할 때 상세한 치수를 정밀하게 조절합니다.
라고 나와있는데, 불러내는 방법도 그냥 Add - Mesh - Cube가 아니라 Add Cube라는 걸로 수상하게 새로 생성해야 나옴. 그것도 클릭하면 바로 사라짐.
찾아보니까 Edit - Adjust Last Adjust 하면 다시 튀어나온다길래 해봤더니 되긴 됨. 근데 이걸 왜 해야되는지는 아직 의문.
비주얼 스튜디오에서
프로젝트 : 소스 파일 모음으로, 컴파일해서 라이브러리나 실행 파일, DLL을 만든다. XML 형태라서 사람이 읽고 수정 가능.
솔루션 : 프로젝트의 모음으로, 여러 개의 라이브러리와 실행 파일, DLL을 만든다.
현대 컴파일러는 옵션이 많아서 매번 코드 빌드할 때마다 옵션을 지정하면 실수하니까 '빌드 설정'이라는 걸 만들어놨다.
빌드 설정은 각 프로젝트에 쓸 전처리기, 컴파일러, 링커의 모든 옵션을 모아놓은 것이다.
비주얼 스튜디오에서 새 프로젝트/솔루션 만들면 기본적으로 'Debug'와 'Release' 2개의 빌드 설정을 가진다.
# 앞으로 이번 포함 3번의 점수를 2배 얻을 수 있다는 뜻
# 세 개 묶음으로 골라서 2배 처리
# 일단 양수여야 고른다
# 전부 다 계산한 후에 그 중에 제일 큰 거 고르는
# 123 골랐을 때 이후 계산들은 123 결과를 무조건 이용한다 -> dp?
# 123을 2배시키기로 했다면 234, 345는 2배시키지 못함.
# 따라서, 123을 2배시켰다면 234, 345를 2배시키는 세계선의 최댓값들도 보고 와야함
# 123선택한 다음 2374, 345 세계선도 보고 오는 dfs
# 123 선택했다면 다음 선택지는 양수일때까지 거르고 거르다가 양수 나오면 고르기
# 선택지+2가 한계보다 높다면 그대로 끝
# dp는 굳이 적을 필요도 없고 하면 메모리 펑
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**6)
def three_sum(sb,i):
return sb[i]+sb[i+1]+sb[i+2]
def max_val(sb,idx,val):
global N
if(idx+3 > N):
for i in range(idx,N):
val += sb[i]
return val
if (three_sum(sb,idx) < 0):
return -float('inf')
for i in range(idx,idx+2):
if(i<N-2):
val = max(val,max_val(sb,i,val) + three_sum(i))
return val
N=int(input())
score_board=list(map(int,input().split()))
print(max_val(score_board,0,0))
이걸로 너무 시간 끌면 안될 것 같아서 일단 내일로 넘기기