unity 摄像机导入 3dmax 带fov
先看效果图

编写unity 工具
1,先把导出的模型拉到摄像机节点下,需要在hierarchy选中摄像机为根节点,然后导出 ,
2,导出文件路径在工程Assets同目录下的ExportedObj文件夹里面,这里使用的导出obj插件
工具代码
主要用要保存摄像机位置,旋转,fov ,等一系列参数, 用与在3dmax 进行还原

        Transform[] selection = Selection.GetTransforms(SelectionMode.Editable | SelectionMode.ExcludePrefab);if (selection.Length == 0){EditorUtility.DisplayDialog("No source object selected!", "Please select one or more target objects", "");return;}Transform rootNode = selection[0];if (rootNode == null)return;Camera theCamera = rootNode.GetComponent<Camera>();if (theCamera == null){EditorUtility.DisplayDialog("Can't find MainCamera", "Can't find MainCamera", "");return;}GameObject mainCameraPosition = GameObject.CreatePrimitive(PrimitiveType.Sphere);mainCameraPosition.name = "mainCameraPosition";//保存摄像机位置mainCameraPosition.transform.position = rootNode.position;mainCameraPosition.transform.localScale = Vector3.zero;Vector3 point = rootNode.position + rootNode.forward * 50;GameObject mainCameraTarget = GameObject.CreatePrimitive(PrimitiveType.Sphere);//保存摄像机朝向mainCameraTarget.name = "mainCameraTarget";mainCameraTarget.transform.position = point;mainCameraPosition.transform.localScale = Vector3.zero;GameObject mainCameraFov = GameObject.CreatePrimitive(PrimitiveType.Sphere);mainCameraFov.name = "mainCameraFov";/ //保存摄像fovmainCameraFov.transform.position = new Vector3(theCamera.fieldOfView, 0, 0);mainCameraFov.transform.localScale = Vector3.zero;List<Component> list = new List<Component>();list.Add(mainCameraPosition.GetComponent(typeof(MeshFilter)));list.Add(mainCameraTarget.GetComponent(typeof(MeshFilter)));list.Add(mainCameraFov.GetComponent(typeof(MeshFilter)));//ExportWholeSelectionToSingle(list);这里调用obj 插件里面的接口GameObject.DestroyImmediate(mainCameraPosition);GameObject.DestroyImmediate(mainCameraTarget);GameObject.DestroyImmediate(mainCameraFov);

编写3dmax工具
1:在3dmax安装目录下 如:D:\Program Files\Autodesk\3ds Max 2014\scripts 建立UnityFov.mse脚本文件
主要用来在3dmax里面,还原unity 摄像机的视角

fovTemp = $mainCameraFov.pos.x
$mainCameraFov.pivot=$mainCameraFov.center
fov = abs($mainCameraFov.pos.x - fovTemp)*1.66
$mainCameraPosition.pivot=$mainCameraPosition.center
$mainCameraTarget.pivot=$mainCameraTarget.center
targetcamera fov:
fov pos:[$mainCameraPosition.pos.x,$mainCameraPosition.pos.y,$mainCameraPosition.pos.z] target:(targetobject pos:[$mainCameraTarget.pos.x,$mainCameraTarget.pos.y,$mainCameraTarget.pos.z])
max vpt camera

使用方法
1:3dmax导入unity 导出的obj 文件
2:3dmax菜单上选着maxscripts/runscript 双击UnityFov.mse文件 即可

注意, 3dmax 不需要自己添加摄像机, 运行工具会自动添加摄像机

unity 摄像机导入 3dmax 带fov相关推荐

  1. Unity模型导入相关知识

    文章目录 常见的模型格式 模型导入参数设置 Model页签 Scene设置 Meshes设置 Geometry设置 Rig页签 Animation Type:动画类型 Avatar化身信息设置 Ani ...

  2. SolidWorks绘图及Unity模型导入

    SolidWorks绘图及Unity模型导入 一.零件(只讲重要的几步) 1.新建工程 2.裁剪 3.转换实体引用 二.装配体(关键是零件替换.连接重组) 1.细节隐藏 2.零件替换 3.建筑模型导入 ...

  3. stl文件用proe怎么打开_3dmax怎么导入stl文件?如何将proe的文件导入3dmax进行渲染?...

    我们都知道3dmax是无法直接打开stp文件的,因为proe自带的渲染器渲染效果比较差.所以很多人想将proe文件导入3dmax来渲染,那么怎么导入proe文件到3dmax呢?接下来就来揭晓答案. 1 ...

  4. unity场景导入与简单场景搭建

    unity场景导入与简单场景构建 unity场景导入 unity简单的场景构建 一.创建一个新的Scene场景 二.创建设置地形 三.为场景添加光照 四.设置鼠标指针图片 五.添加水面和天空盒子 un ...

  5. Unity 2018导入SketchUp模型

    Unity2018版本直接支持读取SketchUp的模型,以下取自官网 SketchUp设置 SketchUp是常用于建模的软件.Unity2018直接读取SketchUp文件并支持以下SketchU ...

  6. Unity摄像机对象锁定旋转运镜模拟

    问题简述 在3D模式下如何模拟实现Unity摄像机对象锁定旋转运镜,可以分为两个部分,第一是实现对象锁定,第二是实现旋转运镜.对象锁定就是无论摄像机如何运动,始终保持对象位于摄像机成像区域的固定位置, ...

  7. CAD图形导入3dmax方法及注意要点

    CAD图形导入3dmax方法及注意要点 1.用CAD打开图纸,打开时字体选择GB开头的.代理信息选择显示代理图形. 2.将视图放大到想要导出的平面图或立面图,隐藏或删除不需要的辅助线.标注线.填充图案 ...

  8. Unity摄像机拍照并显示在小窗口里(RenderTexture和RawImage将摄像机图像渲染到GUI屏幕上小图显示)

    Unity摄像机拍照并显示在小窗口里(RenderTexture和RawImage将摄像机图像渲染到GUI屏幕上小图显示) 1.实现效果和实现思想 1.实现效果和实现思想 实现效果: 本文使用飞机模型 ...

  9. Unity摄像机画面制作全景图片|截图制作全景图

    Unity摄像机画面制作全景图片 目录 效果展示 Unity编辑器中使用脚本部分 Unity编辑器中使用方法 Unity动态存储图片脚本部分 Unity动态存储图片使用方法 目录 你好! 这是你第一次 ...

  10. Unity 模型导入材质丢失解决方案

    Unity 模型导入材质丢失解决方案 1.模型导入材质丢失解决方案 步骤如下: 1.打开材质球 2.,反射率和法线贴图分别赋值,即下面的两个物体对号入座 3.渲染成功 2.3d人物模型材质丢失 步骤如 ...

最新文章

  1. 前端技术演进(三):前端安全
  2. 夏季机房空调预警,出现故障了怎么办?
  3. python字符串截取:截取yaml文件名后3个字符
  4. 完全卸载 RAC_clusterware的方法
  5. 使用 Dapr 缩短软件开发周期,提高生产效率
  6. Nginx服务架构初探(七):nginx邮件服务
  7. 虚拟机Centos系统下hadoop集群中静态IP配置
  8. 开源巨献:2017 年 Google 开源了这些超赞的项目
  9. 复习-arrary和arraylist的对比以及arraylist的遍历中删除的原理
  10. 单线、双线、三线以及BGP线路有什么区别?
  11. 编译Android系统源码和内核源码
  12. 单片机c语言延时30s程序,单片机C语言的延时程序
  13. Hadoop基础之《(6)—Hadoop单机伪集群安装》
  14. 中国56个民族拼音表
  15. slides.com 导出PDF
  16. spring容器里存取bean
  17. ADB命令行卸载或删除你的Android设备中的应用
  18. 基于FPGA的SNR噪声分析
  19. 前端开发:VS Code编辑器新建Vue文件自定义模板的方法
  20. 0824模拟赛解题报告

热门文章

  1. 雷达原理-运动目标检测与测速
  2. 如何制作macOS Big Sur 系统启动U盘
  3. python的Bio下的Entrez使用
  4. 基于Python实现的基金交易系统
  5. android webview支持webgl,Android WebView支持WebGL
  6. myeclipse项目导入eclipse在Web项目下的WebRoot和WebContent
  7. Pr cc 2019 v13.0 添加字幕文本不显示,输入字符后无选中框解决方案
  8. mysql利用二进制日志binlog恢复误删除操作
  9. 《云计算技术与应用基础》课程标准
  10. 把特斯拉送上火星的程序员,马斯克!