이 블로그 검색

2017년 3월 7일 화요일

1강(Create Tab,select,move,rotate,scale, 기본도형,특수도형,창문,계단,선,화면컨트롤)

1강(Create Tab,select,move,rotate,scale,
기본도형,특수도형,창문,계단,선,화면컨트롤)
⬜✅☑←→↓↑➔❏✚✓✕❋➖➗➕❗✅☑
✅브라켓 (단축키 : j)
✅p,f,t,l,v 화면 뷰 단축키
언더바가 있는 것이 단축키
아이소메트릭뷰 예전 유저뷰와 같다. (원근감이 없음./ 왜곡을 없앰)
2014부터 윈도우 키 + shift 키일 때 뷰가 이동을 한다. (별 것 아닌 것 같지만 편하다.)
-6개의 Tab
Create
-롤 아웃 메뉴
-스피너 (숫자 업다운 하는 버튼)
-스피너에 마우스 오른쪽 버튼누르면 최소값이 들어감
-박스와 실린더를 주로 쓰고 나머지는 잘 안씀.
-세그먼트 선을 추가함. /
-editMesh 최근에는 잘 안씀 / 삼각형 위주의 편집이다 보니 가벼우나 모델링하기가 힘들어서 잘 안씀
-editPoly /
-Stack 맥스는 스택이 쌓인다. 맨 밑에가 제일 먼저 작업 한 것임. / 맥스는 전단계로 돌아갈수 있다는 장점이 있다. 그러나 쌓이면 무거워서 합치게 된다.
-폴리건 넙스 솔리드 동영상 숙제(16722)
-Real-WorldMap Size : 실제 사이즈로 맵핑을 주겟다. 실제로 계산을 해야 돼서 힘들다.
-건축에서 실제크기로 모델링을 했으면 실제 사이즈로 맵핑을 할 수 있다. 그러나 절대 쓰지 않는다.
-맥스는 예전에 3가지 버전 G맥스(게임용)/망함, normal맥스, viz맥스(건축용)->최근 3dmax design바뀌었으나 기능들이 많이 빠져서 불편하고 디폴트 값이 멘탈레이로 잡혀있고 RealWorlMapSizw가 디폴트로 잡혀있어서 불편함.
-Keyboard Entry 캐드처럼 원하는 곳에 오브젝트를 만들 수 있다.
✅-gird (단축키 :G)
-월드 좌표계와 스크린 좌표계 좌표계 (Coordinate system) : 중요
-transform gizmo : 변형이 일어나는 도움자(helper)
-Views > show Transform Gizmo (단축키 : ctrl + shift + x / 예전에는 단축키 x )
✅F5 : x축 활성화
✅F6 : y축 활성화
✅F7 : Z축 활성화
✅+ : 기지모 크기 키우기
✅- : 기즈모 크기 작게 하기
QWER :select,move rotate, scale / 마우스 오른쪽 눌러스 선택해도 됨
-rotate
✅R : x축
✅G : y축
✅B :z축
angle snap ; (단축키 : a)

❏Modify
❏Hierachy
❏Motion
❏Display
❏Utiltes
❏Create > sphere : ❏chop : 세그먼트 양 유지하지 않고 변형 ❏Squash : 세그먼트 양 유지하면서 변형
                                ❏Base to pivot : 구를 중심이 아닌 바닥부터 그리고 피봇도 바닥에 놓음
❏GeoSphere :sphere와 구와 비슷하지만 세그먼트 형태가 삼각형임.
-세그먼트 모양을 바꿀수는 있음. 많이 쓰지는 않음.
-Tube 등등
-기본도형 설명.
-모디파이 합칠 때
Hold/yes : 변형하지 않고 내려간다. (절대체크하지 마라)
yes : 변형을 포함해서 내려간다.(이 것으로 체크 할것)
no : 변형하지 않는다.

connect를 못 찾으면 cut으로 연결
Top level
sub-object level
edit editable : edit는 전단계로 돌아갈수 있음, 애니안됨. ~able :전단계로는 못가나 애니메이션이 가능,스택이 가벼움.
❏show end result on/off toggle : 스택 아래 단계에 있어도 결과를 보고 싶다.
Preference > General > Display Topology-Depen-dence Warning ; 모디파이 합칠 때 경고창을 나오게함.
✅Ctrl + shift + e : connect
❏connect
❏break
❏attach : 한 개한개 붙이기
❏Wall은 Wall끼리 attach해야 속성을 유지할 수 있다.
❏window
선그리기
❏zoom
❏wheel

-interpolation > : 보간법
Optimize : 세그먼트 무조건 최소화 / 디폴트값
Adaptive : 세그먼트 최적화 (필요에따라서는 선을 추가함 최소화가 아님) /캐드에서 가져온 파일을 반드시 체크 / 높은 퀄리티를 요구할대 체크

2017년 2월 21일 화요일

유니티 그래픽 최적화

unity 그래픽 성능 최적화 관련 팁


  • GPU는 종종 필레이트(fillrate) 또는 메모리 대역폭 제한되어 있습니다
  • 낮은 해상도로 게임 실행함으로써 빨라졌다면, GPU의 필레이트에 의해 제한되어 있을 가능성이 높습니다.
  • CPU는 종종 렌더링되야 하는 배치의 수에 제한됩니다.
  • Rendering Statistics 창에서 “batches”를 확인하세요.

게임을 더 빠르게 하기 위한 간단한 체크리스트

  • PC 용으로는 타겟 GPU의 스펙에 맞게 정점 수를 20만에서 300만보다 적게합니다.
  • 내장 쉐이더를 사용하는 경우, Mobile 또는 Unlit의 카테고리에서 선택합니다. 모바일이 아닌 플랫폼에서도 작동하지만 더 복잡한 쉐이더가 단순화되고 근사화(approximated)된 버전입니다.
  • 씬에서 다른 메테리얼의 수가 낮도록 억제합니다 - 서로 다른 오브젝트간에 메테리얼을 최대한 공유합니다.
  • 움직이지 않는 오브젝트에 대해 Static을 설정하고 Static Batching과 같은 내부 최적화를 허용합니다.
  • Only have a single (preferably directional) pixel light affecting your geometry, rather than multiples.
  • Bake lighting rather than using dynamic lighting.
  • 가능한한 압축 텍스처 포맷을 사용하고, 그 외의 경우는 32비트보다 16비트를 선택합니다.
  • Avoid using fog where possible.
  • Occlusion Culling의 장점을 배운 뒤, 복잡하고 static한 씬에 의해 표시되는 지오메트리의 양 및 Batche Batche 드로우콜을 줄일 수 있습니다. 오클루전 컬링의 효과가 나오는 레벨의 설계를 합니다.
  • Skybox을 사용하여 멀리 있는 지오메트리를 “진짜처럼 보이게 합니다.”
  • 픽셀 쉐이더를 사용하거나 Texture Combiner를 사용하여 다중 패스가 아닌 복수의 텍스처를 믹스합니다.
  • Use half precision variables where possible.
  • 복잡한 숫자 계산에서는 사용을 최소화하고, 예를 들면 pow, sin, cos 등을 픽셀 쉐이더에서의 사용을 최소화합니다.
  • 프라그먼트(Fragment) 당 텍스처를 보다 적어지도록 합니다.

Statistics 창에는 다음 정보가 포함됩니다 : -


Time per frame and FPS
하나의 게임 프레임을 처리 및 렌더링하는 데 걸린 시간(및 상호 관계에 있는 프레임/초). 이 숫자는 프레임 업데이트 및 게임 뷰의 렌더링에 걸린 시간만 포함되는 것에 유의하십시오. 에디터가 씬 뷰 인스펙터의 그리기 및 에디터 전용 작업을 수행하는 데 걸린 시간은 포함되지 않습니다.
Batches
“Batching” is where the engine attempts to combine the rendering of multiple objects into a chunk of memory in order to reduce CPU overhead due to resources switching.
Saved by batching
Number of batches that was combined. To ensure good batching, you should share materials between different objects as often as possible. Changing rendering states will break up batches into groups with the same states.
Tris and Verts
그려진 삼각형과 정점의 수. 이것은 optimizing for low-end hardware에서 중요합니다.
Screen
화면 크기, 안티 앨리어싱 레벨 및 메모리 사용량.
SetPass
렌더링 패스의 수. 각 패스에 대해서 유니티 런타임은 CPU 오버헤드를 가져올 수 있는 새로운 쉐이더를 바인딩한다.
오브젝트가 같다고 해도 사용하는 머터리얼 갯수가 늘러나면 SetPass 숫자가 늘어난다.
Visible Skinned Meshes
렌더링된 스킨 메쉬 수
Animations
재생 애니메이션의 수
오브젝트의 갯수가 많아질수록 draw call 숫자가 증가 한다.
오브젝트를 맥스에서 attach를 시키면

2017년 2월 19일 일요일

1111


[74강-1]
⬜✅☑←→↓↑➔❏✚✓✕❋➖➗➕❗✅☑
❏Mode
  • Bucket mode : 버킷이 독립적으로 계산해서 버킷간의 경계가 생길수 있고 렌더링이 오래걸림.
  • 사용안함.

  • Single frame : 프레임마다 솔루션을 계산한다. 스틸컷에서 쓰는옵션
  • 스틸컷 다이나믹 에니메이션(오브젝트가 움직일때), 인도어 아웃도어 다 가능하다.
  • 카메라가 움직이면 플리킹이 나온다.

  • Multiframe incremental : 에니메이션에서 유용하다.카메라가 이동하는 에니에서 쓴다. Fly -through 에니메이션에서 씀. 오브젝트가 무빙하거나 라이트나 매핑이 바뀌는 것에서는 절대 사용해서는 안된다. / 즉 카메라만 이동하는 에니메이션에서만 쓴다.  

  • From file :  저장된 솔루션을 사용할때 사용한다.

  • Add to current map : 이전 프레임을 합쳐서 계산하는 방식 , 하드에다가 저장하는 방식

  • incremental add current map :  추가된 부분만 계산해서 덧붙인다.
  • 카메라만 움직이는 경우에만 쓰고 오브젝트가 움직이거나 색이 바뀌는곳에 쓰면 안됨.
  • 이레디언스 맵을 첫 프레임만 계산을 하고 다음 프레임은 추가된 부분만 추가해서 계산하는 방식이다. 렘에서 저장하는 방식. Multiframe incremental과 같은 방식으로 계산.

❏animation (prepass)
  • 모든 프레임의 솔루션을 계산을 하고 각 프레임별로 솔루션을 저장함.
  • 프레임별로 솔루션을 함으로써 생긴 경계부분의 플리킹을 블렌딩
❏Animation (rendering)
  • 프레임별로 솔루션을 함으로써 생긴 경계부분의 플리킹을 블렌딩
  • interp frames : 수치에 영향을 받아 블렌딩이 됨. 플리킹이 일어나면 수치를 높이지만 너무 높이면 블렌딩을 많이 하므로 디폴트로 사용하는게 좋다. 그런데 플리킹이 일어나면 수치를 3정도로 높인다.
❏모드 전체를 섞어 쓸수 있다.
  • 인크리멘탈로 전체를 하고나서 싱글로  중간중간 섞고 멀티프레임 인크리멘탈을 띄엄띄엄 솔루션을 하고 나서 스크립트를 통해서 합친다. 이레디언스맵 뷰어는 2개씩밖에 못합치기때문에 실무에서는 못쓴다.



❏Don’t render final image
  • 솔루션을할때는 반드시 체크(솔루션만 저장을 하기 위해)
  • 렌더링을할때는 반드시 체크해제를 해아한다.(렌더링 걸었는데 결과물이 없음)
  • 추가로 에니메이션을 할때는 반드시 에니메이션 이름을 주고 저장버튼을 눌러줘야한다.
  • ❏Every Nith frames도 신경을 써줘야 한다.

❏Don’t delete
  • 솔루션한 값을 지우지말고 렘에 저장해라.
  • 체크 해제하면 렌더링이 끝나면 저장을 할수가 없다.
  • 안할거면 ❏auto save로 미리 저장한다.

❏Swith to saved map
  • 한번 솔루션을 하면 나중에 똑같은 프레임을 할때 알아서 from file로 바뀌는 기능.


❏엔진 조합
❏indoor static renders
  • IM + QMC : 안좋다.
  • QMC + QMC : 최악
❏HSph .subdivs : 음영의 디테일을 살리는것
❏Interp. samples : 음영을 문지르는것? 사로 상반관계이기 때문에 같이 높이면 안된다.
  • 디폴트가 20인데 30이상은 주지 말아라.

❏INDOOR STATIC ANIMATIONS (fly _through) 방식
  • 이레디언스맵은 저장해서 합쳐서 해야 플리킹이 없어진다.
  • 단 카메라만 움직이는 스테틱 에니메이션만 가능한 것이다.
  • 인크리멘탈로 한번 저장, 싱글 프레임으로 중간중간 솔루션을 저장한다 멀티프레임 인크리멘탈로 중간중간 한개의 파일로 저장 후 합친다.
  • 우리는 가능하면 다이나믹은 에니메이션은 따로 렌더링을하고 나머지 건물은 스태틱으로 렌더링을 하는 것이다.

❏INDOOR DYNAMIC ANIMATIONS
  • 다이나믹 에니메이션의 가증 큰 문제는 플리킹이다.
  • 예전방식에는 해결방식이 별로 없었는데 최근에 나온 ❏Use camera path가 많은걸 해결해준다.
  • 예전에는  이레디언스맵을 high로 놓고 HSph. subdivs를 높이는 방법뿐이였는데 , 너무 느리고 무식한방법임.

[74강-2]
❏  


[74강-3]