Graphics 版 (精华区)

发信人: killest (victor), 信区: Graphics
标  题: [转载] 三维动画制作 -2
发信站: 紫 丁 香 (Sat Apr 25 12:16:19 1998), 转信

【 以下文字转载自 Software 讨论区 】
【 原文由 checcy 所发表 】
三维动画制作 

                第 讲   让 静 止 的 画 面 动 起 来
            到 目 前 为 止 , 我 们 已 经 建 立 了 物 体 的 静 止 模
型, 并
       且 渲 染 生 成 了 堪 与 真 实 图 画 相 媲 美 的 静 态 效 果 图 。
现 在 我
       们 要 让 它 们 动 起 来 , 完 成 真 正 的 动 画 制 作 。 按 F4 进
入 关 键
       帧 制 作 模 块 。 可 以 看 到 该 模 块 的 界 面 与 三 维 编 辑 模
块 比 较
       相 近 , 也 是 有 四 个 小 的 视 图 , 只 是 右 下 角 的 图 标 区
略 有 不
       同 , 命 令 区 有 了 一 些 不 同 的 命 令 而 已 。 制 作 动 画 的
第 一 步
       就 是 要 确 定 整 个 动 画 的 时 间 , 在 3DS 中 , 时 间 是 以
帧 数 来
       计 算 的 , 一 般 按 NTSC 制 式 设 定 为 每 秒 30 帧 。 针 对 我
们 这
       个 动 画 , 可 以 设 定 物 体 在 一 秒 钟 内 下 落 , 一 秒 钟 内
弹 起 ,
       中 间 再 加 几 帧 让 物 体 作 一 些 压 扁 的 变 形 , 这 样 初 步
可 以 确
       定 动 画 的 总 帧 数 为 70 帧 。 选 择 Time/Total Frames 命 令 ,

       Number 栏 位 输 入 70 , 选 择 OK 。 总 帧 数 就 设 定 完 毕 了

            现 在 我 们 开 始 考 虑 动 画 的 细 节 , 即 物 体 如 何 运
动 ,
       何 时 在 何 位 置 , 角 度 如 何 等 等 。 首 先 我 们 使 用
Time/Goto
       Frame 命 令 , 输 入 70 , 到 达 动 画 的 最 后 一 帧 , 然 后 用
       Object/Rotate 命 令 , 在 任 何 一 个 激 活 的 视 图 上 , 选 取
“ 3DS
       ” 物 体 , 按 TAB 键 直 至 顶 部 Axis 位 置 出 现 Y 字 样 ; 向
右 移
       动 鼠 标 , 等 顶 部 出 现 Angle : 360 degress 时 再 按 一 次 鼠
标 左 键
       确 定 , 这 表 示 物 体 将 在 70 帧 的 动 画 过 程 中 旋 转 一 圈
; 将 鼠
       标 移 到 屏 幕 底 端 , 你 会 看 到 原 先 的 消 息 栏 变 成 了 一
根 滚 动
       条 , 用 鼠 标 拖 动 滚 动 条 至 第 一 帧 ( 这 与 使 用
Time/Goto Frame
       命 令 的 效 果 是 一 样 的 ) 。 现 在 动 画 回 到 了 起 始 之 处
, 此 时
       物 体 应 该 处 在 空 中 , 所 以 使 用 Object/Move 命 令 来 移 动
物 体
       , 为 达 到 垂 直 移 动 的 目 的 , 先 激 活 前 视 图 , 再 按
TAB 键 使
       鼠 标 箭 头 变 成 一 个 方 块 上 下 各 一 个 箭 头 状 , 点 取 物
体 , 向
       上 移 动 鼠 标 , 同 时 注 意 顶 端 的 数 字 , 此 为 移 动 的 距
离 , 以
       后 还 会 有 用 。 第 一 帧 设 定 完 毕 后 , 拖 动 滚 动 条 到 达
第 三 十
       帧 , 即 一 秒 钟 的 时 候 , 此 时 物 体 的 下 沿 应 该 贴 近 桌
面 , 所
       以 再 次 使 用 Object/Move 命 令 来 垂 直 移 动 物 体 , 直 到 物
体 下
       沿 与 桌 面 平 齐 为 止 ( 此 时 可 观 察 屏 幕 顶 端 所 显 示 的
移 动 距
       离 , 以 保 证 与 前 一 次 的 距 离 相 同 ) ; 同 理 移 到 第 35
帧 , 使
       用 Object/Scale 命 令 , 在 顶 视 图 上 选 取 物 体 , 按 TAB 键
使 顶
       部 Axis 处 出 现 Y 字 样 后 再 向 右 移 动 鼠 标 , 直 至 顶 部
出 现
       Scale :70 % 字 样 按 鼠 标 左 键 确 定 。 再 次 使 用
Object/Move 命 令
       将 物 体 垂 直 向 下 移 动 , 使 其 下 沿 与 桌 面 平 齐 。
            到 目 前 为 止 , 最 关 键 的 几 帧 我 们 已 经 设 定 完 毕
了 ,
       不 过 工 作 还 没 完, 不 信 你 可 以 激 活 摄 像 机 视 图 ( 若
没 有 该
       视 图 , 则 激 活 用 户 视 图 , 按 一 下 “ C ” ) 并 按 一 下
屏 幕 右
       下 角 的 双 三 角 按 钮 就 会 看 到 , 物 体 从 上 到 下 降 落 ,
到 桌 面
       时 旋 转 了 180 度 , 然 后 收 缩 一 点 , 却 并 不 从 桌 面 上
弹 起 ,
       而 只 是 在 桌 面 上 又 旋 转 了 180 度 就 一 下 子 蹦 到 空 中
去 了 。
       这 是 为 什 么 呢 ?
            原 来 所 谓 关 键 帧 制 作 就 是 将 某 些 帧 设 定 为 关 键
帧 ,
       并 在 这 些 帧 上 对 物 体 作 移 动 、 旋 转 和 变 形 等 等 的 变
化 , 而
       其 余 的 帧 就 由 计 算 机 根 据 关 键 帧 来 作 渐 进 的 运 算 以
达 到 均
       匀 变 化 的 动 画 效 果 。 假 设 在 动 画 的 第 一 帧 上 物 体 是
在 A 位
       置 , 在 第 30 帧 时 在 B 位 置 , 那 么 从 A 到 B 物 体 就 是 慢
慢 过
       渡 的 , 若 在 30 帧 以 后 没 有 再 设 定 过 位 置 的 关 键 帧 ,
那 么 从
       30 帧 开 始 物 体 就 一 直 留 在 B 位 置 , 等 动 画 循 环 放 映
第 二 遍
       的 第 一 帧 时 , 物 体 就 一 下 子 从 A 位 置 跳 到 B 位 置 了
。 那 么
       如 何 解 决 呢 ? 显 然, 有 些 读 者 已 经 想 到 了 , 只 要 把
最 后 一
       帧 设 定 为 关 键 帧 , 让 物 体 回 到 A 位 置 , 那 就 会 形 成
物 体 从
       A 到 B , 再 从 B 回 到 A 的 渐 进 效 果 。
       好 , 我 们 拖 动 鼠 标 至 第 70 帧 , 你 会 看 到 物 体 是 紧 贴
桌 面 的
       。 还 是 用 Object/Move 命 令 将 物 体 垂 直 向 上 移 动 , 同 时
要 记
       得 观 察 屏 幕 顶 端 的 距 离 数 值 , 以 保 证 物 体 回 到 原 位

            按 一 下 屏 幕 右 下 角 的 Track Info 按 钮 , 然 后 在 任
一 激
       活 的 视 图 上 选 取 物 体 , 便 会 弹 出 轨 迹 信 息 对 话 框 ,
激 活 对
       话 框 下 排 按 钮 中 的 Copy 钮, 使 之 变 红 , 然 后 点 取 标
尺 值 为
       30 处 的 第 一 个 黑 点 , 再 在 标 尺 值 40 处 的 第 一 格 内 点
一 下 ,
       即 可 将 物 体 在 30 帧 处 的 全 部 信 息 ( 包 括 位 置 、 旋 转
、 缩 放
       等 ) 拷 贝 到 40 帧 处 。
            至 此 我 们 已 将 所 有 的 关 键 帧 设 置 完 毕 , 激 活 摄
像 机
       视 图 , 按 屏 幕 最 右 下 角 处 的 双 箭 头 按 钮 即 可 全 屏 观
看 网 格
       体 的 动 画 效 果 , 如 有 不 满 之 处 , 可 按 单 箭 头 按 钮 仔
细 检 查
       每 一 帧 , 对 位 置 不 理 想 的 帧 作 细 部 的 修 改 , 一 般 主
要 是 位
       置 的 移 动 。
            到 现 在 为 止 , 人 的 工 作 已 经 完 成 , 剩 下 的 只 是
机 器
       的 工 作 了 。 选 择 Render/Render View 命 令 , 点 取 摄 像 机
视 图 ,
       屏 幕 弹 出 动 画 渲 染 对 话 框, 确 认 右 上 角 的 File Type 是
否 为
       FLIC , 若 不 是 , 就 请 点 取 它 上 面 的 Configure 按 钮 , 并
在 后
       一 个 对 话 框 中 选 择 FLIC ; 再 确 认 Frames 后 面 是 否 是
ALL 按
       钮 为 红 , 若 否 则 按 一 下 ALL 钮 ; 最 后 按 一 下 Disk 钮 使
之 为
       红 , 表 示 动 画 文 件 要 存 盘 , 按 Render 按 钮 即 可 。 当
然 此 时
       还 会 弹 出 存 盘 对 话 框 , 输 入 合 适 的 文 件 名 即 可。
            机 器 开 始 渲 染 , 而 您 就 可 以 泡 杯 茶 休 息 了 , 因
为 机
       器 可 能 要 渲 染 几 分 钟 到 几 个 小 时 不 等 。
            渲 染 完 毕 后 动 画 并 不 显 示 , 您 可 以 用 关 键 帧 制
作 模
       块 中 的 Render/View/Flic 命 令 来 观 看 , 也 可 在 三 维 编 辑
模 块 中
       用 Render/View/Flic 命 令 来 观 看 。 通 过 这 个 例 子 , 我 想
大 家 应
       该 对 3DS 有 了 一 个 轮 廓 上 的 认 识 , 知 道 了 它 的 几 个
模 块 的
       功 能 和 彼 此 的 联 系 , 也 应 该 对 使 用 3DS 制 作 动 画 有
了 感 性
       的 认 识 。

            第 三 讲 IPAS 外 部 程 序
            Autodesk 3D Studio 的 IPAS 系 统 是 一 个 程 序 设 计 界 面

       借 助 这 一 界 面 , 用 户 可 以 使 用 C 语 言 对 Autodesk 3D
Studio 进
       行 二 次 开 发 。
            IPAS 外 部 程 序 是 Phar Lap 386 程 序 。 这 些 程 序 通 过

       Autodesk 3D Studio 共 享 内 存 缓 冲 区 , 实 现 程 序 之 间 的
快 速 通
       讯 , IPAS 外 部 程 序 的 DOS 文 件 有 四 种 类 型 的 扩 展 名 :
            图 像 处 理 外 部 程 序 : * .IXP ( Image Processing
ExternaI
       Process )
            过 程 造 型 外 部 程 序 : * .PXP ( Procedural Modeling
       External Process )
            动 画 替 代 外 部 程 序 : * .AXP ( Animated Stand - in
       External Process )
            实 图 案 外 部 程 序 : * .SXP ( Solid Pattern ExternaI
Process
       )
            上 述 四 种 外 部 支 持 程 序 统 称 为 IPAS , IPAS 是 由 上

       四 种 程 序 的 第 一 个 字 母 组 成 的 。
            Autodesk 3D Studio 提 供 了 14 个 具 有 不 同 功 能 的 示 范

       序 。 无 论 是 作 为 Autodesk 3D Studio 的 内 部 实 用 程 序 ,
还 是 作
       为 IPAS 程 序 设 计 的 例 子 , 这 些 程 序 都 是 非 常 有 用 的

            这 些 示 范 程 序 向 读 者 展 示 了 利 用 IPAS 外 部 程 序
扩 展
       Autodesk 3D Studio 内 部 功 能 的 技 术 。 Autodesk 3D Studio 的
造 型
       、 渲 染 和 动 画 方 面 的 能 力 只 不 过 为 用 户 提 供 了 一 个
基 础 或
       起 点 , 而 利 用 IPAS 外 部 程 序 , 则 可 以 过 程 化 地 对 三
维 场 景
       进 行 造 型 、 渲 染 、 动 画 和 图 像 处 理 , 无 限 地 扩 展
Autodesk
       3D Studio 的 能 力 。
            过 程 化 造 型 外 部 程 序 ( Procedural Modeling External
       Process ) 是 在 三 维 编 辑 模 块 中 过 程 化 地 建 立 或 修 改
三 维 网
       格 体 的 应 用 程 序 , 简 称 为 PXP 过 程 或 PXP 程 序 。 PXP 过
程 可
       以 在 三 维 编 辑 模 块 内 部 用 Program 下 拉 菜 单 进 行 访 问

            PXP 程 序 包 括 山 脉 生 成 程 序 , 物 体 变 形 工 具 程 序

       物 体 阵 列 定 位 系 统 , 数 学 函 数 物 体 产 生 程 序 ( 注 意
, PXP
       过 程 只 能 在 三 维 编 辑 模 块 中 调 用 ) 。 在 这 个 例 子 中
, 我 们
       利 用 3DS 系 统 提 供 的 PXP 程 序 Grids 和 Ripple , 来 演 示 在
三 维
       编 辑 模 块 中 运 行 PXP 外 部 程 序 来 建 立 网 格 体 和 产 生
涟 漪 的
       功 能 。
            首 先 我 们 运 行 PXP 程 序 Grids 来 建 立 一 个 网 格 正 方

       作 为 涟 漪 的 发 生 体 。 选 取 File 下 拉 莱 单 的 Reset 选 项
重 新 设
       置 系 统 ; 选 取 Program 下 拉 莱 单 的 PXP LoaderGrids 莱 单 项
, 调
       入 Grids, 屏 幕 弹 出 网 格 体 生 成 参 数 对 话 框 。 把 对 应
的 网 格
       数 ( Grids ) 均 设 定 为 10 , 选 择 OK 按 钮 。 输 入 网 格 体
名 字
       GridboX , 按 下 Create 按 钮 。 这 样 就 能 生 成 一 个 各 条 棱
均 等
       分 为 十 份 的 立 方 体 。 用 鼠 标 右 键 点 取 Zoom Extents 图
标 按 钮
       ( 或 是 按 Ctrl + Z ) 把 四 个 视 区 中 的 图 形 同 时 尽 量
放 大 。
       屏 幕 上 显 示 的 魔 方 样 的 网 格 体 就 是 利 用 PXP 外 部 程
序 生 成
       的 。
            第 二 步 我 们 按 老 规 矩 要 加 上 光 源 和 相 机 。 先 使

       Light/Omni/Create 命 令 , 激 活 顶 视 图 , 在 左 下 角 用 鼠 标
点 一
       下 , 再 使 用 Light/Omni/Move 命 令 , 在 顶 视 图 上 将 泛 光
灯 向
       左 下 方 移 动 合 适 距 离 , 在 左 视 图 上 将 泛 光 灯 向 右 上
角 移 动
       合 适 的 距 离 , 如 此 一 来 , 我 们 就 在 网 格 体 的 左 前 上
方 加 上
       了 一 个 泛 光 灯 。 随 后 使 用 Cameras/Create 命 令 , 激 活 顶
视 图
       , 在 右 下 角 用 鼠 标 点 一 下 , 再 使 用 Cameras/Move 命 令
, 在
       顶 视 图 上 将 摄 像 机 向 右 下 方 移 动 合 适 距 离 , 在 左 视
图 上 将
       泛 光 灯 向 右 上 角 移 动 合 适 的 距 离 , 如 此 一 来 , 我 们
就 在 网
       格 体 的 右 前 上 方 加 上 了 一 个 摄 像 机 。 激 活 user 视 图
按 一 下
       “ U ” 键 将 视 图 改 变 为 Camera 视 图 。
            要 利 用 Ripple 程 序 产 生 涟 漪 一 样 的 同 心 圆 波 浪 ,
需 要
       先 建 立 一 个 物 体 来 确 定 其 圆 心 的 位 置 。 选 择
Creat/Box 命 令
       , 按 住 ctrl 键 在 大 正 方 体 的 左 上 角 建 立 一 个 边 长 约
为 15 -
       20 的 正 方 体 , 并 使 用 Modify/Object/Move 命 令 将 小 立 方
体 垂
       直 移 到 大 立 方 体 上 方 相 距 约 为 15 - 20 的 地 方 。
            激 活 camera 视 图 , 并 按 右 下 角 的 形 如 一 大 一 小 两
个 正
       方 形 的 按 钮 将 该 视 图 切 换 到 全 屏 幕 。 按 下 Hold 图 标
按 钮 ,
       暂 存 当 前 工 作 。 下 面 我 们 要 产 生 并 渲 染 一 个 涟 漪 状
物 体 :
            从 PXP Loader 下 拉 菜 单 选 择 Ripple 项 以 运 行 该 外 部
程 序
       , 屏 幕 弹 出 径 向 幅 射 波 产 生 对 话 框 。 对 话 框 中 参 数
的 意 义
       与 设 定 如 下 :
            ( l ) Amplitude axis ( 波 幅 轴 ) 用 来 确 定 波 的 传
播 方 向
       。 激 活 TOP 按 钮 , 说 明 波 的 振 幅 方 向 垂 直 于 顶 视 图

            ( 2 ) Ripple type ( 波 型 ) 设 置 为 Absolute , 说 明
波 浪
       绝 对 只 与 振 幅 的 方 向 平 行, 在 本 例 中 , 只 有 Top 和
Bottom 两
       面 受 波 浪 影 响 。 
            ( 3 ) Period ( 周 期 ) 设 置 为 5 。
            ( 4 ) Wavelength ( 波 长 ) 设 置 为 25 。
            ( 5 ) Amplitude ( 波 幅 ) 设 置 为 5 。
            ( 6 ) # of morph ( 变 形 体 的 数 目 ) 设 置 为 1 。
            ( 7 ) Hide>0 ? 设 置 为 Yes 。
            ( 8 ) Name prefix ( 变 形 体 名 字 前 缀 ) 采 用 缺 省

       RIPPLE 。 选 择 OK 按 钮 退 出 对 话 框 。
            按 照 屏 幕 提 示 , 先 选 小 正 方 体 , 再 选 大 网 格 体
, 系
       统 生 成 一 个 名 为 RIPPLE000 的 变 形 体 。 用 Display/Hide/By
Name
       命 令 隐 藏 大 网 格 体 GridboX 。 用 Renderer/Render view 命 令
对 相
       机 视 区 着 色 , 便 可 见 到 大 立 方 体 上 下 表 面 出 现 了 静
态 波 浪
       。
            最 后 我 们 来 制 作 涟 漪 动 画 , 先 用 Display/Unhide/All

       令 显 示 场 景 中 的 全 部 内 容 , 用 Modify/object/Delete 命 令
删 除
       网 格 体 和 程 序 生 成 的 变 形 体 , 只 保 留 小 正 方 体 。 选
择 PXP
       loader 菜 单 的 Grids 项 , 只 把 对 话 框 中 Height 设 置 为 0
, 其 余
       参 数 值 保 持 不 变 , 按 OK 按 钮 。 在 命 名 对 话 框 中 为 平
面 网
       格 体 命 名 为 Flatgrid 并 按 Create 按 钮 。 用
Modify/Object/Move 命
       令 把 小 正 方 体 移 近 网 格 平 面 , 并 用 Cameras/Move 和
       Cameras/Dolly 命 令 调 整 摄 像 机 , 使 网 格 平 面 和 小 立 方
体 出
       现 在 摄 像 机 视 图 的 合 适 位 置 上。 把 相 机 视 图 切 换 为
全 屏 显
       示 。 选 择 Create/Object/Tesselate 命 令 , 选 取 平 面 网 格 体
并 按
       OK 按 钮 。 在 屏 幕 弹 出 的 对 话 框 中 激 活 Edge 按 钮 并 将
Edge
       Tension 滑 尺 值 调 整 为 0 , 然 后 按 OK 按 钮 。 这 样 对 平
面 网 格
       体 进 行 镶 嵌 操 作 , 以 保 证 生 成 波 浪 体 的 平 滑 性 。 选
择 PXP
       Loader 的 Ripple 项 。 在 对 话 框 中 选 择 Absolute 投 钮 , 并
把 # of
       morphs 参 数 值 设 置 为 5 , 以 产 生 5 个 变 形 体 , 按 OK 按
钮 。
       然 后 选 取 小 正 方 体 和 平 面 网 格 体 。 这 样 , 程 序 生 成
名 为
       Ripple000 ~ Ripple004 的 五 个 变 形 休 。
            按 F4 进 入 关 键 帧 制 作 模 块 , 把 user 视 图 改 变 为
camera
       视 图 , 并 扩 大 到 全 屏 显 示 。 用 Display/Hide/By Name 命 令
把 所
       有 物 体 隐 藏 起 来 , 只 留 下 第 一 变 形 体 Ripple000 。
            进 入 第 2 帧 , 选 择 Object/Morph/Assisn 命 令 , 选 取 第

       变 形 体 Ripple000 , 再 点 取 第 二 变 形 体 Ripple001 , 按 OK
按 钮
       。
            进 入 第 4 帧 , 选 择 Object/Morph/Assisn 命 令 , 选 取 第

       变 形 体 Ripple001 , 再 点 取 第 三 变 形 体 Ripple002 , 按 OK
按 钮
       。
            进 入 第 6 帧 , 选 择 Object/Morph/Assisn 命 令 , 选 取 第

       变 形 体 Ripple002 , 再 点 取 第 四 变 形 体 Ripple003 , 按 OK
按 钮
       。
            进 入 第 8 帧 , 选 择 Object/Morph/Assisn 命 令 , 选 取 第

       变 形 体 Ripple003 , 再 点 取 第 五 变 形 体 Ripple004 , 按 OK
按 钮
       。
            进 入 第 10 帧 , 选 择 Object/Morph/Assisn 命 令 , 选 取
第 五
       变 形 体 Ripple004 , 再 点 取 第 一 变 形 体 Ripple000 , 按 OK
按 钮
       。
            选 择 Preview/Make 命 令 , 点 取 相 机 视 区 , 在 对 话 框

       按 下 Range 按 钮 , 把 动 画 范 围 设 置 为 0 到 9 , 按 下 对
话 框 的
       Preview 按 钮 , 程 序 首 先 制 作 然 后 播 放 试 映 动 画 。

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: checcy@public.hr.hl.]
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: victor.hit.edu.c]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:209.837毫秒