有关默认相机转VR相机
2024-08-24 12:41:35
呃...15年开篇~
去年想写一个有关默认相机转VR相机的脚本,当时没写完,今天不小心翻到并写完了,而且思路也和原来完全不一样了,增加了是否删除原相机与是否转换所选相机的选项.
由于国内VR版本比较混乱,中间加了个中英文版本的适配.
fn cam_to_vrcam sel:#off del:#on =
(
local sel_cam = #()
local del_cam = #()
case sel of
(
#off : cams = cameras
#on : cams = sel_cam + selection
)
case of
(
(VRayPhysicalCamera != undefined) : YY_vrcam = VRayPhysicalCamera isSelected:on
(VR物理摄影机 != undefined) : YY_vrcam = VR物理摄影机 isSelected:on
(VR_物理摄影机 != undefined) : YY_vrcam = VR_物理摄影机 isSelected:on
-- default:
)
for c= to cams.count do
(
if (classof cams[c] == Freecamera) or (classof cams[c] == Targetcamera) do
(
YY_new_cam = copy YY_vrcam
try cams[c].type = #free catch()
YY_new_cam.rotation = cams[c].rotation
YY_new_cam.pos = cams[c].pos
append del_cam cams[c]
)
)
delete YY_vrcam
case del of
(
#on : for d in del_cam do delete d
#off : ()
)
)--将默认相机转化为VR物理相机
cam_to_vrcam sel:#on del:#on
找到更简单的方法再继续修改~
----------------------------------------------------------------------------
在测试中发现一些问题:try cams[c].type = #free catch()
当将目标相机转换为自由相机时,目标点就不存在了,原来 selection 的物体会发生变化.
后来发现更简单的方法 baseobject 可以获得节点的原始对象的类别.而不像 classOf() 函数返回的是对象类的最终状态(堆栈的顶部).
fn cam_to_vrcam sel:#off =
(
case sel of
(
#off : cams = cameras
#on : cams = selection
)
case of
(
(VRayPhysicalCamera != undefined) : YY_vrcam = VRayPhysicalCamera()
(VR物理摄影机 != undefined) : YY_vrcam = VR物理摄影机()
(VR_物理摄影机 != undefined) : YY_vrcam = VR_物理摄影机()
default : messagebox "V-Ray版本不支持!"
)
for c= to cams.count do
(
if (classof cams[c] == Freecamera) or (classof cams[c] == Targetcamera) do
(
try cams[c].baseobject = YY_vrcam catch()
)
)
delete YY_vrcam
)--将默认相机转化为VR物理相机
cam_to_vrcam sel:#on
不过这个方法转换的相机都是关联的,以后在修改.
2015-01-30 今天找到了解除物体关联的方法了:连接地址
最新文章
- TNS-12518 &; Linux Error:32:Broken pipe
- IE8的兼容性问题
- Android 高仿微信支付密码输入控件
- NOI2018准备Day3
- VC中GBK与UTF8转化
- TFS2013 安装出现TF400102错误解决
- Demo02_对结构体进行文件读写_张仕传_作业_
- c++ 依据输入动态声明数组(一维,二维)
- 程序启动读取和关闭时保存应用程序设置(QSettings)
- SQL_substr功能测试
- InnoDB的约束机制
- scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250
- C++面试笔记(1)
- vscode ";没有活动的源代码控制提供程序"; 解决办法
- Android打开相机进行人脸识别,使用虹软人脸识别引擎
- rbac 权限分配, 基于formset实现,批量编辑
- 精巧好用的DelayQueue
- 利用python统计代码行
- DNS记录类型名单
- linq to sql 怎么查询前 11 条数据
热门文章
- 开发板远程操作SQL SERVER解决方案
- 'java'不是内部或外部命令,另一个解决办法
- WebDriver 常见Exception处理
- SQL查询语句执行速度快,存储过程执行慢
- webdynpro
- C++关于Condition Variable
- PAT题库-1064. Complete Binary Search Tree (30)
- Tomcat8 localhost+端口可以访问Manager APP,而IP+端口不可以访问 解决办法
- js去空格
- [驱动开发] windbg符号表