Sunday, December 20, 2009

Mixing 64bit RPS with 32bit RMS

If you're mixing 64bit RPS with 32bit RMS. you'll see the follow error massage.

D02001 {WARNING} TgPathDLOpen: Bad DSO found: C:/Program Files (x86)/Pixar/RenderManStudio-2.0.2-maya2010/lib/shaders/RfMShadeops.dll (%1:(ᄡÂ) ﾿ùٸᆬ Win32 À?ë Çwα׷ᆬÀÌ ᄒƴմϴÙ.) [<Shading> Object: particleShape1 Shader: renderman/sprite/shaders/lambert2_]

S09001 {ERROR} Could not open RSL plugin "C:/Program Files (x86)/Pixar/RenderManStudio-2.0.2-maya2010/lib/shaders/RfMShadeops.dll": À۾÷; ﾿ϷáÇ߽4ϴÙ.) [<Shading> Object: particleShape1 Shader: renderman/sprite/shaders/lambert2_]

The reason of this, 64bit RPS won't be able to load the 32bit RSL plugin from RMS.

Wednesday, December 2, 2009

Maya Test: Driving Fluid Buoyancy and Swirl with Textures



This is a test done in Maya of a volume noise texture (space-time) plugged into a fluid node's Buoyancy and Swirl attributes. I don't see this done very often in example scenes, so I thought I would start exploring the possibilities. After all, they let you drive almost everything! (Update: you cannot drive voxels individually as I hoped- the texture acts like an expression changing the value for all voxels on that frame)

Fluid res is 128x160x128 with High Detail Solve on all grids and Sim Rate Scale set to 2. Grids are Velocity and Density. There are no turbulence fields and Turbulence is off for the internal force on the fluid node. All the rolling in the smoke is a result of high Buoyancy and Swirl. For stability, I oversampled with a rate of 0.25 on the cache. It gets a bit funky when the fluid fades.

Proof of Concept for Bricks of Cash Falling



Just a quick proof of concept for this thread using nCloth:
forums.cgsociety.org/​showthread.php?f=86&t=806868

Fireball in Hand



Quick test of this effect: forums.cgsociety.org/​showthread.php?f=86&t=788897

I noticed it doesn't always play smoothly on vimeo which is a problem for such a short clip, but you can download the 1280x720 quicktime and it will probably play fine.

Something similar was done with a blue flame in Maya for Kung Foo Panda, but I can't find the video or remember the artist that created the effect. shawnlipowski.com/​reference/​KFP014_1280.jpg

Demonstration of a Colored Smoke Bomb Effect



Done with Maya fluids in 2009. Fluid was sampled 24 fps with 2 steps per frame (48 fps really) and had a resolution of 5.6 million voxels.

Scene file in this thread:
forums.cgsociety.org/​showthread.php?f=86&t=817273

Reference:
i410.photobucket.com/​albums/​pp186/​ruchitinfushion/​Smoke_bomb5.jpg?t=1255943262

-shawn

Sunday, November 29, 2009

Tuesday, November 24, 2009

Sony Cam with me

http://www.sony.jp/products/Consumer/handycam/camwithme/main.html

Procedural Shell Demo



This is my first Houdini project at Savannah College of Art and Design. My goal was to create a digital asset that generates procedural models based on input parameters.

If you want to know more about this project, feel free to contact me.

aleksandarrodic.com

You should visit prof. Bernard's website if you want to see some amazing student work:
profwiz.com

Music:Wavemage

Polar Bear



Your flight has an impact. Plane Stupid's new cinema ad, written and commissioned by creative agency Mother and made by production company Rattling Stick. Director Daniel Kleinman.

planestupid.com
motherlondon.com
rattlingstick.com

Project name: Polar Bear
Client: Plane Stupid
Brief: We wanted to confront people with the impact that short-haul flights have on the climate. We used Polar Bears because they're a well understood symbol of the effect that climate change is having on the natural world.
Creative agency: Mother
Copywriter: Mother
Art director: Mother
Planner: Mother
Agency Producer: Mother
Production company: Rattling Stick
Director: Daniel Kleinman
Producer: Johnnie Frankel
Editor: Adam Spivey @ The Quarry
Post-production: MPC
Sound Design and Audio Post Production: Anthony Moore @ Factory
Cinema Mix: Anthony Moore @ Factory & Andy Humphreys@ 750mph
Humphreys@750mph
Exposure: Cinema, Online

Monday, November 23, 2009

FLAIRS - TRUCKERS DELIGHT



TRUCKERS DELIGHT IS NOW A FULLY PLAYABLE I-APP
DOWNLOAD IPHONE TRUCKERS DELIGHT VIDEOGAME : tiny.cc/​ql2n2

T-shirts, merchandising and much more ici = WWW.TRUCKERSDELIGHT.NET

Truckers Delight animated video clip directed by newcomer wunderkid Jérémie Périn who takes the song's title (a tribute to those little pleasures that the lonely truck- driver indulges himself in) and takes it to the next level: it's très funny,très dirty, -très sexy. Très Flairs indeed.

Truckers Delight EP is be available in digital and 12" with 2 remixes by veteran Alex Gopher of French touch fame and Alixander III, taking some time off his duo Azari & III.

Download track on itunes : tinyurl.com/​yzf59gc

MEET MELINE (2009) - TRAILER



MEET MELINE : The Trailer

After two years of intense work on an independent 3D animated short film called "Meet Meline", Virginie GOYONS and Sebastien LABAN made the teaser/trailer to show you a little bit more of the short film. We're proud to present you the 46-seconds-video with the official music of "Meet Meline", composed by Guillaume ROUSSEL!

More information on the website : meetmeline.com

I hope you'll like it!
Don't hesitate to leave a quick comment to tell us what you think! :o)

Sebastien LABAN
sebastien-laban.com

Academy of Champions



game trailer "Academy of Champions" created by "Fortiche" for Ubisoft

The Ultra-Realism of Alex Roman



Credits:
CG
|Modelling - Texturing - Illumination - Rendering| Alex Roman
POST
|Postproduction & Editing| Alex Roman
MUSIC
Sequenced, Orchestrated & Mixed by Alex Roman (Sonar & EWQLSO Gold Pro XP)
Sound Design by Alex Roman
Based on original scores by:
.Michael Laurence Edward Nyman. (The Departure)
.Charles-Camille Saint-Saëns. (Le Carnaval des animaux)

Directed by Alex Roman

Tuesday, November 3, 2009

Exporting Particle Data to Rib

Maya Particle을 매 frame마다 Rib으로 출력하기.

import maya.cmds as cmds

expName = "ptTest"
seed = 10

expShader = 0
mulFrame = 1
stFrame = 1
enFrame = 48

selShape = cmds.ls(selection=True, dagObjects=True, shapes=True)

for i in range(0, seed, 1):
cmds.setAttr("particleShape1.seed[0]", i)

for k in range(stFrame, enFrame+1, 1):
cmds.currentTime(k)
cmds.file("/show/ep/temp/rman_pt_test/RIB_Archive/%s_sd%d.%04d" % (expName, i, k), exportSelected=True, type="RIB_Archive", force=True, options="rmanExportRIBCompression=0;rmanExportFullPaths=1;rmanExportGlobalLights=0;rmanExportLocalLights=0;rmanExportCoordinateSystems=0;rmanExportShaders=%d; rmanExportAttributeBlock=0;rmanExportMultipleFrames=%d; rmanExportStartFrame=%d; rmanExportEndFrame=%d; rmanExportByFrame=1;" % (expShader, mulFrame, stFrame, enFrame))

print "done.\n"

Thursday, October 29, 2009

Python in Linux

배포판 linux에 설치된 python version은 2.4가 대부분이다. 하지만 RPS 14.0에서 지원하는 python API는 python 2.5 을 필요로 한다.

1. download package
http://www.python.org/ftp/python/2.5.4/Python-2.5.4.tgz

2. unpack the archive
$ tar xvzf Python-2.5.4.tgz

3. change to the Python2.5.4 directory and run
$ ./configure
$ make
$ sudo make install

4. python 실행시 2.5.4로 실행이 되는지 확인. 만약 실행이 안된다면
$ cd /usr/local/bin
$ ln python2.5 python
$ ln -s python-config python2.5-config

Maya.env
PYTHONPATH=$RMANTREE/bin

getenv "PYTHONPATH"
import prman

Linux에서 alfred 실행시 지연되는 현상

현재까지 발견한 문제는 database의 logging 문제. 아래와 같이 수정하면 바로 실행된다.

Edit $RMSTREE/etc/alfred.ini

set alfConfig(database) {MySQL alfsqlserver alfsqldatabase alfsqluser ""}

to

set alfConfig(database) {}

Change Mac Address

$ ifconfig eth0 down
$ ifconfig eth0 hw ether 00:00:00:00:00:00
$ ifconfig eth0 up

or

Add the follow line to /etc/sysconfig/network-scripts/ifcfg-eth0

MACADDR=00:00:00:00:00:00

$ service network restart(or /etc/init.d/network restart)

Sunday, October 25, 2009

Python and PyQt in 3dsMax

http://forums.cgsociety.org/showthread.php?t=816475&textlink&utm_source=newsletter&utm_medium=hot%2Bthreads&utm_term=816475&utm_content=textlink&utm_campaign=20091019

Double Negative's RenderMan Point Cloud Viewer for Maya



http://dneg.github.com

http://forums.cgsociety.org/showthread.php?t=814639&textlink&utm_source=newsletter&utm_medium=hot%2Bthreads&utm_term=814639&utm_content=textlink&utm_campaign=20091019

Double Negative에서 open source software에 동참하면서 그들의 첫번째 project인 RenderMan point cloud viewer for Maya를 공개했다. 예전 SEGA에서 이런 Maya plugin을 만들었지만 공개되지는 않았었다. 뭐... 다른 production에서 내부적으로 이미 만들어 쓰고 있을지는 모르지만 외부에 공개된 것은 이번이 처음인것 같으니 고무적이지 않을 수 없다.

Wednesday, October 21, 2009

Installing cgkit

1. download cgkit-2.0.0
http://sourceforge.net/projects/cgkit/files/cgkit

2. untar file
$ tar xvzf filel.tar

3. cgkit installer is required Boost, SCons. check the packages.
$ yum list boost* scons*

4.
$ cd supportlib
$ scons
$ cd ..
if everything is ok, you can see libcore.a in 'lib' subdirectory.

5.
$ python setup.py install

Installing Komodo License

Copy License File to ~/.ActiveState/

Tuesday, October 20, 2009

R90011

RMS 에서 생성된 rib을 prman.exe로 직접 rendering 하던 중 문제 발생. 정확한 massage는 아래와 같다.

R90011 {SERVERE} Can't open display Image renderman/test/images/test.iff (System Error: No such file or directory)

maya에서 internal renderer는 문제없이 rendering 된다. renderman forum을 뒤져보니 Render Global Settings에서 Full paths를 check on 하란다.


이제야 정상적으로 rendering 된다.

rib을 보니 기본 상대 경로가 절대경로로 바뀌어 들어간다.

ReadArchive "renderman/test/rib/001/xxx.rib"

To

ReadArchive "/home/test/renderman/test/rib/001/xxx.rib"

p.s.
Genarate Rib files per every frames
rman genrib

Thursday, September 24, 2009

Reusing Shadow Map

scene내에 light는 여러개인데 light shader는 1개일때가 있다. 만약 shadow map이 생성된다면 attached 된 light만큼 shadow map이 생성되는데 문제는 reuse 할 때 file name을 지정 할 수 없다는 것이다.

1. 먼저 light shape node에 string type의 new attr을 추가한다.(여기에서는 'dsh')
2. 추가된 attr에 현재 light shape의 name을 넣는다.(ex, 'keyLightShape.dsh')
3. slim에서 shadow map에서 frequency 속성은 never, file 속성은 아래의 tcl code를 입력한다.
scenes/renderman/rmantex/shd/hair_v2_w1.[mel "getAttr $OBJNAME.dsh"].$F4.tex

p.s.
hair_v2_w1은 display name인데 이것도 $OBJNAME처럼 예약어가 있을듯 한데 아직 못 찾았음. path도...

Wednesday, September 23, 2009

Rendering Maya Hair

Maya hair를 custom hair shader로 rendering하기 위해서는

1. custom hair shader를 slim의 ensemble shader에 연결한다.
2. ensemble shader의 casts shadows는 Shade로 변경(Shade가 아닐경우 shadow가 걸리지 않음)
3. ensemble shader를 pfxHairShape node에 연결(slim에서 pick objects로 연결되어 있는지 꼭 확인)

no Shadow

with Shadow

Sunday, September 20, 2009

춤추는 문자들

으후루꾸꾸루후으으후루꾸꾸루후으으후루꾸꾸루후으으후루꾸꾸루후으으후루꾸꾸루후

재밌네. ㅎㅎ

Monday, September 14, 2009

문명의 붕괴


퓰리처상 수상 작가 재레드 다이아몬드가 문명 붕괴 과정을 통해 본 지구 문명의 미래!

환경훼손, 무분별한 개발, 약탈, 전쟁은 우리의 지구뿐만 아니라 인간의 생존 자체를 끊임없이 위협하고 있다. 저자는 과거의 위대한 문명의 붕괴 과정과 현대 사회의 위기를 분석하면서 현대 문명이 몰락할 것인지, 위기를 극복하고 살아남을 것인지 질문을 던진다.

마야 문명, 남태평양의 이스터 섬, 아시아의 앙코르와트 등처럼 단순한 쇠락이 아니라 완전히 몰락해버린 사회들을 주로 비교 분석하면서 환경 파괴, 기후 변화, 이웃 나라와의 적대적 관계, 우방의 협력 감소, 사회 문제에 대한 그 구성원의 위기 대처 능력 저하를 문명 붕괴의 원인으로 지적한다.

과거 문명의 붕괴과정 뿐만 아니라 가혹한 환경문제를 극복한 아이슬란드와 뉴기니의 고원지대, 산림 파괴로 인한 위기를 극복한 일본의 성공사례를 통해서 독자들에게 희망을 주는 것을 잊지 않으며, 인간이 자멸을 피하고 공존할 수 있는 방법을 제시한다.

http://www.yes24.com/24/goods/1806300

Thursday, September 10, 2009

Camera I/O script 사용시 문제점

http://daehwanj.blogspot.com/2011/02/exporting-3ds-max-camera-to-maya.html 과 관련된 내용.

Camera I/O는 3dsmax에서 maya로 export camera 할 때 요긴하게 쓰이는 script이다.
대체적으로 잘 작동하지만 가끔 maya에서 import가 제대로 되지 않을때가 있다.(exporting는 정상이라는 얘기)
export된 camera 값은 아래와 같은 ascii이다.

cio sc20_Cam_(172-219) 24 1280 720 1.77778 1.0 0.792126 0.445571 0.01 y MX
172 -1286.4 -680.051 -3179.01 -1214.4 -669.759 -3110.38 -1294.04 -580.582 -3185.91 20.7297 51.774 30.5369
173 -1290.07 -683.29 -3183.78 -1220.67 -672.704 -3112.58 -1297.72 -583.852 -3191.12 20.7297 51.774 30.5369

대충 보면 첫째줄은 camera의 기본적인 속성값이다. camera name, resolusion, raio, aperture
두번째줄부터 key 값이 들어간다. 첫번째 칼럼은 frame이고 이후 9개의 float number는 transform값
마지막 3개의 float number는 keying된 lens 정보.

20.7297 == Focal Length
51.774 == AOV
30.5369 == ??

값이 제대로 안들어가는 부분은 aperture 값! max와 비교할때 camera가 이상하다 싶으면 항상 aperture 값이 안들어가있다. 위의 data값이라면

0.792126 == Horizontal Film Aperture
0.445571 == Vertical Film Aperture

이 값을 입력해주면 된다.

만약 exporting된 camera가 animating된 Focal Length을 가지고 있는데 key가 안 들어가 있다면 원래 data 값으로 매 frame 연결해줘야 한다.

Explosion for Fluid Simulation



제일 자신 없는 Fluid Simulation.
이번 프로젝트가 사막 전투씬이라 폭파 장면이 많다. asset용으로 만든 폭파

Particle Instancer를 이용한 Flying Bullets



날아가는 총알 작업이 많아서 library(asset?)으로 만들어서 필요할 때마다 import중이다.
위쪽 동영상에서 plane이 emitter, box는 임의적인 방향성을 주기위한 dummy.
emitter는 box에 aim contrain 되어 있다. random한 position은 expression으로 해결.
뭐.. 나름 만족하네.

Monday, September 7, 2009

Node Name 변경으로 인한 Warning

particle 작업 할때 grouping을 위해 emitter node나 particle node의 name을 변경하는 경우가 많다. 이럴 경우에 다음과 같은 warning, error이 발생할 수 있다.

// Warning: No items found in: OptionMenu //
// Error: No object matches name: emitter1.emitterType //
// Error: No object matches name: emitter1.cycleEmission //
// Error: No object matches name: emitter1.emitterType //
// Error: No object matches name: emitter1.inheritOpacity //
// Error: No object matches name: particleShape1.lifespanMode //
// Error: No object matches name: particleShape1.particleRenderType ///

warning이나 error만 발생 할 뿐 지금까지는 작업 하는데 전혀 문제가 되지 않았다.

그래도 신경 쓰인다면 attributes editor window에서 emitter node나 particleShape node의 해당 값을 한번씩 toggle해주면 문제 해결.

Velocity 방향으로 Instancer Object 고정시키기

자꾸 실수하는 내용.

particle에 instancer object를 연결 했을때 particle의 진행 방향으로 object를 rotation하기 위해서는
1. instancer object의 정면은 X축으로 설정하고 freeze transform
2. instrancer option은 아래와 같이 설정한다.
주로 화살등에 응용 할 수 있겠다.

Fluid Disk Cache의 저장

fluid의 disk cache는 2가지 선택이 있다. 하나는 one file, 다른 하나는 one file per frame
one file이면 하나의 file에 저장되며, one file per frame은 frame당 cache가 저장된다.

per frame은 현재 project/data 에 바로 저장되는 반면 one file은 tempotory directory에 저장 되어 있다가 save scene을 해야지만 project/data에 copy된다. save scene을 하기 전에는 fluidDiskCache node의 file attr에도 cache 위치가 명시되지 않는다.(하지만 내부적으로는 temp directory의 .mcfp로 연결되어 있다.)

Flash Player for 64 bit Linux

그동한 32bit flash player를 nswrapper로 사용해왔는데 이미 작년에 64bit용 flash player가 공개 되었더라.
공개된 url이 adobe.com인데 정식으로 공개 된 것인지는 모르겠음

아래 경로에서 다운받아 /usr/lib/mozilla/plugins 에 복사 후 firefox를 재시작

http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.d20.7.linux-x86_64.so.tar.gz

관련 기사
http://blogs.adobe.com/penguin.swf/2008/11/now_supporting_16_exabytes.html

Linux에서 Maya 실행시 libirc.so error

Linux에서 아무런 이상없이 실행되던 Maya가 갑작스레 아래와 같은 error를 내뱉으며 실행되지 않았다.

$ ./maya.bin
./maya.bin: error while loading shared libraries: libirc.so: cannot open shared object file: No such file or directory

이것이 뭔 error인가해서 구글링 해봤더니 잘못된 파일로 실행해서 그런것이다...라는 허무한 답변...
maya.bin이 아니라 ./Maya2008(2008버전이라면 이게 맞을것이고 8.5라면 ./Maya8.5)을 실행해야 한단다...쩝

$ ./Maya2008 (if maya 2008)
$ ./Maya8.5 (if maya 8.5)

또는 아래와 같은 error가 발생한다면

$ ./Maya2008
/usr/autodesk/maya2008-x64/bin/maya.bin: error while loading shared libraries: /usr/autodesk/maya2008-x64/lib/libirc.so: cannot restore segment prot after reloc: Permission denied

System -> Administrator -> Security Level and Firewall -> SELinux에서 Enforcing을 Permissive로 바꿔준다.

Sunday, September 6, 2009

Repository

1. CentOS Repository
http://centos.karan.org/

2. DAG RPM Repository
http://dag.wieers.com/rpm/FAQ.php#B
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge(위의 link와 같은 내용)

Wednesday, September 2, 2009

Shadow Bias

hair 작업하는데 왠지 shadow가 들어가긴 한 것 같은데 제대로 안들어간 기분이 들었다. 다른 각도에서 보니 역시나 -_-


간단히 light shadows의 bias 값을 1로 변경해서 해결


근데 얼굴이 그림자때문에 더 어두워졌다. 옳은 방법이 아닌 듯...

Windows System과 Linux System간의 Path 문제

일단 아래의 code를 보자.

>>> import os
>>> os.path.join('/show', 'foo')
/show/foo

위 code는 unix system에서 실행 했을때의 출력 값이다.

다음은 windows system에서의 출력값이다.

>>> import os
>>> os.path.join('/show', 'foo')
/show\foo

unix system에서와 다르게 출력되는 걸 알수 있다. 이로인해 prman.exe에서는 error를 출력하곤 rendering을 하지 않는다.

회사 내부에서 windows와 linux를 함께 사용하여 RenderMan으로 작업 시 문제가 발생할 수 있을것이다. 이 문제의 해결 방법에 대해 딱히 찾아보진 않았지만 다음과 같이 수정하면 해결 가능한것 같다.

>>> os.path.join('/show/', 'foo')
/show/foo

joint 하려는 path가 /로 끝나도록 하면 된다. 이건 unix던지, windows던지 상관없이 작동하며 동일한 결과를 보인다.

Monday, August 31, 2009

Texturing Shave Attributes with Maya

Shave and a Haircut에서 Cut map이나 Density map을 이용하여 mask 영역만 hair를 없애거나 length를 조절할 수 있다.

방법은 간단히 texture를 Cut map, Density map, Root color, Tip color등과 같이 texture node를 연결해 줄수 있는 모든 attribute에 적용이 가능하다.

map을 적용한 후에는 Shave menu > Update texture를 해줘야 적용된다.

Friday, August 28, 2009

A error of built-in mtorHairProcedural.dll

RMS 설치시 기본으로 포함된 mtorHairProcedural.dll은 maya hair를 mtor에서 rendering시 DSO error가 발생한다.
구글링 해보니 recompile을 해야 한단다. 그러러면 뭐하러 포함시켜 놓은거지(linux에서는 그냥 됐던거 같은데)

Maya 8.5용 DLL
https://sites.google.com/site/daehwanj/files/mtorHairProcedural.dll?attredirects=0&d=1

dll의 위치는
$RMSTREE/lib/plugins

source의 위치는
$RMSTREE/devkit/examples/ribgen

R20042 Slim error

shader compile시 다음과 같은 error가 발생한다면

ERROR: R20042 {WARNING} uniform strings are no longer supported parameters for visibility attributes: shader
ERROR: R20042 {WARNING} uniform strings are no longer supported parameters for visibility attributes: transparent

$RMSTREE/rmantree/etc/rendermn.ini에 아래의 line을 추가해준다.

/prman/stringtransmission 1

Tuesday, August 18, 2009

공부 할 것들

진로는 여전히 공부하고 있는데 공부해야 할 것은 어느 정도 윤곽이 잡힌 것 같다.

(우선순위순)
- Maya
- RenderMan(RIB, RSL등 모든 파트)
- Python(+ pyQt)
- Nuke
- Matchmoving
- Houdini

Friday, August 14, 2009

background color 지정

보통 rendering시 배경은 black으로 되지만 아래의 구문으로 특정 color로 지정이 가능하다.

Imager "backgound" "color" [1 1 1]

Tuesday, August 11, 2009

Rendering Shave and a Haircut

자꾸 잊어 버리는 shave and a haircut 렌더링 하기.

1. shaveGlobals node
- Global RIB Text: 아무것도 넣지 않음(또한, 아래의 check box는 아무것도 선택 하지 않아야 함)
export 된 hair rib file에는 어떠한 rootcolor나 tipcolor attr이 들어가 있어서는 안됨

Declare "rootcolor" "uniform color"
Declare "tipcolor" "uniform color
"

하지만 Cs을 위하여 vertex color를 뽑을 수는 있다. shaveWriteRib -vtc "filename.rib"

- for MTOR MotionBlur
Export time as : Seconds
Inherit Settings : Off
Shutter times as : Absolute
OffSet : 0,1
restore frame : on
(posted by editmasin)

2. shaveWriteRib command
shaveWriteRib "c:/hair.rib";
아무 옵션도 넣지 않고 파일 명만 명시해준다.

Friday, August 7, 2009

Maya Script Path

사용자가 기본 script path 이외에 별도의 path에 script를 저장했을 때 maya 시작 시 자동으로 불러들일 수 있도록 path를 추가지정

1. 시스템 환경 설정은 MAYA_SCRIPT_PATH로 환경 변수를 추가하고 script가 있는 path를 지정
2. maya 환경 설정 파일로 수정하고자 할 때는 maya.env에 MAYA_SCRIPT_PATH와 path를 추가

단, 위의 환경 변수는 mel에만 해당하며, python은 시스템 환경 변수에
PYTHONPATH = %MAYA_SCRIPT_PATH% maya.env
PYTHONPATH = $MAYA_SCRIPT_PATH
를 추가해주면 된다.

Thursday, August 6, 2009

Baking a point cloud with area data

point cloud를 만들기 위한 전제 조건.
1. ptc로 만들어져야할 object는 camera view에 (일부가 아닌) 전체가 들어와야함
2. rendering시 cull hidden, cull backfacing등이 이루어지지 않아야함. 이 option은 아래의 구문을 rib에 추가하면 됨.(만약 culling 될 경우 camera view에서만 ptc가 생성된다.)

Attribute "cull" "hidden" 0 # don't cull hidden surfaces
Attribute "cull" "backfacing" 0 # don't cull backfacing surfaces
Attribute "dice" "rasterorient" 0 # view-independent dicing

Tuesday, August 4, 2009

LucalFilm Animation의 작업 경로 구조


/show/cw/dev/art/ppresley/MedicalFrigade/model/RMF_scaleComponents_01b.ma

아마 cw 이하에 dev와 pub로 나눠지지 않았을까? dev 이하의 경로는 department로 구분을 하고 다시 artist로 나눠지되 그 아래의 구조는 자기 편한대로 맘대로 쓰지 않을까 싶다.

요즘 pipeline에 관심을 두고 있어서 해외 스튜디오는 작업 경로가 어떻게 되어 있나 보고 있음.

ptviewer 실행시 glut32.dll 에러

ptviewer 실행시 "올바르지 않은 32비트..."라며 실행되지 않는 경우는 opengl 실행을 위한 library가 없기 때문에 발생한다. 간단히 glut32.dll을 설치해주면 끝

1. 아래의 주소에서 파일을 받아
2. glut32.dll을 $WINDIR$\system(not system32)에 복사

Sunday, July 12, 2009

Particle Oversamping

maya particle로 vapor trail 작업 하던 중 곡선이 표현되어야 하는데 각이 지는 문제가 발생!


animation이  매 1 frame 마다 key가 잡혀 있을 때 이런 문제가 발생 한 듯 하다. motionTrail node로 by 0.1 frame으로 확인하니 그나마 보간되어 부드러운 곡선으로 보이긴 하더라.

그런데! playback을 by 0.1 frame 으로 하다보니 particle이 정수 frame에서만 emit 되는 것이다.


다시 playback을 1.0으로 바꾸면


이렇게 각이 져 particle이 emit 된다.

처음에는 maya particle system 자체가 정수 단위로만 emit 되는 줄 알았다. 근데 분명 emit에서는 per sec로 rate가 조절되는게 좀 의아하긴 했다. 그러다가 발견한 dynGlobal node.


보통 cache 연결 할때만 보던거라 생각도 못했었는데 oversampling이라는 옵션이 있더라. 혹시나하고 10으로 설정하고 재생했더니 문제 해결 OTL


너무 어이 없었음... 아직 모르는 node가 너무 많아....쩝 어쨌거나 문제 해결 ;ㅅ;

p.s.
우측 상단에 각 진 부분은 translate와 rotation 값이 1 frame 마다 key 잡힌 상태가 꺽인 부분이 있길래 수정하였음.

Thursday, July 9, 2009

Sunday, July 5, 2009

Vapor Trails Test



비행기 날개에 생기는 trail을 위한 연습

Exporting 3ds Max camera to Maya

max에 익숙하지 않은 관계로 당분간 작업은 maya에서 할 생각으로 fbx로 데이터 공유 테스트를 하던 중 camera가 다르게 export 되는 것을 발견. fbx 버전, max 버전을 바꿔봤지만 결과는 마찬가지...

구글링 해보니 camera export script가 있길래 테스트 해봤더니
오오옷!! 제대로 넘어온다. +_+
script에 수식이 포함된걸로 봐선 data가 그대로 export가 되는건 아닌가보다. 나중에 시간날때 잘근잘근 씹어봐야할듯.

max, maya, lw에서 import, export를 지원.
http://www.scriptspot.com/3ds-max/camera-io

Python API on Windows 64 bit

RPS 14.0 이상부터 python API를 제공한다.

python 2.5를 설치하고 환경변수에 다음을 추가한다.
PYTHONPATH = %PYTHONPATH%;%RMANTREE%/bin(unix의 경우 % 대신 $)

python 실행 후
import prman

* 64bit os의 경우 import 과정에서 ctypes error가 발생 할 수 있다. 이경우 64bit python을 설치하고 아래의 파일을 다운받아 설치한다.
http://sourceforge.net/projects/ctypes/files/ctypes-win64/ctypes-1.0.2.win32-py2.5-AMD64.msi

Saturday, July 4, 2009

a error in Korean Windows

영어가 아닌 한국어OS에서 render시 ascii code로 인한 문제가 발생할 수 있는듯 하다.
굳이 한국어OS가 아니더라도 2 bytes character 언어권 OS라면 같은 문제가 발생 할 듯...

renderer는 아래와 같은 error를 뱉어내며 rendering 하지 않는다.

P79001 {ERROR} Lexical syntax error on token " dspyRender -ren" (at line 40 in renderman\untitled\rib\0001\perspShape_Final.0001.rib).
P01001 {ERROR} Unregistered request: "\377\377\377" (at line 40 in renderman\untitled\rib\0001\perspShape_Final.0001.rib)
P01001 {ERROR} Unregistered request: ":01:43" (at line 40 in renderman\untitled\rib\0001\perspShape_Final.0001.rib)
P01001 {ERROR} Unregistered request: "\377\377\377\377\377\377\377\377\377\377\377\377" (at line 40 in renderman\untitled\rib\0001\perspShape_Final.0001.rib)
P01001 {ERROR} Unregistered request: "\377\377\377\377\377\377\377\377\377" (at line 40 in renderman\untitled\rib\0001\perspShape_Final.0001.rib)
P01001 {ERROR} Unregistered request: ")\" (at line 40 in renderman\untitled\rib\0001\perspShape_Final.0001.rib)

%RMSTREE%/etc/RenderMan_for_Maya_Pro.ini에서 아래 부분은 수정해준다.

SetPref ItNotesScript { rmanItNotesScript }

To

SetPref ItNotesScript {}

* rmanItNotesScript.mel은 %RMSTREE%/scripts에서 있음.
rmanItNotesScript의 역할은 rib 파일의 Display 구문에 rendering이 시작되는 시점의 time(rmanGetTime command)을 추가 한다. 예를들어 render time이 포함되지 않은 Display 구문의 경우

Display "renderman/untitled/images/untitled.001.tif" "it" "rgba" "string filter" ["separable-catmull-rom"] "float[2] filterwidth" [2 2] "int[4] quantize" [0 255 0 255] "float dither" [0.5] "float[2] exposure" [1 1] "int merge" [0] "string dspyParams" [""] "string connectionType" ["internal"]

로 나타나지만 render time이 포함된다면

Display "renderman/untitled/images/untitled.001.tif" "it" "rgba" "string filter" ["separable-catmull-rom"] "float[2] filterwidth" [2 2] "int[4] quantize" [0 255 0 255] "float dither" [0.5] "float[2] exposure" [1 1] "int merge" [0] "string dspyParams" [" dspyRender -renderer preview -time 1 -crop 0 1 0 1 -port 49995 -context \"renderman/untitled/images/untitled.001.tif\" -notes \"(Sat Jul 04 \377\377\377\377 9:21:25 \377\377\377\377\377\377\377\377\377\377\377\377 \377\377\377\377\377\377\377\377\377 2009)\""] "string connectionType" ["internal"]

이렇게 된다. 이런 상태에서 renderer는 Lexical syntax error를 뱉어내며 rendering하지 못한다.

- MTOR에서는 아무 문제 없음 -

a problem of internal render's license

embedded renderer에 대한 license가 없는 상태에서 maya에서 render하면 아래와 같은 license error이 발생한다.
// rfm Error: Couldn't check out internal rendering license for 1 threads.

해결 방법은
1. license를 구입;;;

2. RPS가 설치되어 있는 경우 prman.exe을 external renderer로 사용하는 것이다. 다음은 설정 방법
- MAYA > Render > Render Current Frame (option) > Preview Style를 External Render to it로 설정
- external render로 설정하면 RMS는 netrender.exe를 사용하게 되는데 이것을 local prman으로 변경
%RMSTREE%/etc/RenderMan_for_Maya_Pro.ini에서 다음의 부분을 수정한다.

SetPref PreviewRenderCmd {netrender -Progress -f %H}
SetPref PreviewRenderSvc pixarNrm

To

SetPref PreviewRenderCmd {prman -t:0 -Progress}
SetPref PreviewRenderSvc local:pixarRender

Monday, June 22, 2009

Pixar's Short Film: Partly Cloudy


Pixar의 새로운 Short Film인 Partly Clody
사실 나온지는 오래 되었는데 보통 그 해 개봉하는 신작 상영 전에 틀어주는게 보통이라 안보고 있었는데 그냥 보고 싶어서 구글링 했더니 저화질로는 있더라. 자세한 내용은 생략하고...

Pixar의 short film 제작 이유는
- 새로운 기술의 테스트
- 신인 감독의 발굴(또는 장편 감독을 맡기기전의 기회)
- 파이프라인의 테스트
라고 알려져있다.

처음 short film이 나왔을때는 새로운 기술의 테스트가 먼저였다고 하던데 요즘은 신인 감독 발굴이 우선인것 같은데 이번 short film의 감독은 한국계 animator인 피터 손 Peter Sohn라 한다. 재밌는건 올해 개봉하는 UP의 주인공인 러셀 Rusell의 모델이라는 것이다.


완전 똑같네;;;


다음은 Partly Cloudy의 Still cut and Concept art





Sunday, June 21, 2009

The advantages / disavantages of Point based approach

The advantages is:

- No noise.
- Faster computation times. (No ray tracing.)
- The geometric primitives do not need to be visible for ray tracing; this can significantly reduce the memory consumed during rendering.
- Color bleeding is nearly as fast as occlusion. (No evaluation of shaders at ray hit points.)
- Computing (HDRI) environment map illumination is just as fast as only computing occlusion.
- Displacement mapped surfaces take no more time than non-displaced surfaces.
- It runs on standard CPUs -- no special hardware required.


The disadvantages are:

- The area (and optionally color) point cloud has to be generated in a pre-pass, making this a two-pass approach.
- During rendering, the entire point cloud has to be read in and kept in memory until the frame is completed.
- The fundamental algorithm tends to compute too much occlusion and color bleeding. This is because occlusion (and colors) are simply added up, even though some geometry really should block other geometry. (The "clamp" parameter eliminates most of the over-occlusion and over-bleeding. Nevertheless, experimenting with various parameter settings might be necessary to get the desired look.)