<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>http://cn.lightstream.pro/index.php?action=history&amp;feed=atom&amp;title=%E5%9C%A83ds_Max%E4%B8%AD%E5%87%86%E5%A4%87%E6%A8%A1%E5%9E%8B</id>
	<title>在3ds Max中准备模型 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://cn.lightstream.pro/index.php?action=history&amp;feed=atom&amp;title=%E5%9C%A83ds_Max%E4%B8%AD%E5%87%86%E5%A4%87%E6%A8%A1%E5%9E%8B"/>
	<link rel="alternate" type="text/html" href="http://cn.lightstream.pro/index.php?title=%E5%9C%A83ds_Max%E4%B8%AD%E5%87%86%E5%A4%87%E6%A8%A1%E5%9E%8B&amp;action=history"/>
	<updated>2026-09-04T13:13:49Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>http://cn.lightstream.pro/index.php?title=%E5%9C%A83ds_Max%E4%B8%AD%E5%87%86%E5%A4%87%E6%A8%A1%E5%9E%8B&amp;diff=339&amp;oldid=prev</id>
		<title>LumiBot：​Перевод с русской вики (задача №1106, LS Dev Hub)</title>
		<link rel="alternate" type="text/html" href="http://cn.lightstream.pro/index.php?title=%E5%9C%A83ds_Max%E4%B8%AD%E5%87%86%E5%A4%87%E6%A8%A1%E5%9E%8B&amp;diff=339&amp;oldid=prev"/>
		<updated>2026-09-03T16:12:26Z</updated>

		<summary type="html">&lt;p&gt;Перевод с русской вики (задача №1106, LS Dev Hub)&lt;/p&gt;
&lt;a href=&quot;http://cn.lightstream.pro/index.php?title=%E5%9C%A83ds_Max%E4%B8%AD%E5%87%86%E5%A4%87%E6%A8%A1%E5%9E%8B&amp;amp;diff=339&amp;amp;oldid=299&quot;&gt;显示更改&lt;/a&gt;</summary>
		<author><name>LumiBot</name></author>
	</entry>
	<entry>
		<id>http://cn.lightstream.pro/index.php?title=%E5%9C%A83ds_Max%E4%B8%AD%E5%87%86%E5%A4%87%E6%A8%A1%E5%9E%8B&amp;diff=299&amp;oldid=prev</id>
		<title>LumiBot：​Перевод с русской вики (задача №983, LS Dev Hub)</title>
		<link rel="alternate" type="text/html" href="http://cn.lightstream.pro/index.php?title=%E5%9C%A83ds_Max%E4%B8%AD%E5%87%86%E5%A4%87%E6%A8%A1%E5%9E%8B&amp;diff=299&amp;oldid=prev"/>
		<updated>2026-09-02T19:28:33Z</updated>

		<summary type="html">&lt;p&gt;Перевод с русской вики (задача №983, LS Dev Hub)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[ru:Подготовка модели в 3ds max]] [[en:Preparing a Model in 3ds Max]] [[zh:在3ds Max中准备模型]]&lt;br /&gt;
本文说明模型应具备怎样的条件，才能以正确的尺寸、正确的朝上方向、且不产生数据损失地导入到 Light Stream 的场景中。这里讲的是 3ds Max，但对任何三维编辑器而言要求都是一样的：对程序来说重要的不是模型是用什么软件制作的，而是 &amp;lt;code&amp;gt;*.obj&amp;lt;/code&amp;gt; 文件里记录了什么内容。导入过程本身在文章 [[导入OBJ模型]] 中有介绍。&lt;br /&gt;
&lt;br /&gt;
为 Light Stream 准备模型，追求的不是「更好看」，而是「更清楚」。这里不会有精美的渲染效果：程序只用简单的填充色和单一贴图来显示物体。但吸附功能（Snap）是基于模型的顶点工作的，而模型中的物体会成为列表中的一行——你会在整个项目周期内不断翻阅这个列表，因此最重要的是正确的比例、干净的几何体和有意义的命名。&lt;br /&gt;
&lt;br /&gt;
== 哪些内容会带入 Light Stream，哪些不会 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 会带入 !! 不会带入&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 几何体——三角形和四边形&lt;br /&gt;
* 物体的划分及其名称&lt;br /&gt;
* 法线（明暗与平滑）&lt;br /&gt;
* 线条——会变成样条（spline）&lt;br /&gt;
* 展开图（贴图坐标，UV）&lt;br /&gt;
* 材质的基础颜色和基础贴图&lt;br /&gt;
|&lt;br /&gt;
* 修改器、构建历史、骨骼与动画&lt;br /&gt;
* 图层、编组、「父—子」关系&lt;br /&gt;
* 单独存在的平滑组（smoothing group）&lt;br /&gt;
* 除基础贴图外的所有贴图：凹凸、反射、透明、自发光&lt;br /&gt;
* 同一物体的第二个及后续材质&lt;br /&gt;
* 光源与摄像机——它们不会从 &amp;lt;code&amp;gt;*.obj&amp;lt;/code&amp;gt; 中传入&lt;br /&gt;
* 顶点颜色&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 单位与比例 ==&lt;br /&gt;
&lt;br /&gt;
坐标是按文件中原样读取的：导入时没有缩放窗口，所以无法在「导入时」调整大小。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Light Stream 场景以毫米为单位：文件中的一个长度单位等于一毫米。&amp;#039;&amp;#039;&amp;#039;一座高30米的立面在文件中应占30000个单位，而LED灯条的单个像素应为三十到四十个单位。检查比例最简单的方法是用程序本身创建的立方体：一个尺寸为 &amp;#039;&amp;#039;&amp;#039;1000&amp;#039;&amp;#039;&amp;#039; × &amp;#039;&amp;#039;&amp;#039;1000&amp;#039;&amp;#039;&amp;#039; × &amp;#039;&amp;#039;&amp;#039;1000&amp;#039;&amp;#039;&amp;#039; 的立方体就是一个一米见方的立方体——把它放在模型旁边比较即可。&lt;br /&gt;
&lt;br /&gt;
在 3ds Max 中，最方便的工作方式是：将系统单位设置为毫米，并按实际尺寸建模——这样导出时就不需要重新换算，缩放系数始终保持为 &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;。如果场景是用其他单位搭建的，请在导出时设置缩放系数：从米换算——&amp;#039;&amp;#039;&amp;#039;1000&amp;#039;&amp;#039;&amp;#039;，从厘米换算——&amp;#039;&amp;#039;&amp;#039;10&amp;#039;&amp;#039;&amp;#039;，从英寸换算——&amp;#039;&amp;#039;&amp;#039;25.4&amp;#039;&amp;#039;&amp;#039;。&lt;br /&gt;
&lt;br /&gt;
单位错误是导入后「什么都看不到」最常见的原因。以米为单位导出的模型会缩小一千倍，淹没在固定装置（fixture）之中；而不小心放大一千倍的模型则会跑到离坐标原点几公里之外，摄像机看到的只是一片空白。&lt;br /&gt;
&lt;br /&gt;
== 朝向 ==&lt;br /&gt;
&lt;br /&gt;
Light Stream 场景中朝上的是 &amp;#039;&amp;#039;&amp;#039;Z&amp;#039;&amp;#039;&amp;#039; 轴——与 3ds Max 中一致。因此在 OBJ 导出设置中，应取消勾选 &amp;#039;&amp;#039;&amp;#039;Flip YZ-axis&amp;#039;&amp;#039;&amp;#039;（Y轴朝上时的轴交换）复选框：如果勾选了它，模型在场景中会侧倒。如果模型确实侧倒了，切换这个复选框后重新导出即可。&lt;br /&gt;
&lt;br /&gt;
导出前，最好重置变换，并在 3ds Max 中把模型放到它相对坐标原点应处的位置：物体彼此之间的相对位置以及文件中的坐标，在导入时会被完整保留。&lt;br /&gt;
&lt;br /&gt;
== 物体划分与命名 ==&lt;br /&gt;
&lt;br /&gt;
文件会被解析为若干独立的物体，每一个都会在 &amp;#039;&amp;#039;&amp;#039;3D Objects&amp;#039;&amp;#039;&amp;#039;（3D对象）窗口中成为一行，各自拥有自己的可见性复选框、材质和锁定状态。规则很简单：&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;所有几何体都必须位于命名物体内。&amp;#039;&amp;#039;&amp;#039;写在第一个物体之前的内容不会被导入。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;每个物体都必须有名称。&amp;#039;&amp;#039;&amp;#039;未命名的物体或组会中断文件的读取：写在它下面的内容将无法进入场景，模型只会导入一半。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;名称必须使用拉丁字母，不能使用西里尔字母。&amp;#039;&amp;#039;&amp;#039;物体名称和文件名中的俄文字母，在导入时会变成一串问号。&lt;br /&gt;
* 按含义划分：如「facade」（立面）、「roof」（屋顶）、「column_left」（左立柱）。由整块实体构成的模型在列表中只会是一行——之后就无法隐藏或单独改变其中一部分的颜色。&lt;br /&gt;
* 也不要走向另一个极端：几百个细小的物体会把 &amp;#039;&amp;#039;&amp;#039;3D Objects&amp;#039;&amp;#039;&amp;#039; 列表变成一条无穷无尽、难以查找的长条。&lt;br /&gt;
&lt;br /&gt;
== 多边形 ==&lt;br /&gt;
&lt;br /&gt;
Light Stream 只读取三角形和四边形。五个及以上顶点的面会被静默跳过——场景中相应位置会出现破洞。&lt;br /&gt;
&lt;br /&gt;
因此在导出设置的 &amp;#039;&amp;#039;&amp;#039;Faces&amp;#039;&amp;#039;&amp;#039;（面）分组中，应选择 &amp;#039;&amp;#039;&amp;#039;Triangles&amp;#039;&amp;#039;&amp;#039;（三角形）或 &amp;#039;&amp;#039;&amp;#039;Quads&amp;#039;&amp;#039;&amp;#039;（四边形），而不是 &amp;#039;&amp;#039;&amp;#039;Polygons&amp;#039;&amp;#039;&amp;#039;（多边形）。导出前请塌陷修改器，并将物体转换为多边形网格：NURBS、面片（patch）、带布尔运算的实体以及其他未经三角化/四边化处理的物体，要么无法进入 OBJ 文件，要么进入后的样子会与视口中显示的不同。&lt;br /&gt;
&lt;br /&gt;
对几何体还有一项要求：&amp;#039;&amp;#039;&amp;#039;不要导出顶点颜色。&amp;#039;&amp;#039;&amp;#039;如果导出插件在顶点坐标之外还附加了顶点颜色，这样的顶点将无法被正确读取，引用它的面也会基于错误的点构建——模型会以内外翻转的状态到达。&lt;br /&gt;
&lt;br /&gt;
== 法线 ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;必须将法线写入文件&amp;#039;&amp;#039;&amp;#039;——在导出设置中对应 &amp;#039;&amp;#039;&amp;#039;Normals&amp;#039;&amp;#039;&amp;#039;（法线）复选框。程序依据法线计算明暗：没有法线，物体就会以背景光颜色的单一平面填充来绘制，也就是看起来像一个没有立体感的扁平深色剪影。&lt;br /&gt;
&lt;br /&gt;
平滑组（smoothing group）本身不会被读取，但也不需要单独设置：导出插件会把平滑处理的结果写入法线，物体进入场景后会保持与编辑器中相同的平滑或分面效果。&lt;br /&gt;
&lt;br /&gt;
Light Stream 没有背面剔除（backface culling）——面从两侧都可见，因此内外翻转的部件不会消失。但是背向光源的法线会抵消明暗效果：这样的面会明显比周围的面暗。如果导入后模型上出现暗斑，请检查编辑器中法线的方向。&lt;br /&gt;
&lt;br /&gt;
== 固定装置用的线条 ==&lt;br /&gt;
&lt;br /&gt;
写入文件的线条会作为现成的样条（spline）进入场景——可以直接沿着它们放置固定装置（Fixtures），无需手动描边。这是将灯条、灯串和轮廓灯的走线路径带入 Light Stream 最方便的方法：在 3ds Max 中按实际位置用样条画出它们，到程序里只需把它们与映射（mapping）关联即可。&lt;br /&gt;
&lt;br /&gt;
要让线条顺利导入：&lt;br /&gt;
&lt;br /&gt;
* 打开线条导出——在 OBJ 导出设置中勾选 &amp;#039;&amp;#039;&amp;#039;Shapes/Lines&amp;#039;&amp;#039;&amp;#039;（形状/线条）；&lt;br /&gt;
* 将样条转换为具有所需点数的折线：曲线在文件中是按线段记录的，步长越小，进入场景的点就越多；&lt;br /&gt;
* 把各段合并成一条完整的线。文件中的每条线都会成为一个独立的样条，因此由未连接的线段拼成的走线，导入后会变成一堆零散的短样条；&lt;br /&gt;
* 如果样条没有出现，请关闭贴图坐标的导出：有些导出插件也会把贴图坐标写入线条数据中，而这样的线条会被 Light Stream 跳过。&lt;br /&gt;
&lt;br /&gt;
不需要为固定装置单独建一个物体：3ds Max 中的光源根本不会保存到 OBJ 里。如果还想把已经摆放好的灯具带入程序，可以把模型导出为 &amp;lt;code&amp;gt;*.fbx&amp;lt;/code&amp;gt;——从这种格式中，除了物体和样条之外，单个固定装置也能一并导入。&lt;br /&gt;
&lt;br /&gt;
== 材质与贴图 ==&lt;br /&gt;
&lt;br /&gt;
OBJ 会把材质存储在模型旁边的一个单独文件中，而贴图则是另外的图片文件，因此请启用材质导出，并始终把整个模型连同整个文件夹一起转移。&lt;br /&gt;
&lt;br /&gt;
关于材质，需要提前了解：&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;一个物体——一种材质。&amp;#039;&amp;#039;&amp;#039;多组件材质（Multi/Sub-Object）只有其中一部分会被带入。如果一个部件的不同部分需要不同颜色，请按材质把该部件拆分成多个物体。&lt;br /&gt;
* 材质中只会取用基础颜色和基础贴图。透明度、反射、凹凸、自发光以及任何程序化贴图都会被忽略——最好把它们「烘焙」进普通图片，或者干脆不要依赖它们。&lt;br /&gt;
* 贴图应为普通的 JPG、PNG、BMP 或 GIF 图片。请把它们放在模型旁边或子文件夹中：程序会按文件名在相邻文件夹中查找。文件名必须使用拉丁字母。&lt;br /&gt;
* 贴图需要展开图（UV unwrap）。没有展开图的物体，贴图会被拉伸成单一颜色。&lt;br /&gt;
* Light Stream 没有自发光材质。如果某个部件应该看起来是发光的——例如招牌、屏幕、光线——请在导入后，在 &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039;（属性）窗口的 &amp;#039;&amp;#039;&amp;#039;Material&amp;#039;&amp;#039;&amp;#039;（材质）部分为它打开 &amp;#039;&amp;#039;&amp;#039;Glow&amp;#039;&amp;#039;&amp;#039;（发光）复选框。&lt;br /&gt;
&lt;br /&gt;
颜色、贴图和发光效果也完全可以在程序里手动指定，因此对于辅助性几何体，完全可以不在编辑器里设置材质：没有材质的物体导入后会是白色的。&lt;br /&gt;
&lt;br /&gt;
== 模型复杂度 ==&lt;br /&gt;
&lt;br /&gt;
模型会被整体带入项目文件，因此它的体积就是项目的体积、影响打开时间，并且每一帧预览都会占用显卡资源。而且在程序中网格占用的空间比在编辑器中更大：每个面都连同自己的顶点一起存储。&lt;br /&gt;
&lt;br /&gt;
导出前合理的最低限度准备工作：&lt;br /&gt;
&lt;br /&gt;
* 删除物体上看不见的部分：内部结构、背面、隐藏的细节、辅助物体、重复的副本；&lt;br /&gt;
* 去掉预览中看不到的细小部件：螺栓、型材、纹理细节、一毫米的倒角；&lt;br /&gt;
* 减少圆角和管道的分段数——平滑度的代价很高；&lt;br /&gt;
* 在需要的地方保留顶点：&amp;#039;&amp;#039;&amp;#039;Snap to Vertices&amp;#039;&amp;#039;&amp;#039;（吸附到顶点）依赖这些顶点工作，固定装置才能精确落在角点和棱边上。如果一排灯具需要沿平整的墙面排列，请在模型上沿其边缘添加棱边。&lt;br /&gt;
&lt;br /&gt;
== 导出流程 ==&lt;br /&gt;
&lt;br /&gt;
# 在 3ds Max 场景中只保留应带入 Light Stream 的内容：模型本身以及固定装置用的线条。&lt;br /&gt;
# 塌陷修改器，将物体转换为多边形网格，删除隐藏和多余的内容。&lt;br /&gt;
# 检查物体名称：必须存在名称，且必须是拉丁字母。&lt;br /&gt;
# 检查尺寸，并把模型换算到「一个单位——一米」的比例。&lt;br /&gt;
# 将选中的内容导出为 &amp;lt;code&amp;gt;*.obj&amp;lt;/code&amp;gt;。&lt;br /&gt;
# 在导出设置中：&amp;#039;&amp;#039;&amp;#039;Faces&amp;#039;&amp;#039;&amp;#039;（面）——选择 &amp;#039;&amp;#039;&amp;#039;Triangles&amp;#039;&amp;#039;&amp;#039;（三角形）或 &amp;#039;&amp;#039;&amp;#039;Quads&amp;#039;&amp;#039;&amp;#039;（四边形）；&amp;#039;&amp;#039;&amp;#039;Normals&amp;#039;&amp;#039;&amp;#039;（法线）——启用；&amp;#039;&amp;#039;&amp;#039;Texture coordinates&amp;#039;&amp;#039;&amp;#039;（贴图坐标）——如有贴图则启用；&amp;#039;&amp;#039;&amp;#039;Shapes/Lines&amp;#039;&amp;#039;&amp;#039;（形状/线条）——如场景中有固定装置用的线条则启用；&amp;#039;&amp;#039;&amp;#039;Flip YZ-axis&amp;#039;&amp;#039;&amp;#039;——取消勾选；材质导出——启用。&lt;br /&gt;
# 把模型、材质文件和贴图保存到同一个文件夹中，并从那里导入。&lt;br /&gt;
&lt;br /&gt;
导出插件会把结果文件的第一行留给关于自身的服务性记录——如果你要手动编辑文件，请不要删除这一行：导入时不会读取第一行，你放在这个位置的任何内容都会随之丢失。&lt;br /&gt;
&lt;br /&gt;
== 导入后应检查的内容 ==&lt;br /&gt;
&lt;br /&gt;
# 在 &amp;#039;&amp;#039;&amp;#039;3D View&amp;#039;&amp;#039;&amp;#039;（3D视图）窗口中不选中任何物体的情况下按 &amp;#039;&amp;#039;&amp;#039;Z&amp;#039;&amp;#039;&amp;#039; 键——摄像机会把整个场景纳入视野。在旁边创建一个尺寸为 &amp;#039;&amp;#039;&amp;#039;1000&amp;#039;&amp;#039;&amp;#039; × &amp;#039;&amp;#039;&amp;#039;1000&amp;#039;&amp;#039;&amp;#039; × &amp;#039;&amp;#039;&amp;#039;1000&amp;#039;&amp;#039;&amp;#039; 的立方体并进行比较：如果立面旁边的一米立方体看起来确实是一米见方，说明比例正确。&lt;br /&gt;
# 查看 &amp;#039;&amp;#039;&amp;#039;3D Objects&amp;#039;&amp;#039;&amp;#039;（3D对象）列表：所有部件是否齐全，名称是否清晰可读，线条生成的样条是否已导入。&lt;br /&gt;
# 用摄像机环绕模型查看，寻找复杂面处可能出现的破洞，以及法线翻转处可能出现的暗斑。&lt;br /&gt;
# 如果你导出了材质，请确认物体不是白色或灰色的。&lt;br /&gt;
&lt;br /&gt;
凡是对不上的地方，更可靠的做法是在 3ds Max 中修正后重新导入：几何体无法用 Light Stream 自身的工具来修正，而在编辑器中修正好的模型也可以在其他项目中复用。&lt;br /&gt;
&lt;br /&gt;
== 还有哪些内容会有帮助 ==&lt;br /&gt;
&lt;br /&gt;
* 导入过程本身是如何进行的，以及导入后如何处理场景中的模型——参见 [[导入OBJ模型]]。&lt;br /&gt;
* 已导入物体的名称、可见性、锁定和材质——参见 [[3D对象]]。&lt;br /&gt;
* 吸附到顶点以及 &amp;#039;&amp;#039;&amp;#039;3D View&amp;#039;&amp;#039;&amp;#039;（3D视图）窗口的其他按钮——参见 [[3D 工具栏]]。&lt;br /&gt;
* 如何沿已完成的模型放置固定装置——参见 [[添加3D样条]] 和 [[2D 与 3D 的关联]]。&lt;/div&gt;</summary>
		<author><name>LumiBot</name></author>
	</entry>
</feed>