본문 바로가기
전공/컴퓨터 그래픽스

컴퓨터 그래픽스 개론(1)_3D Computer Graphics

by 임 낭 만 2023. 4. 2.

3D Computer Graphics

3D Computer Graphics

  • 3D representations of objects are calculated to produce images called frames.
  • A sequence of changing frames generates an illusion of movement.
  • Real-time graphics or interactive graphics (> 30 fps)
    • Games, Virtual Reality
  • Off-line graphics (films)
    • Visual effects and animation in films
  • Artists vs. Computer program
  • Modeling, Rendering, Animation
    • Modeling - what to draw
    • Rendering - how to draw
    • Animation -  to create an illusion of movement
객체의 3D 표현은 프레임이라고 불리는 이미지를 생성하기 위해 계산됨.
프레임 변경은 움직임에 대한 환상을 생성합니다.
실시간 그래픽 또는 대화형 그래픽(30fps 이상) : 게임이나 가상현실
오프라인 그래픽(필름) : 영화의 시각효과와 애니메이션
아티스트 vs. 컴퓨터 프로그램
모델링, 렌더링, 애니메이션
- 모델링 : 그려야 할 
- 렌더링 : 그리는 
- 애니메이션 : 움직임에 대한 환상을 만들어 내다

3D Modeling

Solid modeling

  • It involves working with primitive shapes, such as spheres, cubes, and n-sided prisms. Some programs start with two-dimensional sketches that are then extruded to produce a three-dimensional figure. Others add solid over solid in order to produce more complex figures.
  • Mechanical elements, machines, and basic representations of natural things.
  • Programs - Tinkercad and FreeCAD (for the entry-level), SketchUp, SolidWorks, and Fusion 360 (for advanced work).
  • (+) The final pieces are always mathematically correct in the sense the model is possible in the real world.
  • (-) High realism in the representation of organic shapes is almost impossible to achieve.

솔리드 모델링 : 고정된 물체(고체)를 컴퓨터에서 표현 (3차원으로)

- 구체, 정육면체, 그리고 n면 프리즘과 같은 원시적인 형상의 작업을 포함함. 일부 프로그램은 2차원 스케치로 시작하여 3차원 도형을 생성하기 위해 압출됨. 다른 것들은 더 복잡한 수치를 생성하기 위해 고체 위에 고체를 추가함.
- 자연물의 기계적 요소, 기계, 기본적인 표현.
- 프로그램 : Tinkercad 및 FreeCAD(엔트리 레벨용), SketchUp, SolidWorks 및 Fusion 360(고급 작업용).
- (+) 모형이 실제 세계에서 가능하다는 점에서 최종 조각은 항상 수학적으로 정확함.
- (-) 유기적인 형상 표현에 있어서의 높은 사실성은 거의 달성할 수 없음.

Wireframe modeling

  • It represents shapes as a network of vertices. Each geometric face is composed of at least three vertices, and each vertex can be part of one or more faces. The size and shape of things are modified by changing the position of each vertex.
  • Many wireframe modeling tools use triangles as their basic elements, and the more triangles use, the higher the realism.
  • Programs - Blender, Maya, and Daz 3D.
  • (+) more complex surfaces and curves compared to solid modeling.
  • (-) users require more training.
  • (-) millions of polygons and high computational needs.

와이어 프레임 모델링 : 점과 선으로 물체의 외양만 표현하는 방법. 3차원 물체상의 점과 특징선을 입력받아 점을 표현하는 방법. (수많은 선으로 물체의 윤곽을 표현함)

- 정점 네트워크로서 형상을 나타냄. 각 기하학적 면은 적어도 세 개의 꼭짓점으로 구성되며, 각 꼭짓점은 하나 이상의 면의 일부가 될 수 있음. 사물의 크기와 모양은 각 꼭짓점의 위치를 바꿈으로써 변화함. 
- 많은 와이어프레임 모델링 도구는 기본 요소로 삼각형을 사용하며, 삼각형을 많이 사용할수록 사실감이 높아짐.
- (+) 솔리드 모델링에 비해 더 복잡한 표면과 곡선.
- (-) 사용자는 더 많은 훈련을 필요로 함.
- (-) 수백만 개의 다각형과 높은 계산 요구사항.

Surface modeling

  • It relies on guiding lines to define the shape and curvature of a part. The software then calculates a smooth surface that connects the guiding lines.
  • Some programs use control points or control planes, where the desired surface follows the planes tangentially.
  • It can produce visual representations that are not possible in the real world and are therefore impossible to make.
  • Programs - Catia, FreeCAD, Inventor, and SolidWorks.
  • (+) It's possible to produce complex surfaces. The automotive industry, or where fluids are involved, such as in aircraft or thermodynamics.
  • (-) This technique is more complex and requires more advanced programs.
  • (-) far more training and experience from the designer.

표면 모델링(서페이스 모델링) : 와이어 프레임 모델에 면 정보를 추가함. 면을 이용하여 물체를 모델링하는 방법.

- 부품의 형상과 곡률을 정의하기 위해 가이드라인에 의존함. 그 후 소프트웨어는 가이드라인을 연결하는 매끄러운 표면을 계산함. 
- 일부 프로그램은 원하는 표면이 평면을 접선적으로 따르는 제어점 또는 제어 평면을 사용함.
- 현실 세계에서는 불가능하며 따라서 불가능한 시각적 표현을 만들어낼 수 있음.
- (+) 복잡한 표면을 만드는 것이 가능함. 자동차 산업 또는 항공기나 열역학 등의 유체가 관련된 산업.
- (-) 이 기술은 더 복잡하고 고급 프로그램이 필요함.
- (-) 디자이너로부터 훨씬 더 많은 훈련과 경험을 필요로 함.

Texture

  • The scope of modeling includes creating textures and the simplest form of a texture is an image that is pasted on an object’s surface at run time.

(UV Unwrapping and texture painting in Blender) // 모델링 범위에는 텍스처 작성이 포함됨.텍스처의 가장 단순한 형식은 실행(런타임) 시 객체의 표면에 부착된 이미지. (3D 모델의 표면에 그려지는 이미지 파일)


3D Redndering

3D rendering

  • The process of reproducing an image based on three-dimensional data stored in a computer. This takes raw information from a 3D scene (polygons, materials, textures and lighting)

Cinema 4D interface // 3D 렌더링 : 컴퓨터에 저장된 3차원 데이터를 기반으로 이미지를 재생하는 프로세스. 이것은 3D 장면(다각형, 재료, 질감 및 조명)으로부터 원시 정보를 가져옴. (컴퓨터를 사용하여 디지털 3찬원 장면에서 2D 이미지를 생하는 프로세스)

CPU (Central Processing Unit) based rendering

  • It is mainly used in movie studios and is also the favorite process for architectural visualization. This is due to its accuracy in creating photorealistic images and because rendering times are not a consideration for these industries.
  • Ray tracing: each pixel in the final image is calculated as a particle of light that simulates interacting with objects in the scene. It is excellent for creating realistic scenes with advanced shadows and reflections, but it requires a lot of processing power.
  • Route plot: calculates the final image based on how the light will illuminate a certain point on a surface of the scene and how much it will be reflected in the camera. The process is repeated for each pixel of the final image.
  • Photon mapping: the computer shoots "photons" (light rays) from both the camera and any light source used in the final scene. This technique is often used to simulate caustics as light refracts through transparent surfaces.
  • Radiosity: similar to route plot, although it takes into account the light sources that have already been reflected on other surfaces of the scene. It is perfect for simulating the softer and more realistic shadows of a complete scene.
- 주로 영화 스튜디오에서 사용되며 건축 시각화를 위해 가장 선호되는 프로세스이기도 함. 이는 사실적인 이미지를 만드는 정확성과 렌더링 시간이 이러한 산업에서 고려 대상이 아니기 때문임. (건축에 3D가 많이 쓰임 / 속도가 중요하지 않는 분야, 혹은 건축물에 많이 쓰임)
- Ray tracing (레이 트레이싱) : 최종 이미지의 각 픽셀은 장면 내 객체와의 상호작용을 시뮬레이션하는 빛 입자로 계산됨. 고도의 그림자와 반사로 사실적인 장면을 연출하는 데 뛰어나지만 처리 능력이 많이 필요함.(광원에서 나온 광선이 물체에서 반사하는 모습을 시뮬레이션해서 색의 농담을 표현하는 기법)
- Route plot (경로도) : 경로도에서는 조명이 장면 표면의 특정 지점을 비추는 방식과 카메라에 반사되는 정도를 기준으로 최종 이미지를 계산함. 이 처리는 최종 이미지의 각 픽셀에 대해 반복됨.
- Photon mapping (포톤 매핑) : 컴퓨터는 카메라와 최종 장면에 사용되는 광원 모두에서 "광학(빛) "(광선)을 촬영함. 이 기술은 빛이 투명한 표면을 통과할 때 가성을 시뮬레이션하는 데 자주 사용됩니다. (빛에 대한 정보를 3차원 기하 정보로부터 분리해 포톤 맵이라는 자료 구조에 저장하는 방식)
- Radiosity (라디오시티) : 경로도와 유사하지만, 이미 현장의 다른 표면에 반사된 광원을 고려함. 완성된 장면의 부드럽고 사실적인 그림자를 시뮬레이션하는 데 매우 적합함. (사물의 표면에서 발산되는 빛의 반사를 세밀하게 분석한 것을 기반으로 하는 렌더링의 한 방법. 빛이 발산하는 표면을 포함하는 장면이 있는 이미지에 사용하여 실사와 같은 장면을 만들기 가능, 건물내부의 인테리어 이미지 만들 때 보편적으로 사용)

GPU (Graphic Processing Unit) based rendering

  • It is used for real-time processing. It’s used in video games and interactive applications and is very common when you need to render 30 to 120 frames per second and get a smooth experience.
  • It does not always have to be used in real-time, it can also help in complex CPU renderings and it is a good method to show the first results of a final piece without having to wait hours. This makes it a very useful tool in terms of 3D workflow, especially when applying light and textures.
- 실시간 처리에 사용됨. 비디오 게임 및 대화형 응용 프로그램에 사용되며 초당 30~120프레임을 렌더링하고 원활한 환경을 제공해야 할 때 (원활한 조작이 필요할 때) 매우 일반적임. 
- 항상 실시간으로 사용할 필요는 없으며 복잡한 CPU 렌더링에도 도움이 됨. 또한 최종 조각의 첫 번째 결과를 몇 시간이나 기다리지 않고 표시할 수 있음. 따라서 특히 빛과 질감을 적용할 때 3D 작업 흐름 측면에서 매우 유용한 도구임.

Rendering Engines

  • V-Ray: perhaps the most common one. It is capable of using both CPU and GPU processing, so it is very flexible. It is available for Maya, Blender and virtually any 3D software.
  • Corona: the favorite of many designers and architects. It is very powerful, although only available for 3DS Max and Cinema 4D.
  • RenderMan: developed and used by Pixar studios for their productions. It can be used as a complement with Maya, or as a standalone product on Windows, Mac and Linux computers.
- V ray (V 레이) : 아마도 가장 흔한 것. CPU와 GPU 처리를 모두 사용할 수 있어 매우 유연함. Maya, Blender 및 사실상 모든 3D 소프트웨어에서 사용 가능.
- Corona (코로나) : 많은 디자이너와 건축가들이 가장 좋아하는 것. 매우 강력하지만 3DS Max와 Cinema 4D에서만 이용할 수 있음.
- RenderMan (렌더맨) : 픽사 스튜디오에 의해 개발되어 제작에 사용되었음. Maya와의 보완으로 또는 Windows, Mac 및 Linux 컴퓨터의 독립형 제품으로 사용 가능.

3D Animation

Real-time animation

  • To create real-time animation, an animator first creates a 3D model of the object or character they want to animate. Next, they add rigging, which is a system of joints and bones that gives the model a skeleton. The animator then applies movement data to the rigged model, which brings the character to life. Finally, the animator adds textures and lighting to create a realistic look. 
  • 3D animation offers a wide range of possibilities for both creators and businesses. Businesses can use 3D animation to create product demonstrations, marketing videos, or even educational content. 
- 실시간 애니메이션을 만들기 위해 애니메이터는 먼저 애니메이션을 만들고 싶은 객체나 캐릭터의 3D 모델을 만듦. 다음으로, 모델에 골격을 제공하는 관절과 뼈의 시스템인 리깅을 추가함. 그런 다음 애니메이터는 조작된 모델에 이동 데이터를 적용하여 캐릭터에 생기를 불어넣음. 마지막으로, 애니메이터는 질감과 조명을 더해 사실적인 느낌을 줌.
- 3D 애니메이션은 창작자와 기업 모두에게 다양한 가능성을 제공함. 기업은 3D 애니메이션을 사용하여 제품 데모, 마케팅 비디오 또는 교육 콘텐츠를 만들 수 있음.

댓글