假设在3dmax中创建一个 长x宽x高=1cm x 1cm x 1cm 的单位立方体,则默认局部坐标系原点在底面中心,进入 “层次”面板->轴->调整轴,按下“仅影响轴”,再点“居中到对象”,可以将局部坐标系原点对齐到立方体中心,不过当我们将立方体导出为fbx,并通过fbx sdk从中提取出顶点数据查看会发现局部空间顶点坐标并不是关于(0,0,0)对称分布的,即局部坐标原点并不是在立方体中心,而是仍然跟未调整轴之前一样,局部坐标原点在立方体底面中心。经进一步实验证实,调整轴并不会影响物体顶点的局部空间坐标,所以无论怎么调整,立方体的局部空间原点都是位于底面中心。

那么如何得到一个局部空间原点在中心的单位立方体呢?

可以通过移动顶点实现,方法如下:

1,创建 1cm x 1cm x 1cm 的单位立方体(此时局部坐标系原点在底面中心),并将其世界坐标设为(0,0,0)(此时底面中心与世界原点对齐)。

2,将上面立方体转化成可编辑多边形,然后进入顶点层级,选中所有顶点向下移动0.5cm。

此时若再将立方体导出为fbx并从中提取顶点数据,就会发现其顶点的局部空间坐标是关于(0,0,0)对称分布的了,即局部空间原点真的是在立方体中心了。

应用场景:

有时候我们在3dmax里摆放一些box用于标记位置,以便导入到程序中在这些位置生成Boss。如果我们摆box的时候按box中心为目标位置,但实际box的局部空间原点却不在box中,那么我们在程序中用box mesh的position作为解析出的boss位置,实际上是不正确的。所以我们需要在3dmax中使用局部空间原点真正在其中心的box。

补充(2015-4-10):

为了查看物体的真正局部坐标原点位置,可以选中物体然后进入 “层次”面板->轴->调整轴,按下“重置轴”(这样就可以排除掉“调整轴”的影响了),并且将“参考坐标系”选“局部”,这时视图中显示的坐标系的原点即为物体当前的真正局部坐标原点。

3dmax 物体的真正局部空间原点的更多相关文章

  1. cocos2dx 3.3将坐标由父空间转化到局部空间

    设在node的父空间内有一点p,要求其转化到node局部空间后的坐标p_local,代码如下: node->getNodeToParentTransform();//in order node- ...

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

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

  3. WebGL编程指南理论分析之物体层次模型(局部运动)

    书中340页,开始讲到层次模型(关节模型),也就是整个物体,可以自由控制其各部位单独运动,就像关节一样,互不干扰或者有一定关联. 就像图中,左右键控制整个物体(arm1和arm2)的Y轴旋转,上下键控 ...

  4. 3DMax 物体选择方法

    全选: Ctrl + A, 取消选择:Ctrl +D 加选:ctrl+鼠标左键:减选:alt+鼠标 窗口与交叉:下面红框内的右边的按钮, 是切换两种模式: 选择模式一:只要选框碰到物体边缘, 就可选中 ...

  5. Direct3D11学习:(六)渲染管线

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 这篇文章主要讲解渲染管线(rendering pipeline)的理论知识. 渲染管线是指:在给定一个3D场景的 ...

  6. DirectX12 3D 游戏开发与实战第五章内容

    渲染流水线 学习目标: 了解用于在2D图像中表现出场景立体感和空间深度感等真实效果的关键因素 探索如何用Direct3D表示3D对象 学习如何建立虚拟摄像机 理解渲染流水线,根据给定的3D场景的几何描 ...

  7. cocos2d-x,求世界坐标

    老版: http://user.qzone.qq.com/350479720/blog/1384483239 一,求node的世界坐标.因为node的contentSize为0,局部坐标原点与node ...

  8. python27期day10:函数的动态参数、函数的注释、函数的名称空间、函数的嵌套、global(修改全局的)、nonlocal(修改局部的)、函数名的第一类对象及使用、作业题。

    1.动态参数的作用: 能够接收不固定长度参数 位置参数过多时可以使用动态参数 * args是程序员之间约定俗称(可以更换但是不建议更换) * args获取的是一个元组 ** kwargs获取的是一个字 ...

  9. DirectX 11---从空间变换来看3D场景如何转化到2D屏幕

    DirectX 11---从空间变换来看3D场景如何转化到2D屏幕 在看<Introduction to 3D Game Programming with DirectX 11>的时候,发 ...

随机推荐

  1. C# GDI+技术

    C# GDI+技术 GDI+概述         GDI+是GDI(即Windows早期版本号中附带的Graphics Device Interface)的后继者.它是一种构成Windows XP操作 ...

  2. Discuz常见小问题-无法登陆UCenter怎么办

    打开uc_server/model/admin.php找到第22行的$this->cookie_status = 0;改成$this->cookie_status = isset($_CO ...

  3. web.xml不同版本的头

    web.xml v2.3 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web- ...

  4. PHP 表单 - 5(完整表单实例)

    PHP 完整表单实例 本章节将介绍如何让用户在点击"提交(submit)"按钮提交数据前保证所有字段正确输入. PHP - 在表单中确保输入值 在用户点击提交按钮后,为确保字段值是 ...

  5. Performance Testing

    To test application performance, add rules using FiddlerScript to the OnBeforeResponse function (exc ...

  6. 用 Eclipse 插件提高代码质量

    如果能在构建代码前发现代码中潜在的问题会怎么样呢?很有趣的是,Eclipse 插件中就有这样的工具,比如 JDepend 和 CheckStyle,它们能帮您在软件问题暴露前发现这些问题.在 让开发自 ...

  7. 如何开启firebug显示注释?

    如何开启firebug注释显示?

  8. 除掉inline-block 间距

    1.现象: <!doctype html> <html lang="en"> <head> <meta charset="UTF ...

  9. 【Oracle】迁移含有BLOG类型的字段的表

    日常数据库迁移过程中,发现dmp文件中的表,如果表含有blog类型的字段,无法进行迁移. 以下是我迁移含有blog类型字段表的经验分享' 使用PLSQL Developer进行导出 接着选择需要导出的 ...

  10. 简单的 Helper 封装 -- CookieHelper

    using System; using System.Web; namespace ConsoleApplication5 { /// <summary> /// Cookie 助手 // ...