unity 摄像机导入 3dmax 带fov
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相关推荐
- Unity模型导入相关知识
文章目录 常见的模型格式 模型导入参数设置 Model页签 Scene设置 Meshes设置 Geometry设置 Rig页签 Animation Type:动画类型 Avatar化身信息设置 Ani ...
- SolidWorks绘图及Unity模型导入
SolidWorks绘图及Unity模型导入 一.零件(只讲重要的几步) 1.新建工程 2.裁剪 3.转换实体引用 二.装配体(关键是零件替换.连接重组) 1.细节隐藏 2.零件替换 3.建筑模型导入 ...
- stl文件用proe怎么打开_3dmax怎么导入stl文件?如何将proe的文件导入3dmax进行渲染?...
我们都知道3dmax是无法直接打开stp文件的,因为proe自带的渲染器渲染效果比较差.所以很多人想将proe文件导入3dmax来渲染,那么怎么导入proe文件到3dmax呢?接下来就来揭晓答案. 1 ...
- unity场景导入与简单场景搭建
unity场景导入与简单场景构建 unity场景导入 unity简单的场景构建 一.创建一个新的Scene场景 二.创建设置地形 三.为场景添加光照 四.设置鼠标指针图片 五.添加水面和天空盒子 un ...
- Unity 2018导入SketchUp模型
Unity2018版本直接支持读取SketchUp的模型,以下取自官网 SketchUp设置 SketchUp是常用于建模的软件.Unity2018直接读取SketchUp文件并支持以下SketchU ...
- Unity摄像机对象锁定旋转运镜模拟
问题简述 在3D模式下如何模拟实现Unity摄像机对象锁定旋转运镜,可以分为两个部分,第一是实现对象锁定,第二是实现旋转运镜.对象锁定就是无论摄像机如何运动,始终保持对象位于摄像机成像区域的固定位置, ...
- CAD图形导入3dmax方法及注意要点
CAD图形导入3dmax方法及注意要点 1.用CAD打开图纸,打开时字体选择GB开头的.代理信息选择显示代理图形. 2.将视图放大到想要导出的平面图或立面图,隐藏或删除不需要的辅助线.标注线.填充图案 ...
- Unity摄像机拍照并显示在小窗口里(RenderTexture和RawImage将摄像机图像渲染到GUI屏幕上小图显示)
Unity摄像机拍照并显示在小窗口里(RenderTexture和RawImage将摄像机图像渲染到GUI屏幕上小图显示) 1.实现效果和实现思想 1.实现效果和实现思想 实现效果: 本文使用飞机模型 ...
- Unity摄像机画面制作全景图片|截图制作全景图
Unity摄像机画面制作全景图片 目录 效果展示 Unity编辑器中使用脚本部分 Unity编辑器中使用方法 Unity动态存储图片脚本部分 Unity动态存储图片使用方法 目录 你好! 这是你第一次 ...
- Unity 模型导入材质丢失解决方案
Unity 模型导入材质丢失解决方案 1.模型导入材质丢失解决方案 步骤如下: 1.打开材质球 2.,反射率和法线贴图分别赋值,即下面的两个物体对号入座 3.渲染成功 2.3d人物模型材质丢失 步骤如 ...
最新文章
- 前端技术演进(三):前端安全
- 夏季机房空调预警,出现故障了怎么办?
- python字符串截取:截取yaml文件名后3个字符
- 完全卸载 RAC_clusterware的方法
- 使用 Dapr 缩短软件开发周期,提高生产效率
- Nginx服务架构初探(七):nginx邮件服务
- 虚拟机Centos系统下hadoop集群中静态IP配置
- 开源巨献:2017 年 Google 开源了这些超赞的项目
- 复习-arrary和arraylist的对比以及arraylist的遍历中删除的原理
- 单线、双线、三线以及BGP线路有什么区别?
- 编译Android系统源码和内核源码
- 单片机c语言延时30s程序,单片机C语言的延时程序
- Hadoop基础之《(6)—Hadoop单机伪集群安装》
- 中国56个民族拼音表
- slides.com 导出PDF
- spring容器里存取bean
- ADB命令行卸载或删除你的Android设备中的应用
- 基于FPGA的SNR噪声分析
- 前端开发:VS Code编辑器新建Vue文件自定义模板的方法
- 0824模拟赛解题报告