3ds Max 帮助
- Autodesk 3ds Max 2017 中的新功能
- 入门
- 基础知识
- 界面概述
- 启动文件和默认值
- 初始化文件
- 故障恢复系统
- 备份和存档场景
- 查看和导航 3D 空间
- 选择对象
- 移动、旋转和缩放对象
- 创建副本、实例和参考
- 精度和绘制辅助对象
- 对象属性
- 可用工具列表
- 多点触控设备
- 管理场景、文件和项目
- 拖放 MAX 场景文件
- 网格检查器
- 工作空间
- 状态集
- 容器
- 组和集合
- 文件处理命令
- 文件处理工具
- 图像文件格式
- 场景资源管理器
- 场景状态
- 图解视图
- 场景转换器
- 建模
- 创建几何体
- 曲面建模
- 在子对象层级工作
- 细分曲面
- “软选择”卷展栏
- 塌陷工具
- 石墨建模工具
- 可编辑网格曲面
- 可编辑多边形曲面
- 面片对象
- NURBS 建模
- NURBS 模型:“对象和子对象”
- NURBS 曲面
- NURBS 曲线
- 创建 NURBS 曲线和曲面对象
- 创建和编辑 NURBS 子对象
- 附加和导入 3ds Max 对象
- 公用子对象控件
- 编辑点子对象
- 编辑曲线 CV 子对象
- 编辑曲面 CV 子对象
- 编辑曲线子对象
- 编辑曲面子对象
- “软选择”卷展栏 (NURBS)
- “材质属性”卷展栏 (NURBS)
- 创建曲线子对象
- 创建曲面子对象
- 创建和编辑点子对象
- “NURBS 编辑”对话框
- “转化曲线”对话框 (NURBS)
- “转化曲面上的曲线”对话框 (NURBS)
- “转化曲面”对话框 (NURBS)
- CV 曲线:闭合曲线对话框 (NURBS)
- “分离”对话框 (NURBS)
- “编辑曲面上的曲线”对话框
- “编辑纹理曲面”对话框 (NURBS)
- “连接曲线”对话框 (NURBS)
- “连接曲线”对话框 (NURBS)
- “创建放样”对话框 (NURBS)
- “创建点”对话框 (NURBS)
- “创建点曲线”对话框 (NURBS)
- 点曲线:闭合曲线对话框 (NURBS)
- “重建 CV 曲线”对话框 (NURBS)
- “重建 CV 曲面”对话框 (NURBS)
- “重建纹理曲面”对话框 (NURBS)
- “重新参数化”对话框 (NURBS)
- “子对象克隆选项”对话框 (NURBS)
- “按材质 ID 选择”对话框 (NURBS)
- NURBS 曲线和曲面近似
- 低多边形建模工具
- Autodesk Civil View
- 数据交换
- 导入文件
- 导出场景并将场景转换成几何体格式
- 将几何体发送到其他 Autodesk 产品,以及从其他 Autodesk 产品发送几何体
- 链接 AutoCAD、FBX 或 Revit 文件
- 几何体文件格式
- 实体对象
- Adobe Illustrator (AI) 文件
- Alembic (ABC) 文件
- Alias 和 Showcase(WIRE 和 APF)文件
- 导出到 ASCII
- CATIA V4(MODEL、DLV4、DLV3、DLV、EXP、SESSION、MDL)文件
- CATIA V5 (CATPRODUCT, CATPART) 文件
- AutoCAD (DWG) 文件
- AutoCAD 交换 (DXF) 文件
- 3D DWF 文件
- Autodesk Inventor (IPT、IAM) 文件
- Autodesk Revit (RVT) 文件
- Autodesk FBX 文件
- FBX 插件 UI
- 导出
- 导入
- 3ds Max FBX plug-in工作流程
- 为 3ds Max FBX plug-in编写脚本
- 故障诊断和限制
- 故障诊断
- 纹理出现了什么问题?
- 为什么 Mudbox 模型渲染错误?
- 为什么文件增大这么多?
- 为什么会出现几何体偏移?
- 对象为何发生了偏移?
- 为什么在模型上可以看到边?
- 为什么 Revit 灯光在导入时重定向?
- 为什么导入或导出 Revit 文件需要花如此长的时间?
- Revit 摄影机怎么不见了?
- 进行导入和导出后,Revit 摄影机为何发生了变化?
- Revit 体量对象怎么不见了?
- Revit 对象为什么会隐藏或消失?
- Revit 组怎么不见了?
- 何为 Revit 的内部单位系统?
- Revit 日光入口怎么不见了?
- 在 3ds Max 中,场景的缩放比例为什么发生了变化?
- 3ds Max 旋转的边出了什么问题?
- 几何体为什么有面?
- MotionBuilder 中的边为什么看上去不一样?
- 显示层属性怎么不见了?
- 动画层怎么不见了?
- LOD 属性怎么不见了?
- 法线怎么不见了?
- 固定关键点怎么不见了?
- 是否可以关闭显示层导出/导入
- 限制
- 转换支持
- 故障诊断
- 游戏导出器实用程序
- IGES 文件
- JT Open Program (JT) 文件
- LandXML (XML, DEM) 文件
- 运动分析文件 (HTR/HTR2, TRC)
- OpenFlight (FLT) 文件
- Pro/ENGINEER(PRT、ASM)文件
- SAT 文件
- 导出到 Shockwave 3D
- Google SketchUp (SKP) 文件
- SolidWorks(SLDPRT、SLDASM)文件
- STEP(STP、STEP)文件
- Stereolithography (STL) 文件
- 3D Studio 网格(3DS、PRJ)文件
- 导入 SHP 文件
- UG-NX (PRT) 文件
- VIZ 渲染(DRF)文件
- VRML 文件
- Wavefront (OBJ) 文件
- 链接至 Stingray 游戏引擎
- 修改器
- 变换、修改器和对象数据流
- 使用修改器
- 世界空间修改器 (WSM)
- 对象空间修改器
- 对象空间修改器
- 使用影响区域修改器
- 使用“属性承载器”修改器
- 使用“弯曲”修改器
- 使用“倒角”修改器
- 使用倒角剖面修改器
- 关于“摄影机贴图”修改器(对象空间)
- 使用补洞修改器
- 使用“切角”修改器
- 使用“横截面”修改器
- 使用删除网格修改器
- 使用删除面片修改器
- 删除样条线修改器
- 使用置换近似修改器
- 使用“置换”修改器
- 关于编辑网格编辑器
- 关于“编辑法线”修改器
- 编辑面片修改器
- 编辑多边形修改器
- 编辑样条线修改器
- 挤出修改器
- 面挤出修改器
- FFD(自由形式变形)修改器
- 圆角/切角修改器
- 柔体修改器
- HSDS 修改器
- 车削修改器
- 晶格修改器
- 链接变换修改器
- 贴图缩放器修改器(对象空间)
- 材质修改器
- 按元素分配材质修改器
- 融化修改器
- 网格选择修改器
- 网格平滑修改器
- 镜像修改器
- 变形器修改器
- 多分辨率修改器
- 噪波修改器
- 法线修改器
- 规格化样条线修改器
- 优化修改器
- 面片选择修改器
- 面片变形修改器(对象空间)
- 路径变形修改器(对象空间)
- 点缓存修改器(对象空间)
- 多边形选择修改器
- 保留修改器
- 投影修改器
- 投影固定器修改器
- ProOptimizer 修改器
- 推力修改器
- 四边形网格化修改器
- 松弛修改器
- 可渲染样条线修改器
- 涟漪修改器
- 按通道选择修改器
- 壳修改器
- 倾斜修改器
- 使用“蒙皮”修改器
- 蒙皮变形修改器
- 蒙皮包裹修改器
- 蒙皮包裹面片修改器
- 切片修改器
- 平滑修改器
- 球形化修改器
- 样条线 IK 控制修改器
- 样条线选择修改器
- 挤压修改器
- STL 检查修改器
- 拉伸修改器
- 细分修改器(对象空间)
- 替换修改器
- 曲面修改器
- 使用修改器堆栈
- “曲面选择”修改器
- 曲面变形修改器(对象空间)
- 扫描修改器
- 对称修改器
- 锥化修改器
- 细化修改器
- 修剪/延伸修改器
- 涡轮平滑修改器
- 使用 gPoly 对象类型
- 转化为网格修改器
- 转化为面片修改器
- 转化为多边形修改器
- 扭曲修改器
- UVW 贴图修改器
- 顶点焊接修改器
- 顶点绘制修改器
- 体积选择修改器
- 波浪修改器
- 变换修改器
- 关于体素蒙皮
- 动画
- 动画概念和方法
- 动画和时间控件
- 使用控制器
- 动画控制器
- 音频控制器
- 重心变形控制器
- Bezier 控制器
- 块控制器
- 布尔控制器
- 颜色 RGB 控制器(Point3 XYZ 控制器)
- Euler XYZ 旋转控制器
- 表达式控制器
- 层控制器
- 限制控制器
- 线性控制器
- 列表控制器
- 局部 Euler XYZ 旋转控制器
- 注视控制器
- 主点控制器
- MCG 注视约束
- MCG 射线到曲面位置约束
- MCG 射线到曲面位置和方向约束
- MCG 射线到曲面变换约束
- MCG 1 DOF 旋转弹簧控制器
- MCG 3 DOF 旋转弹簧控制器
- 运动捕捉控制器
- 噪波控制器
- 启用/禁用控制器
- 位置 XYZ 控制器
- 位置/旋转/缩放控制器
- 反应控制器
- 缩放 XYZ 控制器
- 脚本控制器
- 平滑旋转控制器
- 弹簧控制器
- TCB 控制器
- 波形控制器
- XRef 控制器
- 动画约束
- 连线参数
- 层次和运动学
- 轨迹视图
- 运动混合器
- 保存和加载动画
- 动画工具
- 预设和偏移
- 使用 Maya 的分析器提高动画性能
- 角色动画
- CAT (Character Animation Toolkit)
- character studio
- 什么是 character studio?
- 使用 character studio 时应了解的内容
- 了解 Biped
- 了解轨迹编辑
- 了解动画工作台
- 理解运动流
- 了解 character studio 工作流程
- Biped
- 创建两足动物
- 了解 Biped 解剖学
- 更改初始 Biped 解剖学
- 命名 Biped
- 调整两足动物姿势
- 缩放链接
- 用橡皮圈移动手臂和腿部
- 两足动物显示选项
- 删除 Biped
- 将角色躯干部位链接到两足动物
- 加载和保存 FIG 文件
- 足迹动画
- 自由形式动画
- 使用 Biped 动画
- 加载、保存和显示 Biped 运动
- Biped 用户界面
- 使用工作台
- 使用运动流
- 使用运动捕捉数据
- character studio 文件格式
- character studio 步骤索引
- 填充
- 模拟和效果
- 空间扭曲对象
- 粒子系统
- 粒子流
- 粒子流如何工作
- 粒子流用户界面
- 动作
- mParticles 和高级数据操纵
- mParticles
- “mParticles 出生”操作符
- mParticles 流
- “mParticles 世界”辅助对象
- mParticles 操作符和测试
- mParticles 修改器
- “mParticles 数据”子操作符
- “自定义 mParticles 模拟”工具
- 使用 MAXScript 对模拟进行基准测试
- 高级数据操纵
- mParticles
- 粒子流
- MassFX
- Hair 和 Fur 修改器(世界空间)
- 布料和 Garment Maker 修改器
- 效果和环境
- 可视化 CFD 数据
- 照明和明暗处理
- 灯光
- 照明分析助手
- 材质编辑器、材质和贴图
- 工作流程:创建和指定材质
- 材质编辑器
- 精简材质编辑器
- Slate 材质编辑器
- 移动有关场景的材质、贴图和颜色
- 材质/贴图浏览器
- 材质管理器
- 材质类型
- 贴图和明暗器
- 硬件明暗处理
- 材质、贴图和顶点颜色工具
- 渲染
- 相机
- 渲染静止图像或动画
- 渲染帧窗口
- “渲染输出文件”对话框
- 查看媒体文件
- 渲染命令
- 渲染器
- 渲染消息窗口
- 默认扫描线渲染器
- A360 云渲染
- ART 渲染器
- iray 渲染器
- mental ray 渲染器
- Quicksilver 硬件渲染器
- VUE 文件渲染器
- 渲染单独的元素
- 工作流:渲染到纹理(纹理烘焙)
- 创建视口快照
- 渲染预览动画
- 比较媒体文件(RAM 播放器)
- 创建全景
- 网络渲染
- 使用“批处理渲染”工具
- 命令行渲染
- Max Creation Graph
- 自定义 3ds Max
- 键盘快捷键
- 参考
- 3ds Max 帮助存档主题
- 疑难解答
- 词汇表
- 2 面(双面)
- 2D 贴图
- 3D 贴图
- 操作
- 活动链接
- 活动时间段
- 活动/非活动足迹
- 自适应锁定
- 调整
- 自适应降级
- 增加的不透明度
- 调整特征姿势
- 仿射变换
- 悬空周期
- 锯齿/抗锯齿
- Alpha 通道
- 环境光颜色
- 环境光
- 动画纹理
- 动画
- 动画控制器/变换控制器
- 动画层
- 应用式 IK
- 区域灯光(mental ray 渲染器)
- 区域阴影
- 纵横比
- 资源
- 附件 (IK)
- 衰减
- 自动栅格
- 避免行为
- 回避行为
- 三向投影视图
- B 样条线
- 平衡因素
- 平衡轨迹
- 弹道步态
- 弹道张力
- 重心坐标
- 行为
- 弯曲链接
- Bezier 曲线
- Biped
- Biped 动力学
- 出生事件
- 位图
- 混合对象
- 块参考
- 块/样式父级
- 模糊/模糊偏移
- 躯干空间
- 布尔操作
- 边界顶点
- 边界框
- 凸出
- 凸出角度
- 按层/按对象
- 重心 (COM)
- 切角
- 剪辑控制器
- 剪切平面
- 编解码器
- 认知控制器
- 组件
- 合成
- 复合材质
- 约束点
- 接触对象
- 容器
- 连续性
- 连续性级别
- 控制晶格
- 控制点
- 控制顶点 (CV)
- 控制器
- 凸面外壳属性
- 冷却
- 坐标空间
- 创建参数
- 横截面
- 群组
- 群组系统
- 曲线视图
- CV
- CV 曲线
- CV 曲面
- 可变形封套
- 变形
- 变形样条线
- 度数
- 代理
- 从属对象
- 从属对象 (NURBS)
- 仓库
- “描述”面板
- 对角线
- 漫反射颜色
- 抖动
- 停靠与浮动
- 双脚支撑周期
- 虚拟对象
- 动力学
- 动力学混合
- 减缓曲线
- 边
- 可编辑网格
- 可编辑多边形
- 元素
- 发射器
- 末端效应器
- 封套
- 事件
- 事件显示
- 事件级别
- 范围
- 面/多边形
- 面状
- FFD
- 视野
- 场
- 体形模式
- 圆角
- 过滤色/过滤不透明性
- 过滤(抗锯齿)
- 过滤(角色动画)
- 最终聚集(mental ray 渲染器)
- 第一个顶点
- 平面镜
- 流
- 荧光
- 弹出按钮
- 跟随对象
- 脚部状态
- 足迹动画
- 足迹方法
- 正向运动学
- 正向运动学 (Biped)
- 帧/帧速率
- 自由格式的动画
- 自由形式方法
- 冻结/解冻
- 功能曲线
- 熔合
- G 缓冲区
- 步态方案
- 步态类型
- Gamma 校正
- 几何基本体
- Gizmo/中心
- 全局事件
- 全局运动剪辑控制器
- 光泽度和高光度设置
- 重力加速度
- 重力
- 栅格对象
- 头对象
- 辅助对象
- 隐藏/取消隐藏
- 层次链接
- 主栅格
- 地平线
- 热材质
- 聚光区/衰减区
- IK 混合
- IK 目标
- IK 解决方案
- 照度
- 图像运动模糊
- 就位模式 (Biped)
- 独立
- 影响
- 初始姿势
- 初始化
- 输入:事件
- 实例
- 实例(运动混合器)
- 交互式渲染器
- 插值
- 反向运动学
- 反向运动学 (Biped)
- 等参线
- 等距视图
- 关键帧模式
- 关键帧/关键点
- 运动学链
- 结
- 启动脚本
- 层轨迹
- 层
- 布局模式
- 抬起
- 光贴图
- 链接的几何体
- 链接
- 侦听器窗口
- 本地容器
- 局部坐标系
- 局部事件
- 放样
- 注视对象
- 亮度
- 光通量
- 发光强度
- 贴图通道
- 贴图材质
- 贴图坐标
- 贴图
- 标记数据
- 标记文件
- 标记
- 主块运动剪辑控制器
- 匹配帧
- 材质 ID
- 材质/贴图层次
- 材质
- 隐藏对象
- MAX 文件
- MAXScript
- 网格
- 变形球
- 镜像
- 混合
- 合成
- 模式/无模式
- 修改器堆栈
- 修改器
- 变形
- 运动混合
- 运动模糊
- 运动捕获
- 运动剪辑
- 运动流
- 运动流编辑器
- 运动流脚本
- 运动混合器 (Biped)
- 运动合成
- 多样性
- 倍增
- 增强曲线
- N 个链接
- 网络管理器
- 网络渲染
- 网络渲染服务器
- 牛顿
- 节点
- 法线
- NTSC
- NURBS
- NURBS 曲线
- NURBS 模型
- NURBS 曲面
- NURMS
- 对象
- 对象实例
- 对象运动模糊
- 对象空间
- 对象空间 (Biped)
- 对象空间修改器 (OSM)
- 障碍物回避行为
- 全向灯
- 泛方向导向器
- 不透明度衰减
- 运算对象
- 操作符
- 操作符图标
- 视觉标记
- 方向行为
- 原点
- 正交视图
- 超出范围类型
- 输出:源/测试
- 泛光化
- PAL
- 参数空间
- “参数”面板
- 参数/参量
- 参数化对象
- 父粒子
- 粒子图表
- 粒子级别
- 粒子系统
- 粒子系统(粒子流)
- 面片
- 基于面片的对象
- 路径
- 路径追随行为
- 周期
- 透视图
- 腿部运动周期
- 光度学
- 光子贴图
- Physique
- 轴点
- 像素
- 踩踏
- 插件
- 点
- 点曲线
- 点曲面
- 姿势
- 位置标记
- 姿势
- 优先级
- 预乘 Alpha
- 主材质通道
- 程序贴图
- 投影灯
- 道具骨骼
- 四元树
- 队列监视器
- 光能传递
- 光能传递解决方案
- 光线跟踪阴影
- 实时
- 红、绿、蓝/色调、饱和度、值
- 参考
- 参考对象
- 优化
- 反射比
- 重新初始化 (Physique)
- 排斥行为
- 库
- 分辨率
- 对位
- 橡皮圈模式
- RVT 链接
- 安全框
- 样品范围
- 缩放步幅
- 扫描线渲染器
- 场景
- 场景范围
- 场景运动模糊
- 场景单位
- 图解视图
- 脚本
- 脚本编辑器窗口
- 脚本化行为
- “脚本工具”面板
- 脚本(运动流)
- 脚本
- 种子值
- 查找行为
- 线段
- 自发光
- 明暗器(mental ray 渲染器)
- 明暗器(标准材质)
- 阴影偏移
- 阴影贴图
- 图形和样条线
- 天光
- 滑动足迹
- 平滑组
- SMPTE
- 源容器
- 空间扭曲行为
- 空间扭曲
- 繁殖粒子
- 高光颜色
- 速度改变行为
- 接合
- 样条线
- 样条线动力学
- SteeringWheels 导航
- 子对象
- 子对象层级
- 相减不透明度
- 太阳光
- 超级黑
- 支撑周期
- 曲面获得行为
- 曲面追随行为
- 扫描对象
- 合成, 合成
- 特征体形模式
- 切线
- TCB (Biped)
- TCB(张力、连续性和偏移)
- 腱
- 张力、连续性、偏移 (Biped)
- 地形
- 测试
- Texel
- 纹理
- 十字叉
- 平铺/镜像
- 拓扑
- 拓朴相关修改器
- 接触
- 轨迹
- 轨迹视图
- 轨迹组
- 轨迹
- 轨迹 (Biped)
- 变换 Gizmo
- 变换
- 变换
- 变换轨迹
- 半透明
- 真彩色
- 扭曲链接
- 唯一容器
- 通用命名约定 (UNC)
- UVW 坐标
- 矢量场
- 矢量场空间扭曲
- 向量和向量控制柄
- 速度插值
- 顶点
- 顶点颜色
- ViewCube 导航系统
- 视口(交互式)渲染器
- VIZ 块
- 走步
- 穿行助手
- 墙壁排斥行为
- 墙查找行为
- 漫步行为
- 权重曲线
- 关联
- 线框颜色
- 线框模式
- 工作台
- 工作流程
- 世界坐标系
- 世界空间
- 世界空间 (Biped)
- 世界空间修改器 (WSM)
- xref(AutoCAD 外部参考)
- 外部参照(3ds Max 外部参照文件)
3ds Max 帮助归档
- Autodesk 3ds Max 帮助归档
- 非事件驱动的粒子系统
- Physique
- 群组动画
- Combustion 支持
- 使用光能传递建立全局照明模型
- 视频后期合成
- 实用工具
白皮书:HI IK 解算器的旋转角度
HI 解算器的基本要求是,该解决方案属于历史独立型,即只能基于当前状态下的目标和其他附带参数。
自由旋转角度
为单个链提供位置目标后,将保持明显的自由度:绕末端效应器轴(EE 轴)旋转。使用旋转角度,可以定量地说明这种自由度。
1. 起始关节
2. 末端效应器
3. EE 轴
解算器平面
我们称通过所有关节的平面为“解算器平面”。如果关节不位于平面上,该平面的定义如下:(A) 通过“起始关节”和“结束关节”;(B) 在某种意义上,距离其余关节最近。
“旋转角度”说明了“解算器平面”的自由度。它只包含“起始关节”。
零平面贴图
为了定量说明解算器平面,必须就 0 的含义达成一致。末端效应器的位置给定时,“零(解算器)平面”的位置如何?“零平面贴图”用作参数 EE 轴,因此可以为零平面生成法线。
使用 IK 系统,各个解算器插件都能定义自己的“零平面贴图”。如果未定义,IK 系统将会提供默认值。
“零平面贴图”的参数是一个提供 EE 轴方向的单位向量。同样,EE 沿着 EE 轴滑动时,应该固定解算器平面。因此,“零平面贴图”可以定义向量场或球体。如果提供球体上的点,将会生成切向单位向量,以其作为零平面的法线进行插补。
1. 零平面的法线
翻转解算器平面
球体上不存在连续的向量场属于数学事实。无论做何努力,邻近向量会大幅更改的球体上始终存在着一点。这是末端效应器轴向其靠近时解算器平面要发生翻转的位置。
一方面,这是因为,根据历史独立型要求,我们必须向单点分配固定向量。另外一方面,无论分配什么向量,该向量将会与分配给邻近点的某些向量明显不同。
球体的固有参考帧
为了定义“零平面贴图”,必须定义球体的参考帧。该参考帧是关节链本身所固有的。
球体可以通过中心、水平面和子午线(零纬度)来定义。该中心分配给起始关节。
如果所有的关节角度都假定为首选角度,则姿势尤其重要。我们称之为首选姿势。
我们将处于首选姿势的解算器平面用作水平面。因为使用旋转角度可以控制起始关节,所以,起始关节处的首选角度并非是固有的。另外,使用解算器平面定义水平面是合理的。其中,通过向起始关节分配零平面,而向其他关节分配首选角度,可以生成该解算器平面。
EE 轴可以定义子午线。此时,球体的定义如下图所述:
1. EE 轴
所有关节都假定了首选角度。“零平面贴图”将在该球体上加以定义。
事实上,定义其自身的“零平面贴图”时所用的插件解算器 API 可以向处于首选姿势的解算器平面分配 EE 轴和法线:
virtual const IKSys::ZeroPlaneMap* GetZeroPlaneMap(const Point3& a0, const Point3& n0) const
其中,a0 和 n0 分别是 EE 轴和处于首选姿势的解算器平面。ZeroPlaneMap 的对象是一个向球体上每点分配平面法线的函数。
默认零平面贴图
如果未由插件解算器提供,(IK 解算器本身作为插件解算器实施)IK 系统将会提供默认值。该贴图是通过下列规则定义的:
- A:对于水平面与球体相交得到的赤道上的每个点,法线向量是作为垂直向量定义的。该向量所指的方向与处于首选姿势的解算器平面的法线方向相同。
- B:对于球体而不是两极上的任何点,存在一个通过该点和南北两极的大圆。该圆与赤道相交于两点。一点比较靠近指定点。按着大圆方向将赤道上更近的点处的法线沿着切线方向移动到该点,即可定义指定点处的法线向量。
生成零平面的默认法线
无疑,这种方法不会延伸到南北极。南北极是单点。EE 轴穿越两极时,法线将会突然改变方向,即通过用户视口进行翻转。
通常,首选姿势是首次分配解算器时的姿势。因此,放置点的平面与此处的水平面相对应。规则 A 可以确保,如果在平面上移动目标,该链将一直处于该平面中。
规则 B 表明,沿着与赤道垂直的大圆移动到赤道时,该链一直处于垂直位置,穿过两极(该贴图的单点)时除外。
父空间
到目前为止,我们已经介绍了很多内容,就好像整个世界只包含 IK 元素一样。事实上,IK 链和目标位于各个变换层次的点上。最终,我们必须绘制末端效应器的位置。在世界中,该位置是指球体上的某个点。根据球体相对于末端效应器位置的安装方式,经度和纬度的显示不尽相同。要在其中放置该球体的父变换空间称“旋转角度父空间”或“父空间”(如果环境明确的话)。
对于 IK 参数,父空间必须是恒定不变的。刚才,我们已经提供了两种选择方案:
- 起始关节“旋转角度父空间”与“起始关节”的父空间相同。
- IK 目标“旋转角度父空间”是 IK 目标的父级。
示例 1
如果起始关节和目标直接位于世界中,选择“父空间”不会有任何区别。在下例中,起始关节是对象 A 的父级。
此时,可以(通过起始关节)将 IK 链设置为对象 A 的父级。
假定这是分配 IK 解算器时的姿势。因此,这是首选姿势。展开关节的平面是球体的水平面(“零平面贴图”)。
- A:“父空间”是“起始关节”。在这种情况下,将该球体设置为 A 的父级。如果 A 绕着绘制的轴旋转,该球体将会与其一同旋转。目标位于各个变换层次中。该目标将会保持原位。末端效应器因 IK 解决方案而与其相连。因为(平面)法线对球体是固定的,所以,它也会与 A 一起旋转。为此,整个链似乎与父对象一起旋转。
- B:“父空间”是“IK 目标”。假定该目标是世界的父级。在这种情况下,由于球体已设置为世界的父级,因此保持不变。因此法线对球体是固定的,所以,旋转 A 时,该链将保持静止。
示例 2
在下例中,我们将要了解一下分配 IK 解算器后父空间存在的旋转情况。
分配 IK 解算器后,IK 链的父空间将会包含一个旋转。
父 A 包含 90 度的旋转。如果用户没有使用 IK 解算器创建四个骨骼,并在稍后分配一个 IK 解算器(从 Bone2 到 Bone4),就属于抽象概念。如果直接将链设置为世界的父级,它将会显示在右图中:解算器平面变成水平状态。
- A:“父空间”是“起始关节”。旋转 A 后,将会安装球体。因此,“水平面”与视口中所示的链平面相符。单点相对于该平面与“起始关节”垂直。在平面上移动目标/末端效应器时,它决不会与单点交叉,也不会进行翻转。
- B:“父空间”是“IK 目标”。另外,我们假定目标的父空间是世界。此时,该球体的“水平面”将变成水平状态,如右图所示。单点和两极都位于展开关节的平面上。因此,用户左右移动目标/末端效应器时,末端效应器将会通过单点,还会进行翻转。
B 的问题在于,决不会向用户显示右图。因此,必须对其进行设想,以便了解翻转。
示例 3
本例介绍了重新分配“起始关节”时生成的结果。假定我们有一个包含四个骨骼节点的 IK 链。
1. Bone01
2. Bone02
3. Bone03
4. Bone04
“起始关节”和“结束关节”分别是 Bone01 和 Bone04。假定图中所示的姿势是首选姿势,且 Bone01 包含一个旋转。如果直接将 Bone02 设置为世界的父级,右图中将会显示 Bone02 的层次。
向 Bone02 重新分配“起始关节”时,“零平面贴图”球体将会基于右侧的配置。
- A:“父空间”是“起始关节”。在这种情况下,固定进行正确配置的球体将被设置为 Bone01 的父级。它将会与基于 Bone01 到 Bone04 的球体相同。因此,可以获得相同的法线,而链将会保持不变。
- B:“父空间”是“IK 目标”。在这种情况下,球体处于世界中,而 Bone02 被设置为 Bone01 的父级。如果 Bone04 因 Bone01 变换而移动到左侧,对球体(对世界固定)固定的观察者将会发现,Bone04 正在远离首选姿势定义的中性位置。此后,将会对“零平面贴图”应用算法,以便在替换位置处找到法线。通常,它不会与视口垂直。因此,使用新的“起始关节”时,只会翻转一次。
如果删除解算器/目标,并已分配新对象(从 Bone02 到 Bone04),您将会发现,该链不会翻转。为什么?分配“起始关节”和创建新的 IK 链/目标是不同的。“起始关节”是很多 IK 参数之一。重新分配“起始关节”与修改任何参数完全相同。其余参数将保持完好。尤其是,执行重新分配操作后,不会更改“旋转角度”。
创建新的 IK 链/目标会有所不同。试图确保关节链处于固定状态,方法是对参数进行相应的调整。尤其是,“旋转角度”将会设置为某个值,使解算器平面可以在视口中保持固定。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论