呃...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  今天找到了解除物体关联的方法了:连接地址

有关默认相机转VR相机的更多相关文章

  1. 旋转VR相机不头晕:一个反直觉的发现

    旋转VR相机不头晕:一个反直觉的发现 本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/deta ...

  2. 从谷歌到脸书:为何巨头纷纷“钟情于”VR相机?

    VR的火爆,自然无需多言.而基于VR这一个概念,已经在多个相关行业不断衍生出新的产品.服务或内容.VR眼镜.VR头盔.VR相机.VR游戏.VR影视.VR应用--但VR产业的发展并不是齐头并进,而是出现 ...

  3. 干货 | LIDAR、ToF相机、双目相机如何科学选择?

    点击"计算机视觉life"关注,置顶更快接收消息! 本文阅读时间约5分钟 本文翻译自卡内基梅隆大学 Chris asteroid 三维视觉技术的选择 传感器参数及定义 LIDAR ...

  4. Android调用系统相机、自定义相机、处理大图片

    Android调用系统相机和自定义相机实例 本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显示出来,该例子也会涉及到Android加载大图片时候的处理 ...

  5. unity, 相机空间 与 相机gameObject的局部空间

    在unity里 相机空间 与 相机gameObject的局部空间 不重合. Camera.worldToCameraMatrix的文档中有这样一句话: Note that camera space m ...

  6. Android相机使用(系统相机、自定义相机、大图片处理)

    本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显示出来,该例子也会涉及到Android加载大图片时候的处理(避免OOM),还有简要提一下有些人Surf ...

  7. Android调用系统相机以及自定义相机

    0.综述 自定义相机,此处展示简单的相机功能,官方文档中还有相应关于视频拍摄的内容,此处不提 1.添加权限 <!--相机权限,数据存储--> <uses-permission and ...

  8. Unity设置相机正交相机和透视相机的动态切换

    Camera.main.orthographic = true;    Camera.main.orthographicSize = 4;    Camera.main.orthographic = ...

  9. Arduino 计算机视觉系统概述

    计算机视觉系统概述 计算机视觉系统是最近比较热门的研究领域,今天开始给大家介绍下计算机视觉相关的知识. 视觉是人的所有感官中最敏感的一种,人的视觉可以感知环境,而机器的视觉却很难感知环境 为了解决计算 ...

随机推荐

  1. tomcat8的配置

    本文章只适合初入javaweb的新人. 点击tomcat8的bin目录下的startup.bat,启动tomcat.在浏览器中输入http://localhost:8080  打开项目管理页,点击Ma ...

  2. php 错误处理函数

    eval()   把子符串当做php 代码执行 // 回调函数function a($b, $c) { echo $b; echo $c; } call_user_func_array('a', ar ...

  3. ubuntu更新源(Package has no installation candidate 的问题)

    最近将公司的台式机安装了ubuntu16.04,安装之后,使用apt-get install openssh-server 发现出现:Package 'openssh-server' has no i ...

  4. table-responsive响应式表格,HTML表格自适应,bootstrap2表格自适应

    引用bootstrap3 的方法 @media (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; o ...

  5. C#利用摄像头拍照功能实现

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. xlwt写入中文操作不成功,提示UnicodeDecodeError: ascii codec can't decode byte ...

    打开xlwt包里的Workbook.py文件,修改Workbook类的__init__方法 将 def __init__(self, encoding='ascii', style_compressi ...

  7. Spring MVC学习笔记--认识SpringMVC

    Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框 ...

  8. maya的卡通渲染

    为了统一工作流,给maya也做了个卡通shader:

  9. CentOS下解压缩命令

    ——————————————— .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) —————— ...

  10. 【转】Unity3d + NGUI 的多分辨率适配

    原文地址:http://www.cnblogs.com/cqgreen/p/3348154.html   一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS ...