Tuesday, January 31, 2012

My models on turbosquid

최근 TurboSquid에서 모델링 판매를 시작했습니다.
아직은 예전 모델들 정리해서 올리는 정도이지만
앞으론 새로 만든 것들도 자주 올릴 예정입니다.
이걸로 밥 먹고 살 수 있을까 모르겠네요. ^^;

New in Maxwell Render Suite 2.6.10


New in Maxwell Render Suite 2.6.10

Left: Version 2.6, Right: Version 2.6.10. Both rendered for 40 minutes. Click image to enlarge. Model courtesy of Artec 3D


Subsurface scattering improved

SSS가 이제 까다로운 간접라이팅 영역에서도 훨씬 빠르게 랜더링됩니다. 간접조명만 있는 경우에 개선된 성능을 가장 잘 확인할 수 있습니다.

Added camera multi step motionblur

이전 2단계로 제한되었던 카메라 움직임에 따른 모션 블러 단계가 무한대로 확장되었습니다.

Speed optimization in some render channels

알파,Z버퍼, 재질id, 오브젝트id가 훨씬 빠르게 랜더링 됩니다.


Other new features

  • 숫자입력란에 간단한 수학식을 입력할 수 있습니다 (예, 200/2, 30*4). 또한 동일 모그룹 (X,Y,Z 방향의 크기와 같은) 에 대해 동일한 값을 설정하기 위해 단축키 Shift+Enter와 함께 작동가능합니다.
  • 알파채널이 embedded로 설정되어있는 상태에서 "separate lights" 옵션과 함께 Multilight이 활성화 되면, 해당 알파채널 역시 모든 light 이미지들 내에 임베드 됩니다.


  • 모션블러가 적용된 파티클 랜더링 속도 최적화
  • 익스텐션 안성성 개선
  • 랜더링 이어가기를 할 때 프리프로세싱에 앞서 MXI와 목표SL을 비교하여 추가 랜더링이 불필요한 경우에는 시간을 절약함
  • SDK 개선
  • MXI 읽기/쓰기/합치기 루틴의 속도 최적화

Improvements/Bugfixes (Maxwell FIRE)

  • 속도 다소 개선
  • 전반적인 안정성 개선 - 리얼플로우 툴킷 변수들을 인터렉티브하게 변화시킬 수 있음
  • 불필요한 몇몇 경우에 voxelization 이 진행되었습니다.(이게 개선되었다는 뜻인듯)
  • 인터렉티브 모드에서 프리테셀레이트 디스플레이스먼트 문제
  • Fire 실행 중에 Override 와 기본 재질이 변경되었을 때 제대로 갱신되지 않던 문제
  • 부모개체가 숨겨졌을 때 계층이 제대로 갱신되지 않던 문제
  • 인터렉티브 모드가 실행중일 때 조리개 값을 변경하면 crash 가 발생할 수 있는 문제


  • Embedded alpha is always set to have the same bit depth as the render channel 
  • Some camera parameters were not changing when changing the active camera
  • Multilight shutter slider range
  • Problem with greyscale TGA files
  • Resuming MXI from the menu option was failing in some cases
  • Reading of EXR displacement maps with negative values was clipping them to zero
  • Alpha channel could fail pure black textures
  • Problem with reverse colors in hair tips
  • Alpha channel could be wrong in areas with pure black reflectance textures
  • Hidden to camera failed when IBL + ML + Shadow channel  
  • Old MXI files could look too bright when opened in the viewer
  • Hang when rendering with "-node" flag
  • Problems searching dependencies in paths with dots
  • Bug when instances had an emitter material applied while their referenced mesh had a non emitter material
  • Bug in subsurface scattering in draft mode 
  • Memory leak in pretessellated displacement


New features

  • "Progressive refinement". By default jobs are rendered until the target SL is reached but when the new "progressive refinement " option is enabled, the user can specify the amount of SL passes. For example setting it to 3,7,10, means that the job will be rendered up to SL 3, then automatically resumed to SL 7 and then will finish at SL 10. This is extremely useful for compositing purposes, since compositors can start working in the whole sequence at low SL while the sequence is being automatically refined. Note: the more refining steps, the more file transfers are needed. The syntax is identical to the one used in animation strings, you can type for example: 3,12-14,17.
  • Port:X command line argument allows you to set the port range. It is very useful to run different networks in the same local domain. A set of the nNodes, Monitors and Manager launched with a certain port will be invisible to other Managers launched with a different one. mxnetwork needs 14 ports so if i.e X = 25000, ports used will be in the 25000-25014 range.
  • Nodes in the node list can now be sorted by each column
  • Now a list with all the dependencies of a job is displayed in the last page of the job wizard
  • Added mechanisms to detect if the manager is running out of space on disk to avoid crashes


  • Performance merging MXI files vastly improved
  • Jobs with both "Save MXI" and "Save Image" parameters unchecked are not accepted 
  • Improved routines to search for missing textures and dependencies to avoid unnecessary Pack n' Go when launching network jobs
  • Improved performance of routines for checking dependencies
  • Error handling improved
  • Nodes in the node list can now be sorted by each column
  • Improved threads stability sending/receiving data
  • Now the preview images do not show premultiplied alpha


  • Batch render was not working properly in 2.6.0
  • Dependencies of some extensions were not properly sent 
  • Original MXS file was sometimes deleted when "send dependencies" was unchecked 
  • Problem resuming MXI sequence if some of the frames already had a sampling level higher than the target sampling level 
  • Problem with paths in Linux 
  • Warning message when monitor was closed without sending all its dependencies was not shown in some cases 
  • Problem in cooperative renders when the "Save MXI" parameter was unchecked in the scene
  • Changing the camera in the job wizard was not updating iso/shutter parameters
  • Problems rendering at very high resolutions
  • Issues when a render node failed in a cooperative job and was restarted again
  • Paths with macros were not working. Now macros are replaced by regular paths when the job is submitted
  • Use scene settings didn't obey all settings in Batch mode
  • Format of channels was ignored (they were saved using the render output format and depth instead)
  • Problems with paths when "separate lights in files" was enabled
  • Reset entire network routines fixed
  • GUI issues resizing panels and other minor gui issues


New features

  • 스카이 변수에 자동 GMT를 켜거나 끌 수 있는 체크박스 추가
  • (윈도우)탐색기나 (맥OS)파인더에서 재질 편집기의 텍스쳐 슬롯으로 직접 텍스쳐를 드래그앤드롭 할 수 있음


  • 숫자입력판에 간단한 수학식 입력 가능(예 200/2 ; 30*4)
  • 디스플레이스먼트 3D 스케일 변수에 음수값 입력 가능


  • "Reset" with hierarchies
  • FIRE was voxelizing sometimes when it was not necessary
  • Objects with a reference material applied sometimes were not displayed properly in the openGL viewport 
  • Pack n' Go with references
  • Downloaded MXM Gallery materials gets added twice to the material list
  • Potential problem when switching between material preview scenes
  • When a material was renamed inside the material editor, Studio was not checking if the name was already in use
  • HDR Light Studio: sometimes data stored in the MXS file was not read properly
  • HDR Light Studio: Fixed some refresh issue

Sunday, January 29, 2012

Virtual trees sway in wind just like the real thing - tech - 27 January 2012 - New Scientist

Original link : Virtual trees sway in wind just like the real thing - tech - 27 January 2012 - New Scientist

사실적인 CG 나무를 생성하는 새로운 소프트웨어가 개발중입니다.

영국 바쓰 대학교 컴퓨터 애니메이터 Chuan Li 씨와 동료들이 러프한 2D스케치로부터 다양한 크기와 모양을 가진 사실적인 3D애니메이트 나무를 생성할 수 있는 소프트웨어를 개발했습니다. 이 나무들은 실제 나무들과 마찬가지로 바람에 날리거나 폭풍치는 소리에 의해서도 나부낄 수 있습니다.

우선 잎이 없는 나뭇가지를 그린 2D스케치와 잎이 가득하게 되었을 때의 모양을 한 아웃라인으로 시작하게 됩니다. 이 2D스케치가 복사된 다음 회전을 시켜 3D의 형태를 이루도록 합니다.

그 다음 ‘성장’ 알고리즘을 통해 3D뼈대가 완벽해질 때까지 나뭇가지를 추가하게 됩니다.

이 소프트웨어는 개발팀이 촬영한 영상화면에 기반하여 실제 나뭇가지가 바람의 세기에 따라 어떻게 움직이는가 하는 (수학적)모델을 담고 있습니다.

이 시스템은 이 모델을 나무 뼈대에 적용하여 나뭇가지 구조가 어떻게 바람에 따라서 커다란 나뭇잎 무리를 움직이는지를 계산합니다.

뼈대속 각 가상의 가지는 여섯 부분으로 분할되며, 각 부분들이 독자적으로 회전함으로써 바람의 세기에 따른 나무 움직임 정도를 얻을 수 있습니다.

일단 나무의 3D뼈대를 캡쳐하게 되면, 작은 체리나무에서 큰 참나무에 이르기까지 다양한 모양과 크기의 나무들에 대해 스케일을 늘리거나 줄일 수 있습니다.

이 말은 어떠한 나무 뼈대 스케치도 실제 나무와 같은 움직임을 가지는 3D 모델을 생성하는데 사용될 수 있다는 뜻입니다. 더구나, 이 나무들은 바람 속도와 같은 물리적인 변수 없이도, 데시벨로 측정된 사운드트랙 속의 바람의 소리 레벨에 자동으로 반응을 합니다. 그래서 산들바람에서 강풍에 이르기까지 소음이 양에 따라서 나뭇가지들도 평화롭게 흔들리다 심하게 흔들릴 수 있습니다.

Saturday, January 28, 2012

CoCreateInstance () Failed 오류 메시지가 뜬다면

Original 원본 링크 : CoCreateInstance () Failed

맥스 파일을 열 때 아래와 같은 오류 메시지가 뜨는 수가 있습니다.

시작메뉴에서 cmd.exe  를 찾습니다.

찾았으면 그 위에 마우스 우클릭을 하고 '관리자 권한으로 실행'을 클릭합니다.

3ds Max  설치폴더로 갑니다 : cd "C:\Program Files\Autodeskds Max 2012"

먼저 등록 해제를 합니다 : regsvr32 /u MAXComponents.dll

등록해제를 하는 동안 dll 이 등록해제 될 수 없다는 오류메시지를 보게 될 겁니다.
그냥 무시하십시오

다음으로 재등록을 합니다 : regsvr32 MAXComponents.dll

만약 등록이 성공했다면 다음 화면을 볼 수 있습니다.


Lego Head

Lego Head

레고 머리 만들어주는 스크립트

Wednesday, January 25, 2012

If you can run 3ds Max only once 맥스가 실행이 안되고 작동을 멈췄다는 오류가 생길 때

If you can run 3ds Max only once

일부 시스템에서는 사용자마다 한 번씩 맥스를 실행할 수 있고, 그 이후에 아무리 실행을 하려고 해도 3ds Max가 작동을 멈췄다는 윈도우 에러메시지를 보게 되는 경우가 있습니다.

만약 맥스를 시작하기 전에 레지스트리에서 맥스에 대한 사용자 설정을 삭제했다면 시작될 겁니다. (우린 레지스트리에서 HKEY_CURRENT_USER 아래에서 3dsMax버전 아래에 Plug-ins 폴더를 제거함으로써 범위를 좁혔습니다). 이건 진짜 해결방법은 아닙니다.

해결방법은 사용자에 대한 3dsMax.ini 파일을 편집해서 EnableCoreInterfaceProxySystem 설정을 1에서 0으로 바꾸는 것입니다. 이 방법은 플러그인이 로딩되는 방법을 바꿔서 맥스가 정상적으로 실행되도록 할 겁니다.

이 ini파일 옵션은 3dsMax SDK 프로그래머 가이드 (아래 링크) 에 있습니다.

On a very small number of machines you can run 3ds Max once per user, afterwards whenever you try to run 3ds Max it fails with a Microsoft Windows error telling you that 3ds Max has stopped working.

If you delete the user settings for 3ds Max from the registry before you start 3ds Max it'll start (we narrowed it down to removing the Plug-ins folder under the 3ds Max version under HKEY_CURRENT_USER in the registry). That's not really a workaround....

The workaround is to edit the 3dsmax.ini file for the user and change the EnableCoreInterfaceProxySystem setting from 1 to 0. That will change the way plugins are loaded and 3ds Max will start normally.

This ini file option is documented in the 3ds Max SDK programmers guide: Deferred Loading of Plug-ins

Sunday, January 22, 2012

TinTin 의 라이팅과 Weta Digital 의 PantaRay

CGSociety(http://www.cgsociety.org)에서 영화'틴틴'의 제작과 관련하여 Weta Digital PantaRay 에 관한 자세한 인터뷰 기사를 실었습니다.
이 글은 편집자(Paul Hellard)의 허락 하에 번역되었습니다. 무단 전재는 절대로 금합니다.
번역오류에 대해서는 댓글로 남겨주세요.

원문 링크 : http://www.cgsociety.org/index.php/CGSFeatures/CGSFeatureSpecial/tintin

웨타 디지털은 올해에도 멋진 여러 영화들을 제작하며 잘나가고 있습니다. ‘틴틴의 모험으로 올해 VES후보에도 올랐습니다. 여기 CGSociety 에서는 이런 근사한 프로젝트들을 빛내주는 요소들에 대해 살펴보겠습니다.

Lighting Tintin

라이팅에 측면에서 보자면, 파이프라인은 아바타 당시 개발되었던 것의 확장이지만 더 복잡해졌는데, 이는 주로 웨타의 indirect pipeline spherical harmonics pipeline의 개선 때문입니다. 그리고 웨타의 시각효과 수퍼바이저 Keith Miller씨에 따르면, “아마도 가장 큰 부분 중 하나는 그림자 데이터를 생성하기 위한 판타레이의 사용이 아닐까 합니다.” 판타레이는 웨타디지털의 레이트레이서입니다. “아바타 제작당시 우린 주로 spherical harmonics를 계산하기 위해 판타레이를 사용했습니다. 하지만 틴틴에서는 그림자 레이트레이싱을 처리하는 데까지 능력을 확장했고, 빛에 의한 그림자 부분이 더욱 생동감 있고 정확해 졌습니다.”

틴틴은 이번 영화에서 작업하기 더욱 어려운 캐릭터들 중 하나였습니다.
틴틴을 작업하면서 어려웠던 점은 단순하게 생긴 캐릭터라는 점이었습니다. 그는 그저 계란형 얼굴에 두 눈동자를 가지고 있고 별다른 작업거리가 없어요. 우린 Hergé 의 묘사를 살리면서도 시각적으로 재미나고 조명이 쉽도록 만들기 위해 캐릭터에 생기를 불어넣으려고 수 년간을 반복해서 작업했습니다. 우린 틴틴 캐릭터를 탐구하는데 수 백번의 반복작업을 했습니다.” Miller씨가 말합니다.
이는 표면에 변화가 별로 없는 단순한 형태를 라이팅하는 것이 힘들기 때문입니다. 틴틴 캐릭터는 소년이었기 때문에, 해독 선장처럼 주름살이나 상처가 있지도 않고 눈을 그리기 위한 재미난 디테일들이 없었을 뿐 아니라 톰슨 쌍둥이처럼 커다란 코와 턱살로 재미난 표정을 연출하지도 않습니다. 틴틴의 표정이나 턱, 그리고 뺨 등을 살리기 위해 해결책이 필요했습니다.

폭풍우 치는 바다 역시 어려운 라이팅 과제였습니다. 웨타에서는 번개 지오메트리를 생생하는 툴을 개발했지만 여전히 번갯불이 그 구름과 통합되도록 해야 했습니다. Miller씨가 말합니다. “우린 수 많은 참고자료를 연구했습니다. 번갯불과 그로 인한 밝기, 그리고 구름 사이에 매우 흥미로운 일들이 있더군요. 구름 속에 포함된 것 같은 느낌의 라이팅을 얻는 건 꽤 힘들었습니다.”
이를 위해서, 웨타는 자신들의 인하우스 구름 소프트웨어에 새로운 기능을 추가했습니다. 마야와 랜더맨 양쪽의 파이프라인에 통합된 볼류메트릭 모델링 및 랜더링 시스템입니다. “인터렉티브한 라이팅 프리뷰가 가능하고 딥 알파 합성이 가능한 직관적인 툴로 TD들이 빠르게 반복작업을 할 수 있습니다.”

번개와 구름들과의 상호작용에 큰 도움을 준 것은 fast approximate multiple scattering기술의 도입입니다.
소프트웨어 개발자 Antoine Bouthors씨는, 복수의 단일 스캐터링 알고리즘에 서로 다른 변수들을 제공함으로써 얻어진 fast approximate multiple scattering(true multiple scattering은 아니지만)을 위한 지원을 추가하였습니다.
이 접근방법은 매우 적은 계산으로도 실제 멀티 스캐터링과 유사한 결과를 얻을 수 있게 해줍니다. 우린 또한 번갯불 지오메트리로부터 직접 캐시를 생성해서 구름을 비추는데 사용했습니다. 번갯불 주위로 뜨거운 중심부와 넓게 퍼지는 빛 효과를 얻을 수 있는데 이것들이 정말 근사하게 생성되죠.”
웨타에서는 이 구름소프트웨어를 구름 뿐만 아니라 안개나, god rays, 횟불빛 등 다양한 부분에도 사용했습니다.

웨타는 또한 자신들의 간접조명 파이프라인을 개선시켜서 멀티바운스 간접디퓨즈를 통합시키고 새로운 간접스펙큘러 파이프라인을 만들었는데, 간접조명 캐시로부터 대략적인 글로시 반사를 얻을 수 있도록 해 줍니다.
Spherical Harmonics(SH)파이프라인의 개선은 데이터가 생성되고 저장되는 측면과 사용되는 측면 모두를 고려했습니다. 이는 SH를 생성하기 위해 PantaRay를 사용했기 때문입니다.
아바타 이후로, 웨타는 판타레이에 CUDA지원을 향상시키는 작업을 했습니다. “우린 아바타때보다 훨씬 빨리 규모 순서대로 하모닉스 패스들을 작업할 수 있었는데, 정말 커다란 데이터셋을 처리하기 때문에 이는 매우 중요했습니다.”


웨타의 랜더링 수석 연구원 Luca Fascione는 시각효과 수퍼바이저 Wayne Stables와 함께 틴틴에 참여한 판타레이 전문가였습니다. 스필버그는 영화 속 조명들이 대부분 사실적인 조명들로 빛이 나고, 자주 사각이나 구형 Area Light들을 사용하길 원했습니다.
Stables의 설명에 따르자면 그로 인해 우린 그림자의 레이트레이싱을 시작해야 한다는 것과, 섀도우 맵을 사용하게 아니라 이를 레이트레이싱을 해서 정확히 계산해야 한다는 것을 알았습니다.” 이 과정은 라이팅 파이프라인을 재구성해야 하는 주요인이 되었습니다. 아바타에서는 이미지기반 라이팅을 위한 오클루젼 정보를 계산하기 위해 판타레이를 사용했지만, 이번에는 그림자를 계산하기 위해서 확장을 할 필요가 있었습니다.

아바타를 끝낼 당시, 웨타의 레이트레이서는 이미 매우 빠르고 거대한 지오메트리를 손쉽게 처리할 수 있었습니다.
부족한 것이라곤 그림자 정보를 연산하는 루틴을 추가한 뒤 어떻게 이 모든 정보를 저장하여 랜더링 하는 동안 쉽게 재사용 할 수 있도록 할 것인가 하는 아이디어를 찾아내는 것이었습니다.
판타레이는 뷰티패스에 앞서 실행되어(프리컴퓨팅 엔진이므로) 모든 그림자에 대한 방대한 양의 데이터를 저장한 다음 뷰티패스 중에 랜더러에서 다시 읽어오게 됩니다.

모든 광원들은 씬 내의 각 버텍스에 그림자 정보를 저장하고 캐시를 생성하는데 대부분의 경우 프레임당 수 기가바이트에 이릅니다. 웨타에서는 이 파일들을 작업과정의 일부로서 끊임없이 정리할 필요가 있습니다.
이 알고리즘은 전통적인 섀도우 맵과는 다른데, Fascione씨의 설명에 따르자면: “만약 솔리드 오브젝트에 대해 전통적인 섀도우 맵을 가지고 레이트레이스 섀도우와 비교를 한다면, 본질적으로 빛을 받은 픽셀당 하나의 광선에 대해서 얘기를 하는 것입니다. 털이나 안개와 같은 다량의 매우 얇거나 혹은 투명한 것들로 섀도우 맵을 가져가 본다면, 털코트가 얼마나 두꺼운가 혹은 안개가 얼마나 짙은가에 따라서 픽셀당 수십~수백의 픽셀당 광선이 필요하게 됩니다.”
이게 Deep Shadows라고 불리는 기술이며, ‘몬스터 주식회사를 위해 픽사에서 개발되었고 거의 모든 스튜디오에서 수많은 영화에 사용되고 있습니다.
 “여기 소프트 섀도우라고 불리는 또 하나의 다른 기술이 있는데, 이 기술은 표준 Area light의 네 모서리의 각각으로부터 섀도우맵을 계산하며 빛을 받은 픽셀당 네 개의 광선을 갖게 됩니다. 자연스럽게 두 기술을 합쳐서 소프트 딥 섀도우란 기술을 얻게 됩니다. 이제 이를 판타레이가 동작하는 방식과 비교할 수 있습니다 : 모든 그림자에 완전한 레이트레이스 이죠.” Fascione씨가 말합니다.
이는 씬 버텍스당 대략 수백에서 수천의 광선이 있으며, 수행할 작업의 양이 일반적인 경우보다, 심지어 소프트 딥 섀도우 보다도 열배에서 백배나 많아진다는 의미입니다.
판타레이를 사용해서, 웨타는 이 모든 작업을 무거운 딥 섀도우 랜더의 2배의 시간에 해낼 수 있었으며 CUDA를 탑재한 GPGPU하드웨어에서 실행될 때는 더욱 절약이 됩니다.
우린 정확히 한가지의 매우 특화된 작업을 위해 고안된 매우 특별한 툴을 가지는 호사를 누리고 있기 때문에, 이를 완전히 최적화 시키고 할 수 있는 한 최대로 잘 운영할 수 있습니다. 과거의 과정과 비교하자면, 전환시에는 약간 느리긴 하지만 수퍼바이저들이 영화의 시각적 톤을 일치시키기 위해 찾던 빛과 그림자의 품질을 향상시켜 줍니다.”
특히 이 점이 두드러진 몇 가지 사례는 틴틴의 아파트 내부인데, 매우 단순화된 박스 모양의 양쪽에 창이 있는 방입니다.
우린 몇 개의 얇은 망사 커튼을 설치하고 마치 사운드 스테이지에 있고 사무실의 내부를 촬영하는 것 처럼 처리했습니다. 결국 창문을 통해 들어오는 크고 부드럽게 확산된 area 광원들로 부드러운 자연광을 얻게 되었습니다.
거긴 우리가 섀도우 맵으로 처리하려 시도했던 장소였는데, 매우 신속하게 모두 부서져 내리기 시작했을 수도 있었습니다. 만약 그런 크고 부드러운 그림자들을 원한다면 그냥 레이트레이싱을 시작해야 합니다.
언제나처럼, 디스크 공간은 주요 관심사였습니다. 수 많은 샷들이 커다란 드라마 샷들로 길이가 수백프레임이였습니다.
만약 매 프레임 모든 조명들로부터의 그림자 데이터를 저장하고 하나의 디스크에 넣는다면, 웨타의 연산능력과 네트웍 구성조차도 네트웍에 손상을 입을 위험성을 항상 가지고 있습니다.
우린 프레임당 데이터를 배분하기 시작했습니다. 그래서 만일 1000프레임짜리 샷이 있다면, 매 프레임당 데이터는 분할된 디스크 공간에 존재하게 되고, 이는 서로 다른 서버에 분산되고 네트웍으로 균형이 유지된다는 뜻입니다. 우린 모든 정보들을 프리컴퓨팅을 하여 방대한 양의 정보를 저장하기 때문에, 이러한 작업을 만들기 위한 기반을 최적화 해야 했습니다.”
판타레이는 CPU GPU에서 동작했지만, 아바타에서는 CPU코드 패스가 빠르고 비교적 간단했습니다. “우린 틴틴의 말미에 가서 크게 속도를 높이려 애를 썼습니다. 가장 좋았던 경우에는 20에서 50배까지 향상되었죠.”
새로운 NVidia카드를 통해 우린 GPGPU 코드패스 속도를 크게 향상시켜서 5배에서 10배까지 빨라졌는데 당연히 이는 실질적 절약이 되었습니다.
사실 실제로 샷 전환 시간을 위한 많은 지체 없이도 5~10배 가량 증가된 크기의 씬을 다룰 수 있었다는 뜻입니다.
그 경우 대부분, 같은 작업을 빠르게 하기 보다는 영화의 모양새를 향상시키기 위해 기술을 사용하는 경향이 더 많이 있습니다.”
전 우리가 사실상 뭔가를 레이트레이싱을 할 수 있는 단계에 있다는 것이 정말 좋습니다. 틴틴은 지금까지의 영화들 중에서 가장 레이트레이싱 된 영화입니다. 그리고 그걸 가능하게 한 판타레이와 같은 기술을 가지고 있다는 점에서, 그림자든 간접조명이든 또는 다른 무엇이든 우리가 레이트레이싱을 하고 바운스시키고 싶은 것은 뭐든 미래에는 만들 수 있다는 것입니다.”

Lighting Fur and Hair

웨타의 인하우스 퍼 시스템 바버샵은 모델 수퍼바이저 Marco Revelant의 지도하에 주인공과 배경 캐릭터들 및 쥐나 낙타에서 개에 이르기까지 모든 동물들의 털과 머리칼을 위해 사용되었습니다.
우린 털을 심지어 얼굴의 솜털이나 옷의 잔털에도 사용했습니다. 털들은 영화 전체를 통해 매우 광범위하게 사용되었습니다.”
만화책 버전의 스노위는 기본적으로 개의 외형입니다.
이건 개처럼 생긴 일종의 구름입니다. 윤곽 내부에는 섀이딩이 없고 매우 정형화 되어있습니다.” 털이 어디서 시작하고 어디서 개가 끝이 나며 피부는 어디까지인지 알기 매우 힘듭니다. 흰색 털은 항상 애매한데 수많은 산란이 생기기 때문입니다. 너무 강하거나 어둡게 될 수 있기 때문에 섀이더에 문제가 많습니다.
흰색에 근사한 광택을 내게 하기는 매우 힘듭니다. 수염과 그림자는 짙은 머리털이나 털에서 보다는 더 잘 어울립니다.

운좋게도, ‘바버샵은 토폴로지와 독립적으로 작동할 수 있습니다.
전체적인 비례가 맞는지 보면서 캐릭터에 털을 입힐 수 있었습니다. 만약 잘못되었다면 털을 짧게 하거나 피부를 움직이죠.”
두 가지로 작업하고 어느 쪽이 나은지 볼 수 있죠.” 웨타는 GPU의 성능 덕택에 마야 내에서 인터렉티브한 섀이딩을 만들 수 있었습니다.
랜더시에 듀얼 스케터링 섀이더에 사용했던 것과 동일한 알고리즘을 사용해서, 실시간으로 섀이딩을 가진 라이팅을 하거나 머리카락 너비의 표현을 제어할 수 있었습니다. 보통 털의 모든 가닥은 1픽셀 너비로 뷰포트에 표현되지만 우리 시스템에서는 머리털 너비를 정확히 표현할 수 있는 안티알리아싱을 사용할 수 있으며, 모근과 끝부분의 서로 다른 두께를 보여줄 수도 있고, 마야의 뷰포트에서 보이는 것과 랜더링되는 것과 매우 유사합니다.”
수염이 흰 털과 얼마나 잘 작동하는지 마야 뷰포트에서 볼 수 있다는 점은 매번 랜더링을 하지 않고도 스노위가 어떻게 보이는지 판단하기에 매우 좋습니다.

BCS_Projector (Boxify-Cylindrify-Spherify)

BCS_Projector (Boxify-Cylindrify-Spherify)

오브젝트의 형태를 박스, 실린더, 구 형태로 바꿔주는 모디파이어

애니메이션이 가능하므로 박스형 오브젝트를 실린더형 또는 구형의 물체로

몰핑시키는 것도 가능합니다.

Chimney maker

Chimney maker

굴뚝을 만들어 주는 스크립트

재질도 랜덤하게 설정할 수 있도록 해 줍니다.

Thursday, January 19, 2012

Error MaxStartUI.mnu is invalid

Error MaxStartUI.mnu is invalid

UI 오류 수정

VrayLightSelect Render Element 활용

V-Ray 2.0 버전에 새로 추가된 랜더 앨리먼트로 Vray Light Select 란 게 있습니다.
씬을 하나 준비합니다.
가로세로높이 3m인 방을 하나 만듭니다.

왼쪽벽은 창을 하나 만들어서 햇빛이 직접 들어오도록 합니다.
조명을 천장과 테이블에 하나씩 설치를 합니다.

천장에 있는 조명은 Plane 타입이며 테이블에 있는 조명은 Sphere 타입입니다.
세기나 크기는 적당히 설정하면 됩니다. 여기서는 대략 40x30cm 와 직경 5cm로 했습니다.
조명 옵션들은 기본값을 그대로 사용했습니다.

그리고 VraySun 을 하나 추가해서 실내로 태양광이 직접 들어오도록 각도를 조절합니다.
VraySun을 추가하면서 Environment 에는 VraySky가 자동으로 설정되도록 OK 했습니다.

그런 다음 카메라를 정면에 하나 추가합니다.
여기서는 VrayPhysicalCamera 를 사용했고 
실외에 있는 카메라에서 실내 랜더링이 보일 수 있게 Clipping 을 설정합니다.

f-number와 Shutter speed 등의 카메라 설정을 하고 GI 설정도 합니다.
랜더링을 하면 다음과 같이 랜더링이 됩니다.
조명 3개가 모두 켜졌네요.
이제 Render Elements 로 가서 Add버튼을 눌러 VRayLightSelect를 추가합니다.

그런 다음 아래 그림과 같이 Lights 리스트에 3개의 조명을 모두 선택해서 추가합니다.
추가하는 방법은 Lights 리스트의 Add버튼을 클릭하고 뷰포트에 있는 조명을 클릭하면 됩니다.
그리고 VRayLighting 앨리먼트도 추가해 줍니다.
이제 랜더링을 다시 합니다.
VFB에서 추가한 랜더 앨리먼트들의 랜더링 상태를 봅니다.
왼쪽은 VRayLightSelect 앨리먼트이고 오른쪽은 VRayLighting 앨리먼트 입니다.
똑같이 랜더링 되었네요.
이제 VRayLightSelect 앨리먼트 설정화면으로 돌아가서
조명 리스트에서 VRaySun 만 남기고 나머지는 지웁니다. 그리고 이름을 VRayLightSelect_Sun 으로 변경합니다.
다시 Add버튼을 클릭해서 VRayLightSelect를 하나 더 추가한 다음
이번에는 조명을 VRayLight001 만 추가합니다.
그리고 VRayLightSelect를 또 하나 추가한 다음 이번에는 VRayLight002만 리스트에 등록을 합니다.
각 랜더 앨리먼트들의 이름을 VRayLightSelect_1, VRayLightSelect_2로 바꿔줍니다.

다시 랜더링을 한 다음 VFB창에서 세 개의 VRayLightSelect 앨리먼트들의 랜더링을 확인합니다.
각각 위의 그림과 같이 랜더링이 되었습니다.

이제 이걸 VRayLighting 과 동일하게 되도록 합쳐야 합니다.
Composite (Toxik)을 사용해서 합쳐보겠습니다.
세 개의 VRayLIghtSelect 랜더 앨리먼트들을 모두 Add시켜서 VRayLighting과 비교해 봤습니다.
똑같이 보입니다.

각 앨리먼트들은 일반적인 패스합성시 개별 조명들의 세기를 각각 컨트롤 할 수 있기 때문에
여러가지 활용방법이 있을 것입니다.
다음번에는 실제 씬을 가지고 활용하는 방법을 알아보도록 하겠습니다.

Push 2

Push 2

Straighten Corners 명령이 추가된 Push 모디파이어

Wednesday, January 18, 2012

Common triggers for product reactivation 소프트웨어 재활성화가 발생하는 이유



As a customer activating your license, you might be asked if you are activating your license for the first time. You'd like to understand what this means.


Autodesk is simply ensuring that the software is not activated on any ineligible computers. You send your activation request to Autodesk through a secure Internet connection or by email. If the request is valid, you receive an activation code, and your product is immediately available for use.

The following activities can prompt a reactivation: 다음의 경우 재활성화 프롬프트가 뜨게 된다고 합니다

  • Significantly changing the primary boot disk 프라이머리 부트 디스크에 중대한 변화가 생긴 경우 
  • Tampering with the activation services or the software license files 활성화 서비스나 소프트웨어 라이센스 파일에 문제가 생긴 경우 
  • Modifying the system date or time properties on a computer that has a time-limited software license 사용기한이 있는 소프트웨어 라이센스에 시스템 날짜나 시간이 변경된 경우 
  • Reinstalling your operating system 운영체제를 재설치한 경우

V-Ray 2.0 VRayDistanceTex

VRayDistanceTex 는 선택 리스트내에 지정한 오브젝트(들)에 대해 한 점으로부터의 거리에 기반하여 다른 색상을 되돌려주는 해 주는 특수한 프로시저럴 텍스쳐입니다.

우선 매뉴얼을 살펴봅니다

VRayDistanceTex Parameters

distance - far color 로 지정될 모든 점들의 바깥 반지름을 지정합니다.

far color - 리스트에 지정된 오브젝트로부터 radius 변수보다 먼 거리에 있는 점들이 이 색상으로 표시됨

near color - 리스트에 지정된 오브젝트들의 바로 바깥에 있는 점들이 이 색상으로 표시됨. 오브젝트의 바깥에 있긴 하지만 정확히 옆에 있는 것들이 아닌 경우는 near color 와 far color 사이의 섞인 값으로 결정되며 radius 가 falloff 반지름으로 작용함

inside color - 리스트에 지정된 오브젝트 내부의 점들이 이 색상으로 표시됨. 내부에 있지만 바로 인접하지 않은 경우는 inside color와 far color 사이의 섞인 값으로 결정되며 radius 가 falloff 반지름으로 작용함

VRayDistanceTex Textures

far texture - far color 대신 텍스쳐를 지정합니다.

texmap far texture on - far texture를 켜거나 끕니다.

texmap far texture multiplier - far color 와 far texture 사이의 혼합비율을 설정합니다.

near texture - near color 대신 텍스쳐를 지정합니다.

texmap near texture on - near texture를 켜거나 끕니다.

texmap near texture multiplier - near color와 near texture사이의 혼합 비율을 설정합니다.

inside texture - inside color 대신 텍스쳐를 지정합니다.

texmap inside texture on - inside texture를 켜거나 끕니다.

texmap inside texture multiplier - inside color 와 inside texture 사이의 혼합 비율을 설정합니다.

VRayDistanceTex Objects

텍스쳐에서 각 지점에 대해 색상을 연산할 때 고려될 오브젝트 리스트

다음으로 예제를 살펴보겠습니다.

먼저 씬을 다음과 같이 만듭니다.
각 주전자는 반지름이 25cm이고 각각 1m씩 떨어져 있습니다.
이름은 멀리 있는 것부터 1,2,3,4

Render Element 에서 ExtraTex 를 추가한 다음 VrayDistanceTex 섀이더를 Instance로 붙여넣고 랜더링을 함께 해 보겠습니다

Add 버튼을 눌러 VRayExtraTex를 추가합니다.

Texture에 VRayDistanceTex 를 지정하고 이를 재질편집기로 인스턴스 합니다.

아래 그림에서 우측의 재질 옵션과 같이 Distance는 50cm, 색상은 각각 멀리 있는 곳은 적색, 가까이 있는 곳은 녹색, 내부는 청색
오브젝트 리스트에 오브젝트는 멀리 있는 주전자 두 개만 추가했습니다.

랜더링을 해 보면 다음과 같은 랜더엘리먼트가 추가로 랜더링 됩니다.

이번엔 Distance를 100cm로 높여서 랜더링 했습니다. 가까운 거리인 녹색이 채색된 부분이 늘어났네요

다시 200cm까지 높여봤습니다.

300cm로 높이니 far color가 거의 없어져 가는군요

1000cm 까지 높이니 far color가 아예 없어졌습니다. 

거리에 따라 지정된 색상이 어떻게 나타나는지 살펴봤습니다.


이제 리스트에 포함되는 오브젝트에 따라 어떻게 달라지는지 살펴보겠습니다.

앞의 예제와 마찬가지 상태로 시작합니다.
(아래 이미지들에서 far texture가 checker로 되어있지만 체크박스가 해제되어 있으므로 far color가 그대로 적용이 됩니다.)

리스트에는 멀리 있는 주전자 2개만 포함되어 있습니다. DistanceTex는 처음 예제와 동일하게 아래와 같이 랜더링이 됩니다.

리스트에서 두 번째 주전자를 리스트에서 제외시켜 봅니다.

리스트에 남아있는 첫번째 주전자 주위로 지정된 색상들이 나타납니다.

이번에는 바닥평면을 리스트에 추가합니다.

바닥평면과 첫번째 주전자 주위로 지정된 색상들이 나타납니다.
바닥은 Inside color 가 대부분을 차지하며 그 인접한 평면부분에 near color도 조금씩 나타납니다.

이번엔 첫번째 주전자를 리스트에서 제거해 봅니다.

바닥평면 주위로 색상들이 나타납니다. 주전자를 모두 제외시켰기 때문에 주전자에는 Inside color가 없습니다.

즉 리스트에 추가된 오브젝트는 마치 하나의 오브젝트인 것 처럼
그 내부에는 inside color가, distance값으로 설정된 만큼의 인접한 곳에는 near color가, 그 외의 부분에는 far color가 나타나게 됩니다.


이번에는 이 섀이더의 실제 쓰임새를 알아보겠습니다.

위의 씬을 랜더링을 하면 RGB채널은 아래와 같이 나옵니다.

이번엔 VRayDistanceTex의 색상들을 기본값으로 되돌립니다.
far color는 흰색, near color와 inside color는 검정색입니다.

그리고 바닥 평면에는 VRayDisplacementMod를 추가합니다.
(이미지상에는 모디파이어가 꺼져있는데 아이콘을 클릭해서 켜 줍시다)

Type은 3D mapping으로 하고, 
Texmap 에는 방금 만든 VRayDistanceTex 세이더를 드래그해서 Instance시킵니다.
Amount 는 20cm 만 지정하고 나머지는 기본값으로 둡니다.

VrayDistanceTex의 distance를 0으로 놓고 랜더링 해 봅니다.
아래와 같이 랜더링 됩니다.

바닥에 디스플레이스먼트가 적용되어서 20cm만큼 위로 올라와 버려서 주전자가 파묻혔네요

이번엔 distance 거리를 10센티로 설정하고 랜더링 해 봅니다.

뭔가 달라진 점이 보이시나요?

좀 더 크게 설정해 봅니다. 20cm로 놓고 랜더링을 합니다.

주전자 아래에 바닥이 푹 꺼져있는게 보입니다.

50센티로 더 높여서 랜더링 해 봅니다.

훨씬 넓게 패여 있습니다.

함께 랜더링 된 랜더 엘리먼트를 보면 아래와 같이 랜더링 되어 나옵니다.

즉 리스트에 지정된 오브젝트 주위의 거리에 따라 먼 곳은 흰색, 가까운 곳은 검정색으로 랜더링이 되는 섀이더가 만들어 지는데 이를 디스플레이스먼트 텍스쳐로 사용했기 때문에 주전자에서 먼 부분은 바닥이 튀어올라왔고 주전자 주위는 움푹 꺼져있게 됩니다.

튀어나오게 하려면 VrayDisplacementMod의 Amount 값을 반대로 - 값을 넣거나

VRayDistanceTex의 흑과 백 색상들을 반대로 지정하면 됩니다.

주전자를 Hide시키면 아래처럼 언덕만 남은채 랜더링이 됩니다.

디스플레이스먼트가 적용된 바닥이 Amount값 때문에 높이가 달라졌기 때문에

바닥 높이를 맞추기 위해서 Shift 값을 반대의 값으로 지정했습니다.

이제 주전자를 좀 움직여 봅니다.

기본 랜더링 상태입니다.

 기본 설정은 동일합니다.

디스플레이스먼트 설정값은 Amount -60cm, Shift 60cm 입니다.

주전자를 뒤로 움직여 봅니다.

이번엔 아래로 내려 봅니다.

위로 올려도 봅니다.

움직임을 동영상으로 만들어 봤습니다.

첫번째 영상은 주전자의 움직임, 두번째는 랜더링 된 영상, 세번째는 VRayDistanceTex의 변화를 살펴볼 수 있습니다.