надо бы доработать скрипт :roll:

Установка плагинов и скриптов для 3ds max и работа с ними (кроме рендереров)

надо бы доработать скрипт :roll:

Сообщение constantin80 » Ср сен 02, 2009 11:48 am

в общем скрипт скачанный сюда
Код: выделить все
(
VRayPhysicalCamera()
select $VRayPhysicalCamera01
macros.run "Lights and Cameras" "Camera_CreateFromView"
viewport.setCamera $VRayPhysicalCamera01
$.targeted = on
--$Target01.name = "VRayPhysicalCamera01.Target"
)

как наверно все догадались скрипт позволяет создавать VRayPhysicalCamera в выделенном окне.
Но проблема заключается в том что если есть в сцене VRayPhysicalCamera01 то он работает не коректно потому как он создает именно VRayPhysicalCamera01.
Надо как бы улучшить его чтоб если в сцене VRayPhysicalCamera01 то он бы создавал VRayPhysicalCamera02, VRayPhysicalCamera03 и так далее.
кто может поправить скриптик, поправте так как очень он уж хороший, и удобный.
constantin80
Коллега
 
Сообщений: 179
Зарегистрирован: Вс мар 09, 2008 3:06 am

Re: надо бы доработать скрипт :roll:

Сообщение shurmen-bushmen » Сб сен 12, 2009 3:56 pm

я думаю проще будет поступить так: просто переименовывать камеру вручную, вот и все ))))) ;)
Аватар пользователя
shurmen-bushmen
Местный
 
Сообщений: 403
Зарегистрирован: Ср окт 25, 2006 2:08 pm
Откуда: Чернигов - Украина

Re: надо бы доработать скрипт :roll:

Сообщение constantin80 » Вс сен 13, 2009 1:21 pm

сам задаю вопросы - сам отвечаю :D
Код: выделить все
(   
local vcam =  VRayPhysicalCamera()
--vcam.name = uniquename "VRayPhysicalCamera"
select vcam
macros.run "Lights and Cameras" "Camera_CreateFromView"
viewport.setCamera vcam
vcam.targeted = on
)

вот так он нормально работает
или
Код: выделить все
macroScript Camera_CreateVRayPhysicalCameraFromView
ButtonText:"Create VRayPhysicalCamera From View"
category:"Lights and Cameras"
internalcategory:"Lights and Cameras"
Tooltip:"Create VRayPhysicalCamera From View"
Icon:#("Cameras",3)
(
fn calculateFOV film_width focal_length = (
return 2.0 * atan (film_width / (2.0 * focal_length))
)

fn calculateFocalLength film_width fov = (
return film_width / ( 2.0 * ( tan (fov / 2.0) ) )
)

on isEnabled do (
return ( viewport.getType() == #view_persp_user )
)

on execute do
(
local viewMat = viewport.getTM()
local worldMat = inverse viewMat

if viewport.getType() == #view_persp_user do (
if (superClassOf selection[1]) == camera then (
selection[1].transform = worldMat
viewport.setCamera selection[1]
)
else (
local viewFOV = getViewFOV()
local newCamera = VRayPhysicalCamera isSelected:true
newCamera.film_width = 0.036
newCamera.focal_length = calculateFocalLength newCamera.film_width viewFOV
newCamera.transform = worldMat
viewport.setCamera newCamera
)
)
)
)

работает только в окне перспективы
или создать врайкамеру в окне и клацнуть ctrl+C - я не знал что так можно :oops:
это кому интересно :roll:
constantin80
Коллега
 
Сообщений: 179
Зарегистрирован: Вс мар 09, 2008 3:06 am


Вернуться в Плагины и скрипты

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron