Drake's Weblog

1 minute read

如果因為一些原因,你需要自行在 RIB 裏頭產生一段 camera 相關的參數來(像是使用 prman 的 multi-camera 這個 13.5 才有的新功能),那這篇文章就是在提示你,怎麼搞懂 RIB 裏頭,camera 會用到的 transformation, perspective 參數乃至於 screenwindow。

Transformation

取出 camera 的 worldInverseMatrix 這個屬性出來(用 mel 或 python 都可),它是一個 matrix。然後因為 RenderMan 是使用左手座標系統,而 Maya 是使用右手座標系統,所以你還得把這個 matrix 的第三行(直行橫列)的值變為相反數,亦即把第三行的值(m[2] m[6] m[10] and m[14])乘上 -1。

Perspective

RenderMan’s “perspective” camera FOV = rad_to_deg(2*atan((xres/yres)*12.7/cam.focalLength))

ScreenWindow

這部分,可以參考我的好同事 Mao 所寫的一篇 blog

感謝 Dan Maas 的解說 :)

comments powered by Disqus

Recent posts

Categories

About

You're looking at Drake's words or statements. All opinions are my own.