z-write란(z-buffer, z-value, depth test) Z-write란 3D 그래픽에서 사용되는 Depth Buffering(깊이 버퍼링) 기술 중 하나로 3D 렌더링에서 객체의 깊이를 결정하고 표현하는 방법입니다. Depth Buffer(깊이 버퍼) 또는 Z-Buffer( Z-버퍼)는 화면에 그려지는 객체들의 깊이 정보를 저장하는 버퍼입니다. 렌더링 파이프라인에서 객체를 그리기 전에 각 객체의 깊이 값을 깊이 버퍼에 기록합니다. Z-write는 현재 그려지는 객체의 깊이 값을 깊이 버퍼에 쓰는 것을 의미합니다. Z-Write는 Depth Test(깊이 테스트)와 함께 사용됩니다. Depth Test는 현재 그려지는 객체의 깊이 값을 기존 깊이 버퍼의 값과 비교하여 객체가 가려지는지 결정..
3D그래픽에서 발생하는 z fighting 현상이란 z fighting https://en.wikipedia.org/wiki/Z-fighting 3D 그래픽스에서 Z-fighting은 카메라의 시점에서 두 개 이상의 폴리곤이 같은 위치에 있을 때 렌더링된 이미지에서 폴리곤이 겹쳐보이고 깜박거리는(flickering), 노이지한 래스터화(noisy rasterization)가 발생하는 현상입니다. 두개의 면이 동일한 공간을 차지하거나 매우 가까운곳에 위치할때 깊이를 추적하는 z -버퍼에서 거의 유사하거나 동일한 값을 갖게 됩니다(z - 버퍼의 제한된 정밀도로 인해) 이로인해 렌더링 시에 깊이 값이 번갈아가며 결정되어 시각적인 충돌 현상이 발생합니다. Z-Fighting을 방지하기 위해서 깊이 버퍼의 정밀도..
유니티의 웨타 디지털(Weta Digital) 툴체인 도입 https://unity.com/kr/solutions/weta-tools 유니티는 웨타디지털(Weta Digital)의 툴과 파이프라인 그리고 기술 인력을 인수하였으며 웨타 디지털과 공동으로 툴 및 코어 파이프라인의 설계, 구축, 유지 보수 진행합니다. 웨타디지털의 업계 최고 시각효과 제작 도구와 프로세스를 유니티에 통합하여 3D 콘텐츠 제작자들에게 효율적이고 생산성 높은 시각 효과 및 게임 제작 환경을 제공합니다. https://youtu.be/ygAsQxDtXic https://youtu.be/hRCFTWA6j-c ziva https://unity.com/kr/products/ziva Ziva 최고 품질의 캐릭터를 영화, TV, 게임에 구현..
NeRF(neural radiance field) 자료모음 하나 또는 소수의 2D이미지 세트를 기반으로 3D 장면을 생성하는 기술 https://www.matthewtancik.com/nerf https://youtu.be/JuH79E8rdKc https://alexyu.net/pixelnerf/ https://golden.com/wiki/Neural_Radiance_Field_(NeRF)-REYZW83
심플리곤(simplygon) - 3D 콘텐츠 최적화 도구(모델, 텍스처, 기타) Simplygon는 게임 개발, 가상 현실(VR), 증강 현실(AR), 영화 및 애니메이션 제작 등 다양한 분야에서 사용되며 3D 모델과 텍스처 최적화에 특화되어있는 소프트웨어입니다. Simplygon를 사용하면 시각적 품질을 유지하면서 복잡한 3D모델과 텍스처 해상도를 최적화하여 데스크톱, 모바일 기기, 웹 기반 응용 프로그램등의 저사양 플랫폼에서 시스템 요구사항을 충족하고 성능을 향상시킬수있습니다. https://www.simplygon.com/ Simplygon 다운로드(유료, 무료) 아래 웹사이트에서 SDK(3D맥스, 마야, 블렌더, 후디니, 유니티, 언리얼 엔진)를 다운로드할수있으며 무료버전의 경우 제한된 옵션으로 ..
3D맥스 브이레이(VRay)에서 PBR 텍스처 설정하기(VRayMtl) (사용 버전 - autodesk 3ds Max 2023, V-Ray 6 Hotfix 3) 1)웹사이트에서 PBR 텍스처를 다운로드합니다 albedo, height, normal, roughness, ambient occlusion(ao) 2)3D맥스 렌더 설정(render setup)의 브이레이 탭(V-Ray)에서 브이레이 환경(GI environment, Refelection/Refraction environment)을 설정합니다. Refelection/Refraction environment에 HDRI 환경을 위한 HDRI environment 맵을 설정합니다. 3)HDRI environment 맵에서 HDRI 파일을 설정합니다...
유니티에서 삼각형 메시 생성 테스트(mesh, triangles)1)아래 스크립트에서 새로운 메시(mesh) 객체를 생성하고 메시를 구성하는 세개의 정점 위치를 할당하고(mesh.vertices) 세개의 정점이 구성하는 삼각형의 정점 인덱스를 설정합니다(mesh.triangles) 2)게임을 시작하면 세개의 위치 정점과 해당 정점의 인덱스로 표현되는 삼각형을 표시합니다. 정수형 배열(mesh.traingles)에 존재하는 세개의 값은 순서대로 삼각형을 구성하는 세개의 정점 인덱스를 의미합니다.https://docs.unity3d.com/ScriptReference/Mesh-triangles.html https://docs.unity3d.com/ScriptReference/Mesh.GetTriangles...
유니티에 가져오기한 3D 모델의 메시 정점 개수 차이 유니티에 가져오기한 3D모델에서 메시(mesh)의 정점 개수(vertices)가 3D프로그램에서 표시하는 해당 3D모델의 정점 개수와 동일하지않습니다. 메시의 정점은 위치(position) 속성 외에도 추가적인 속성(normal, tangent, texture coordinates, color, etc)을 포함하여 두 프로그램에서 서로 다른 정점 개수를 표시합니다. 1)3D맥스에서 폴리곤 오브젝트를 생성합니다. 2)오브젝트의 정점 개수를 확인합니다(verts - 8) 3)유니티에서 해당 3D모델을 가져오기하고(import) 3D모델의 하위에 존재하는 메시를 선택합니다. 4)메시(Mesh)를 구성하는 정점의 개수를 확인합니다(vertices - 24) ..
3D 마야(MAYA)에서 렌더링 레이어 사용방법(render layer editor) (Autodesk Maya 2014) 일반적으로 마야에서 렌더링하면 master layer를 렌더링한 결과를 표시합니다. render layer editor를 사용하면 사용자 레이어를 추가하고 레이어에 오브젝트를 추가하여 개별적으로 렌더링할수있습니다. 1)씬을 구성합니다(plane, sphere1, sphere2, sphere3) 2)sphere 오브젝트에 서로 다른 색상의 재질(blinn)을 설정합니다. 3)plane 오브젝트(floor)에 체커 맵(checker map)을 색상 맵핑한 재질(lambert)을 설정합니다. 4)렌더링한 결과를 확인합니다. 5)blinn 재질의 reflectivity 속성이 기본값 0.5..
3D 마야(MAYA)에서 프랍(prop) 모델링 작업과정 (Autodesk Maya 2014) 부채 모양의 프랍(prop)을 모델링하는 방법(NURBS 의 loft를 이용한 방법) 레퍼런스 1)종이 접기를 하여 레퍼런스와 동일한 형태를 제작합니다. 2)front camera 뷰에서 커브(curve) 오브젝트를 생성합니다. 3)오브젝트의 피봇(pivot)을 커브의 끝에 위치시킵니다. 4)오브젝트를 회전 복사합니다. 5)복사한 오브젝트를 y축으로 이동시킵니다. 6)같은 방법으로 다수의 오브젝트를 복사합니다. 7)복사한 다수의 오브젝트를 복사하고 z축으로 이동시킵니다. 8)양측의 모든 커브를 순서대로 선택합니다(shift + 좌클릭) 9)상단의 surfaces 메뉴에서 loft를 선택합니다. 10)lofted..
3D맥스 기본 조명의 그림자 종류(shadow map, area shadow, raytraced shadow) (사용 버전 - autodesk 3ds Max 2014, scanline renderer) 기본 조명과 스캔라인렌더러를 사용하여 표현할수있는 그림자의 종류 1)조명에 의한 그림자를 표현하기 위해 평면 오브젝트(plane1)와 창문 프레임 오브젝트(box)를 추가합니다. 창문 프레임의 중앙에는 불투명도(opacity)의 수치를 낮춘 투명한 재질을 적용한 유리창 오브젝트(plane2)를 위치시킵니다. shadow map 2)씬에 새로운 조명 오브젝트(omni light)를 추가하고 shadows의 on에 체크합니다. 그림자 유형에서 shadow map를 선택하고 렌더링해서 결과를 확인합니다. 3)s..
3D 마야(MAYA)에서 와이어프레임 렌더링하는 방법(멘탈레이의 contour를 이용한 방법) (Autodesk Maya 2014) 1)씬에 오브젝트를 추가합니다. 2)hypershade에서 오브젝트의 재질을 생성합니다. 재질을 선택하고 input and output connections를 선택합니다. 3)재질의 shading group 노드(SG)를 확인할수있습니다. 4)SG 노드의 mental ray에서 contours의 enable contour rendering에 체크합니다. 5)렌더 설정(render settings)에서 멘탈레이 렌더러를 선택하고 features탭으로 이동합니다. 6)contours의 enable contour rendering에 체크합니다. 7)draw by property ..