Friday, December 5, 2014

Tips for Zbrush system


Zbrush 자체로 game/VFX asset 제작용도가 아님 Zbrush for concept
Game/VFX asset으로 만들어 내기 위해선 다른 프로그램을 사용해 줘야하는것이맞다.,Ryan Kingslien 수업에서 언급되는 개념으로  3D Maya/max 대변되는 프로그램들(Hard/ Controled) 비교했을때 Zbrush (Soft/Freehand) 대응될 있는 프로그램이다. 그리고 점차적으로 프로그램 방향이 Freehand/hard 방향으로 잡아가고 있고, 부분적으로 Hard/Controled 방향으로 가고있다고 수있다.





















-------------------------------------------------------------------------------------------------------------------------------------------------
 Camera angle tip 
Zbrush perspective angle 정확하지 않음 (실제 camera angel 왜곡,차의가 좀있음)
이때에 사용해 있는 Tip, 더러는 일부러 파일을 다른 프로그램이 load시켜서 확인하는 경우도 있음여기서의 방법은 똑같은 파일을 마야 perspact view위에 띄워놓고 (모든 좌표값 "0"확인)
그위에 zbrush 열어서 전체화면 "See trough" 설정(작업창 위쪽라인 우측면에 slide 있음)으로 zbrush 뒤에 위치한maya object 맞춰서 비교해 가면서 zbrush에서 Draw>Angle of veiw …. 값을 설정.

Zbrush 처음 켜을때 작업물 스크린샷으로 같이 뜨는것은 UI setting설정과는 무관하게 document> doc저장을 다시해주면 해결된다.

Ram Management



Monday, December 1, 2014

Zbrush Tips for workflow


Shortcut 숫자로 적용할때, default shortcut으로 7or8 Stroke>curve 명령 단축키라서 자꾸 간섭된다.Shortcut 아예 다른 바꿔주.


가장 기본이지만 powerful Masking tip
Multiple polygroup 가진 object에서 하나의 Polygorup 부분 이외에 Masking 하려고 할때
Move tool ( "W") 선택 Holding down "Ctrl" 원하는 polygroup 부분 클릭_그러면 해당 polygroup 이외에는 masking이되고 Transpose bar 해당 polygroup normal 방향으로 위치됨 (extrude 하기좋게)












-------------------------------------------------------------------------------------------------------------------------------------------------
Zbruh에서 작업할 때에 subtool에서 multi subdivision level 가지느냐 그렇지 않냐에 따라서 tool 사용하는 데에 여러제약이 따른다 Layer 사용할때가 그렇고, insert brush 사용할 때에도 그렇고, different subtool merge down할때에도 문제가 있다 " , merge down 해줄때 multiple subdiv 있어도 다른 subtool object 같은 level subdiv level 가지면 merge 해줄 수있음 위의 상황이 아니라면 merge down 가능한데 이후에 multi subdi level(모든 low level) 잃어버리게 된다.
-------------------------------------------------------------------------------------------------------------------------------------------------
----- Topolog bar, Rotate 모드에서  "holding down shift"해주고 회전을 주면 90 마다 snap 되어 붙음

----- Tool >Polygroups > Group Masked Clear Mask or use its CTRL+W hotkey

----- Polygroups>merge stray groups
        polygroup 설정한 영역이 완벽하게 되지 않고 일부 face 남아있는경우, 남아있는 설정되지 못한 영역이 가장 근접해있는 polygroup 포함됨 (merge)
---- Subtool organization
-Multiples subtool 있을때 subtool에서 쉽게 찾아내는법, subtool에서 화살표(위로꺽어지는)
holding down "shift" 한채로 누르면 해당 object subtool 제일 위로 올라감.
----- Zbrush subtool 파레트에서 알아야 할것이…
왼쪽 큰박스에 object 보이는거는 current tool이라고 파레트에 생성된 여러 subtool중에 선택된것만 보여주는 것임 여기 current tool 박스에 double click 해서 primitive object 불러오든 새로운 object 불러오면, subtool 파렛트에 선택한 Object list 등록됨...이전에 선택된 subtool 리스트에 있던 object 영향이 없음 (이전까지 current tool 에서 불러오면 기존에 object가 없어지는줄 알았음….그래서 언급하는 것임)



















----- #project all, 할때 /무조건 ...low res 모델에 hires 모델 밑에 위치시켜야 하나?
 project 하는 작업에서 multi subtoo(여러 object 있거나…
예전 zbrush version 모르겠는데 사실상 subtool에서 , 아래 위치 시키는 거는 중요하지 않음
눈알 mark 켜주는가? 그리고 subtool 에서 "low res" version을 선택해주는 가임….

----- Maya zbrush 사이를 오갈때 마야에서 mesh face 조각조각난것을 볼때가 있음
Zbrush에서 파일 export할때, tool> export> GRP (poly group)설정을 비활성화 시키고 export 하면됨
관련 internet article_"Importing to Maya splits up the mesh into a lot of groups"
This is a very common problem when exporting from Zbrush to Maya. It only happens when you’re using polygroups, which I am 90 % of the time. If you’ve seen this yourself, then you know how annoying it can be 그리고 UV map 포함한 object 마야에 불러서 사용할때 GRP(ploy gourp) 비활성화 시켜주고 export하지 않으면 마야에서 UV 깨져서 나온다. Zbrush에서 object polygroup 가지든 가지지 않던 무조건 꺼주고 export해줘야 한다.















The fix is very simple though. Make sure that Grp under Tool – Export is unchecked. What’s happening is that Zbrush tries to export the poly group information and maya doesnt seem to appreciate it. Unchecking Grp will disable this. You can also get rid of the various polygroups, by going to Tool Polygroups Auto Groups.










----- Zbrush lazy mouse 단축키는 "L" 그러나 정작 활성화 시켜도 default seeting 본래의 활성화시킨 의도에 맞게 되어 있지않다,  Lazy mouse > LazyRadius 높여줘야 빨간색 라인이 나타나면서 제대로 사용할 있음 .
-------------------------------------------------------------------------------------------------------------------------------------------------
---- Texture painting tip (from interview)
(render)에 페인팅을 할 때 텍스쳐(texture)에 페인팅을 하기보다 단순히 베이스로 사용하기를 좋아합니다. 때로는 이것을 포토샵으로 잘라서 보관하고 있다가 다른 렌더(render)에 사용하고 새로운 조명에서 다시 칠을 하기도 합니다. 3D에서 완벽하게 조명처리를 하기 위해서는 너무 오래 걸립니다. 저는 3D에서 만들고, 쉐도우(shadow)와 하이라이트(highlights)에서 페인팅하는 것을 선호합니다. 예를 들어, 림 라이트(rim light)는 제 이미지에 있어서 특징입니다. 페인팅은 가장 빠르고 쉬운 방법입니다. 표면아래(sub surface)효과도 멤버레인(membrane)을 통한 라이트 필터링(light filtering) 가장 잘 그릴 수 있습니다.

----- Quick One-Touch Masking of Polygroups
Masking out particular parts of your models can be a tedious process especially when it’s a complex model. However, if your model has PolyGroups this can become a very quick and easy process. Simply press W or click the Move button and then Ctrl+Shift+click on any PolyGroup. All other groups will immediately be masked.

-----Zbrush 에서 OBJ file 포맷으로 저장하게 될때 Uvmap 정보는 유지되지만 Muliple subdivision정보를 잃게됨 그래서 OBJ export해줄때는 원하는 subdivision level상태로 맞춰주고 export 해줘야함.
-----subtool에서 import명령으로 파일을 불러올때
 Tip1, import해줄때 선택되어진 subtool import되는 파일로 대체됨
 중요한것이 이것을 인지 못하고 생각없이 import하게될때 의도치 않게 subtool내에 object하나를 읽게됨 보통 import 앞서서 추가로 primitive object(/) subtool내에 불러오고 해당 모델을 선택해준상태에서 import 
 Tip2, 기존 subtool에서 선택된 object 동일한 wireframe 가지고 있는 ojbect import해주게 될때….?
 -----궁극적으로 zbrush에서 Masking show/hide 명령은 같은 개념임
----- Ctrl + shift + A Multiple polygroup 포함한 단일 object 전체를 선택해주는 명령, Multi polygroup 중에서 하나를 선택된 상태해서만 적용해줄 있음
------Sculpting 할때 Line 직선으로 긋는 방법 (with 일반 brush)
  1. Holding down "alt" 해준상태에서 brush 긋기를 시작 바로 추가로 holding down "shift" 해주면 완전한 직선 그을 있음.
  2. Stroke> Lazy mouse_활성화> backt track….가상의 선이 생겨서...직선 긋게 도와줌(with holding down "alt")
----- (dynamesh 없이 mesh combine 하는법)
Replacing Parts
Replacing Parts of a Model
ZBrush is able to literally fuse different models together, creating clean topology to connect them. This operation will only affect the polygons located at the connecting borders while the rest of the model will remain unchanged. The process can seem similar to how DynaMesh can merge volumes, except that with this process your model will retain as much of its original topology as possible. It is important to note that while this process may look like a boolean operation, it is not. It is simply a bridging operation and so it cannot be used to create differences or negative insertions. For those effects, you must use the Remesh All function. This feature allows you to quickly and easily create an advanced base mesh with only a few clicks, simply by bridging various pre-existing mesh elements together.
Note: If there is a significant difference in polygon density between the support mesh and the replacement mesh, ZBrush may subdivide as necessary to ensure a clean polygon structure.
Creating a Connection
The process to create a connection is simple and is based on polygroups:
1. Create a PolyGroup on the support model, where you want to create the connection. The fastest way to do this is to hold CTRL and paint a mask on the area you wish to change into a new PolyGroup. Now click Tool >Polygroups > Group Masked Clear Mask or use its CTRL+W hotkey. ZBrush will convert the masked area into a new PolyGroup. (To display the PolyGroups, don’t forget to turn on PolyFrame (Shift+F hotkey).
The two PolyGroups which will receive an inserted mesh
The two PolyGroups which will receive an inserted mesh
2. Select an InsertMesh brush with the geometry that you wish to insert. Click on the new PolyGroup that you just created to add this new mesh to the model. It is really important to do the insertion by clicking on the PolyGroup of the support which will be used to create the connection because this is used to define the border of the polygon bridge. Please also remember that this new geometry must have an open surface; the replacement feature cannot work with volumes.CTRL+click+drag on any open area of the document.
The meshes have been inserted on top of the new PolyGroups
The meshes have been inserted on top of the new PolyGroups
3. ZBrush will now connect the two meshes and weld the difference with quad geometry
The bridging connection between the inserted meshes and the PolyGroups border
The bridging connection between the inserted meshes and the PolyGroups border
An alternative is to tap first on an existing PolyGroup and then doing a CTRL+click+drag on any open area of the document to create the bridge. This method allows you to do a replacement part when working with PolyGroups which have been created previously.
Note: If your Insert brush is composed of more than one part, you must create a PolyGroup which will have the same number of parts. When inserting the mesh, you must click on the polygons of one part of this split PolyGroup.
Instead of masking you can use ZBrush’s mesh visibility controls. Hide everything except the polygons that will define the border of the bridge. Use InsertMesh on the visible polygons. Upon restoring full mesh visibility, ZBrush will weld the two surfaces together.
Notes: In addition to preparing the support mesh, it is advised to prepare your inserted mesh (the one that will be added via the MeshInsert brush) by creating a PolyGroup to define its connection area.
The model must have open topology (unattached edges) at the bridge location. Otherwise you will get topology problems such as non-manifold surfaces. Do not use mesh replacement to insert a solid object!
As with the DynaMesh update operation, holding CTRL while clicking and dragging on a portion of the empty document is what tells ZBrush to calculate the new mesh and bridge between the PolyGroups.
If part of your model has been masked, you first need to clear the mask. In this case you can CTRL+Click+Drag twice (once to clear the mask and a second time to complete the mesh replacement) or by pressing CTRL+Shift+A before executing the remesh command.
If you used hidden polygons instead of PolyGroups, the model will be restored to full visibility upon executing the remesh operation.
It is best to not be in DynaMesh mode when using the mesh replacement technique. If in DynaMesh mode, ZBrush will weld everything together but will not maintain the geometry of the inserted mesh

- 내용은 dynamesh 없이도 object merge 해주는 방법이다 특별히 언제 유용하게 사용하게 될는지는 확실치 않지만 알아둘 필요가 있다고 본다. 준비 해야할 사전 작업이 몇가지 있다. "A"object "B"object 붙여준다는 가정하에
  1. A object 붙여줄 부분에 추가로 polygroup 만들어준다 물론 붙여질  B 형태와 사이에 맞게 맞춰준다.
  2. B 붙여줄 밑부분을 뚤리게 만들어준다 그리고 Keypoint 최종적으로 B Insert brush 만들어 줘야한다는 것이다. 
  3.  Subtool에서 A 선택하고 추가로 만들어준 polygorup 부분에 B Insert brush 불러와
위치시키고 Holding down "Ctrl" 상태에서 작업창에 두번 드래그 A B 붙는다.
------------------------------------------------------------------------------------------------------------------------------------------
---- Zbrush autosave에서 파일 사이즈(zbr format) 2gb 이상 넘어가면 파일을 불러오질 못함.
----History에서 이전 history 돌아갔을때...이전 history 이후의 history가 사라져 버림….?
대안으로 상단 History bar 드래그 해서 사용하지 말고 Edit> undo/redo 물리적 버튼을 눌러서 사용한다.
----Zbrush에서 subdiv 높여줄때 생기는 문제점
마야에서  edge부분에 crease 모델을 zbrush 불러와서 subdiv 해주면 edge 부분에 detail
잃어버림 형태가 둥글둥글 해짐_그리고 문제는 이후에 Lowest subdiv level 확인해보면 Lowest subdiv level 원본 mesh 형태도 변형되어 있음,  여기서 tip  Multi subdiv 올려주기 전에 morph target>storeMT lowest level subdiv 저장해두고 이후에  subdiv 올린뒤에 lowest subdiv level 돌아와서 Morph target>Switch통해 원본 lowest level object 되돌려줌.
----Danny zbrush workflow  subtool list 하나의 subtool polycount 1milion 넘지 않도록함 그래서 작업할때 넘으면 split hidden으로 나눠서 눈만 켜서 같이 보면서 작업함.
--- Zbrush에서 Hard surface shape object subdiv 올려주려고 할때 "SMT" smooth 활성화 되어있는 상태에서는 분명 edge부분의 shape 망가뜨려진다. 그렇다고 "SMT" 비활성화 시켜서 subdiv 올려주면 edge부분이 그대로 유지된 상태에서 subdiv 진행이 되기 때문에  Smooth 따로 해줘야되는 번거러움이 있는데 이때에 Deformation> polish by ###명령을 이용해  Object smooth 주면 만족할 만한 결과물을 얻을 있음. 
 ------Keyboard "<," key Zbrush Light box shortcut이다.
                   "N"key subtool list pop-up
------------------------------------------------------------------------------------------------------------------------------------------

Dynamesh 상태해서 sculpting할때 line 깔끔하게 나와지 않아 문제이거나 그러한 상황을
피하고 싶을때, Defomation >Size slide값을 100으로 주거나, slide 몇번 드래그해서 size 최대한 키워주고 사용하면 object 사이즈가 커지면서 단위면적당 resolution 올라가기 때문에
Sculpting해줄때에 Shape 정확하게 나올 수있다. ( 이것은 scale 관련된 개념이다. 때때로 object 그냥 봤을때는 문제가 없어 보이지만 실제로 말안되게 scale 작은 값으로 되어 있을때 문제가 있을 있다. 이런 것을 방지하고자 size 키워주는 식으로 적용하는 것이다.

Polygorups> Autogroups tip 지금까지는 분리되어있는상태에 object Autogroup 이용해 polygroup 나눠주는것으로 알았는데 작업창에서 임의적으로 object 특정 부분을 hide 시켜주고 Autogroup 명령을 줘도 Autogroup 명령은 분리된 object 인식해서 polygroup 나눠서 잡아준다.
이것을 활용하면 select해주기 어려운 부분을 손쉽게 Autogroup으로 polygorup 나눠줘서 선택해줄  수있다.

Different materials to individual Subtool
단독 material 주기위해서는 Rgb color 정보를 갖고 있어야 한다고함
원하는 object Subtool에서 선택, 원하는 Material 선택 Zadd/Zsub/Rgb/MRgb/M에서 M mode 켜주고 Color> fill object 클릭, 적용해줌.
---------------------------------------------------------------------------------------------------------------------------------------
Freeze subdivison level and Reconstruct Subdiv
Freeze subdivision level 주된 용도가 Multiple subdiv 가진 모델의 subdiv Level1 topology
수정해 주려고 할때 기본적으로 수정이 되질 않는다. 이때 object Highest subdiv 맞추고
Freeze subdiv 클릭하면 object level 1으로 바뀌어지고 topology 수정이 가능해진다.
수정이 끝나고  Freeze subdiv 눌러주면 연산을 거쳐서 바뀐 topology level1으로 multiple subdiv 가진 object 복원된다. 

Reconstruct subdiv 현재 object에서 subdiv 잃어버렸을때  클릭해주면 low subdiv상태의 object 추가적으로 생성한다. 이때 중요한것은 추가적으로 subdiv 나눠줄려고 할때 object 상태를 lowest subdiv 맞춰주어야 적용된다. 
--------------------------------------------------------------------------------------------------------------------------------------- 
Rock sculpting 해줄때 "trim Smooth boarder brush" 유용하게 사용해줄 수있다.

특정부분만 detail 올려주기
특정부분에 alpha, 혹은 sculpting으로 detail 올려주려고 할때 무작정_subdiv 올려줄 수없다
그리고 적당히 컴퓨터에 무리가 가지않는 선에서 subdiv 올려줘서 작업을 한다고 해도 resolution문제로 detail 제대로 표현되지 않는다면 detail 없는것만도 못하다. 다시말해 의미가 없다. 
여기서 tip으로 해당 object subtool에서 duplicate해주고 거기에 polygroup으로 detail 적용시킬 부분만 남겨두고 제거해준다. 그리고 추가적으로 subdiv 올려서 작업한다.
이때 subdiv올리게 되면 자연스럽게 size 줄어들기때문에 defomation에서 size 좀더 키워준다.
기본적으로 프로덕션 model작업의 경우 어떻게 적용될 모르나, 이러한 방법도 있는거 같다.
(, 이것은 hardsurface에서 object단위로 작업할 수있는것이지 organic model에는 적용해서
사용하기 어렵다.)

Zbrush subdiv (vs) Maya subdiv
_Maya low res model zbrush 불러와서 subdiv 올려가면 작업해줄때 원래 사이즈와 완전히 다르게 사이즈가 무너진다. Subdiv해줄때 defaut smooth 자동으로 적용되지기 때문이다
이것은 maya에서의 subdiv와는 전혀 다르다. Organic shape 괜찮은 수준이지만 hardsurface type object 문제가 있다. 그래서 subdiv 올려줄때는 최초 subdiv level 1에서 3까지 정도는 smooth 꺼주고 subdiv 올리고 다음 level부터 (level 4…) smooth 다시 켜서 subdiv 올리는 방법이 있다. crease all 같은것을 적용해서 subdiv 올려 도있다.
(추가로 zbrush에서 subdiv 해줄때 이같은 문제를 해결해주는 micro 찾았음.)

 Zbrush에서 Symmetry on하고 진행하지 않아서 난감한 경우가 많이 있다.
이때Make sure 해줄것은 처음 sculpting 시작한다고 할대 모든 subtool object들을 클릭하고
일일이 symmetry on시켜주고 시작하는 것을 worklfow 삼고 작업을 하는 습관을 들이자.
예를 들어 처음파일을 zbrush load시켰을때 subtool에서 하나하나의 object 선택하고
Symmetry 활성화 되어있는지 하나하나 확인하고 작업을 시작하는것이다. 

Zbrush에서 multiple subtool 이용해서 작업을 진행시키고 있을때
Subdivison level1 basemesh 수정이 필요하게 될때가 있다, 그러나 multiple subdivision level 가진 object 수정이 불가하다. 방법은 layer 사용해 업데이트하는방법 그리고 Project all 사용해서 다시 하나하나 subdiv level별로 수정해주는 방법. 근데 여기서 팁이 하나있는데 만약에 아주 일부 topology 변경되어진 basemesh multiple subdiv 가진 object 선택해준가운데 import해주면
Zbrush에서 자동을 projection을 해준다. Project all 일일이 적용하는것보다는 훨씬 간단하다.
, vertex끼리 아주 가까이 붙어 있는경우 방법을 적용해도 똑같이 깨져서 나오기 때문에
차라리 project all 하나하나 해주는것이 맞다. 이것은 원클릭 솔루션이라는것에 메리트가 있다.

Deformation> Smart Resym
좌우 대칭이 되지않는 object 좌우대칭을 만들어 주는 목적으로 사용된다.
최초 object masking 통해서 projection 하고싶은 부분을 Masking 해주고 Smart Resym 적용시켜서 masking 반대쪽에 projection 해주고 좌우 대치을 맞추는 방식으로 진행된다. Highres model 가지고 적용 시켜줄때에 자동 projection이기때문에 깔금하게 적용되지 않는다. 이때 low subdiv level에서 부터 Hire subdiv level 단계적으로 Smart Resym 적용시키면 나은 결과물을 얻을 수있다.

작업창에서 camera view 움직일때 object 겉면과 안쪽면에 switch되는 상황
Zbrush에서 파일 사이즈가 다소큰 hires 모델을 viewport에서 왔다갔다하면 돌려가면 볼때에
표면이 안쪽 표면과 반대가 되어서 나온다 이것은 perpective view 꺼주면 일어나지 않는 현상이다.