Zh/Destinations/Creating a Destination

= 创建摄影测量的Destination场景 =
在本教程中，我们将简略的创建一个摄影测量的Destination场景.
分为三部：
* 拍摄照片
* 通过相片创建3D模型
* Creating a Destination out of the 3D model
** 如果你已经准备了OBJ或者FBX格式的3D模型和场景，可以直接拖入Destination中，你可以跳过这个步骤.
== 准备工作 ==
* 数码相机
** 可以是单反或者傻瓜式相机.
** 使用智能手机也可以.
* 使用摄影测量软件将图片转换成3D环境，例如:
** RealityCapture (本教程将会使用到这个软件)
** PhotoScan 
** Autodesk ReMake 
*** Autodesk ReMake Tutorial 
** 3DF Zephyr
** Regard3D (免费, 查看 )
* 3D Modeling software for cleanup and export, for example:
** Maya 或 Maya LT
** Modo 或 Modo Indie
** Blender (免费)
** MeshLab (免费)
** 值得注意的是，Maya LT 和 Modo Indie导出模型时有三角形数量限制,这将会影响你的摄影测量场景质量.
* Destinations创意工坊工具 (免费)
** 你可以使用Destination创意工坊工具制作3D场景并且可以上传到Steam创意工坊。下载完成之后你可以在库>工具里面找到此应用程序.
== 拍摄照片 ==
拍摄英国教堂摄影机的位置，构建一个复杂的场景需要多角度的照片：
* 当拍摄场景时候，注意表面反射和半透明的物体.这很影响摄影测量结果.
* 多角度的照片非常有利于摄影测量结果.例如，我们在这里展示200张相片，对于更复杂的英国教堂场景，我们甚至拍摄了450多张照片.
* 拍摄的场景比例和VR世界中比例是差不多的.尝试捕捉小的细节，将它在Destination场景里放大.或者相反。
* Adam Foster博客上有详细关于摄影测量的介绍和建议. 点击这里查看.
== 通过照片创建3D模型 ==
当你有了照片之后，将它们传到电脑上.通过 RealityCapture 和 Maya 来处理照片将他们创建为3D环境.
* 对齐照片
** 打开RealityCapture.
** 查看2D面板 - 从资源管理器面板选择并拖动你的照片.
** 点击UI顶部的开始按钮.
** 然后会从照片位置计算对齐 - 处理需要花一些时间，这取决于照片数量.
** 更多有关如何使用realitycapture的信息， 点击这里.他们还发布了新手界面教程 点击这里.
* 定义地平面
** 计算的模型也许会有角度错误，我们需要重新定义下地平面来修复问题.
** 切换到“Reconstruction”点击“Define Ground Plane”.
** 点击拖动带有颜色的环，旋转模型.它会随着球体的轴向旋转.
** 尽可能的使模型接近底面网格.
* 设置重建区域
** RealityCapture会计算出很多多余的环境内容，这些内容在 Destination 中是多余的 - 应该手动调整重构区域.
** 点击Set Reconstruction Region（设置重构区域）
** 你需要点击三次来设置一个区域 - 现在地面拉出一个矩形，然后拉高.
** 确保你想要的模型在矩形框内.
** 拖动顶点来调整大小，拖动中心条来移动重建区域.
* 计算和着色模型
** 一旦确定了构建区域，模型需要运算生成.
** 切换到Workflow标签，点击Calculate Model（计算模型）.
** 模型计算后，点击Colorize （着色） - 将会对顶点着色.
* 优化
** VR在高端机器上最佳呈现约300万三角面.50万到100万个三角面已经是高品质场景了，2--3百万是很复杂的场景了.三角面越少意味着加载速度越快.
** 点击顶部Simplify（优化）按钮 - 优化面板显示在左下角.
** 在"Target triangles count" 输入三角面数量，开始优化.
* Unwrap
** 计算模型材质的位置.
** 切换到顶部的Reconstruction标签.
** 点击Unwrap - 工具面板在左下角显示.
** 选择8K最大材质分辨率.
** 自动生成UV map.（通过模型材质）
* 创建材质
** 切换到Workflow标签，点击Texture.
** 从UV创建图片文件（材质）.
* 导出网格
** 现在准备导出3D环境。
** 点击顶部的"Mesh"。
** 在导出模型对话框中，Compression栏选择JPG.
** 点击确定.会创建OBJ、JPG和MTL文件.
== 准备Destinations模型(可选) ==
花费一点时间，通过3D模型软件导出模型.
* 使用3D模型软件处理模型
** 在3D模型软件里面重新定位下你的模型.
** 可以使用很多3D模型软件来完成此步骤,(推荐blender 免费软件).在本教程中，我们使用Maya.
** 打开Maya，拖入你的3D环境.你可以使用OBJ导入，或者文件>导入.
** 默认你的模型没有纹理,按快捷键"6"可以展示 - 效果并不会出现在Destinations之中.
** 在Maya中按快捷键"E"旋转模型.
** 可能会有多余的面，你可以删除它.按住鼠标右键，选择"Faces"选项，然后释放右键.
** 点击或者框选面，按"Delete"键删除.
** 完成后保存你的模型.
** 现在可以开始创建你的Destination场景了.
== 通过Destinations创意工坊工具创建场景 ==
现在你有了一个处理好的文件.可以通过Source2或者Destination创意工坊工具创建场景了.你将会学到如何导入模型，设置玩家出生点，放置传送区域和提交你的Destination场景Steam创意工坊.
* 创建Destination项目
** 打开Destinations创意工坊工具
** 点击“Create Empty Addon”（创建空的项目）然后命名（这将在你创意工坊文件路径中使用）.
*** Destination项目和Dota2自定义游戏很相似。项目包括地图，模型，材质，Panorama UI文件，Lua脚本等——这些是项目的必须要求.
** 选择你的项目，点击“Launch Tools.”开始运行Destinations工具模式.
* 导入模型到模型编辑器
** 首先你需要从资源管理器中找到你的模型.
** 在资源管理器里面点击模型编辑器按钮.
** 点击"New VMDL from Mesh file"，然后找到模型，选择OBJ创建（Destinations能够支持OBJ或者FBX格式的模型）
** 当询问你是否创建一个新内容时候，点击确定.
** 在对话窗口中，按“…”按钮选择你Destination目录.
*** 创建一个你想要的文件夹（例如你的destination名称）.
*** 操作结束后，结果应该类似".../steamtours_addons/popcorn/models/popcorn".
** 在"Collision type" （碰撞类型）下拉，选择"Collision using exact geometry"（使用精确几何网格）.
** 在"shader" （着色器）栏下拉选择"vr_unlit".从摄影测量导入的模型已经带有光源信息，我们无需在加入光照信息.
** 关于OBJ导入，Source引擎有自己的轴系统,如果你从Reality Capture导入模型，选择Z轴朝上(Valve).
** 其他的默认就可以了.
** 点击确定，可能导入需要一段时间，这取决与模型的复杂性.
* 在材质编辑器里调整材质
** 你的模型现在应该在模型编辑器中出现，双击左面板的材质.
*** 在材质编辑器中，勾上“Do Not Cast Shadows” ，取消掉阴影.摄影测量已经光照信息了，所以不需要在加入额外阴影.
*** 如果你的模型受到了其他物体阴影干扰，勾上"Receive Unlit Shadows".
***按Ctrl+S保存并关闭窗口.
* 拖入模型进入Hammer
** Hammer 是维尔福公司的关卡编辑器。这是在发布前进行所有工作的编辑工具.
** 在资源管理器（Asset Browser）界面，点击左上方的Hammer工具.
** 在Hammer工具中，使用Ctrl+N（或者File > New File）创建一个新地图.
** 从资源管理器（Asset Browser）中找到你的模型（你可以使用搜索）.
** 找到它后将模型拖入进Hammer工具.
** 你的模型拖入进来时候或许非常小，你需要调整下比例.使用缩放工具（E）可以调整大小.或者在属性框里面的比例输入大小.这里我们使用100大小.
** 更多关于Hammer使用的信息，你可以参考开发者wiki:
***Hammer Navigation
***Hammer Documentation
* 放置玩家出生点
** 当你载入Destination场景时这将是玩家的出生点.
** 选择最左边工具栏里面的实体工具（Entity tool）（灯泡图标）.
** 确认下实体是不是“info_player_start”（应该是默认的）.
** 点击地图放置玩家出生点.
** 你可以使用移动（快捷键T）和旋转工具（快捷键R）来设置出生点的位置.
* 放置传送区域
** 传送区域决定了玩家可以传送的范围.传送类型有两种 - 网格和标记.
* 放置传送网格
** 传送网格是你设置的一个广阔平坦的区域，它将限制玩家的传送范围.
** 选择多边形工具（Polygon tool）.
** 点击顶点画出你想要的传送区域.按 Enter键完成.
** 你可能需要移动（T）和缩放（E）来调整多边形区域.确保传送网格高于地表，防止出现叠影现象（Z-fighting）.
** 搜索框中搜索“teleport”（传送），找到teleport_area_visible.vmat，将它覆盖在多边形网格上.
*** 点击并且拖动材质到多边形网格上.
*** 选择多边形，你能在右边看到选项面板.
**** 如果你没看到选项，确保网格在最上方被选中.
**** 如果传送网格很复杂不是简单的矩形，在Object Properties中的"Physics Type"（物理类型）选择 "Mesh" （网格）属性，这可以使传送正确附着在网格上.
*** 点击“Tie Selected Meshes to Entity”（转换成网格实体）.
*** 类型选择vr_teleport_area into the field 并点击确定.这可以给网格附上传送区域限制的属性.
*** 如果你的传送区域并非平面，应当确保你的Object Properties中的"Physics Type"（物理类型）转换成"Mesh"网格.
* 放置传送标记
** 传送标记是应对不规则区域或者景点传送非常好的选择.
** 选择实体工具（灯泡图标）.
** 实体类型选择vr_teleport_marker.
** 放置传送标记非常简单，和放置模型一样，它可以被拖动放置.
* 添加天空
** 如果没有天空，那么背景完全是黑色的.
** 我们在Destinations创意工坊中有默认的天空球.
** 在模型面板中找到天空球类型.
** 拖动天空球模型到你的环境之中.
** 天空球非常的大 - 将它移动到场景的中心.
* 测试Destination场景
** 按F9进行编译测试。选择"Full Compile"选项.
** 点击"Build".如果你没有保存，将会提示你保存你的地图.地图名字不是很重要，只要你项目名称就可以了.
** 编译完成后能够在VR中测试你的Destination场景.
** 继续在Destination场景中添加编辑模型、环境以及光照，直到你认为可以提交到创意工坊为止.
* 提交到Steam创意工坊
** 一旦你满意你的作品，回到资源管理器（Asset Browser）界面，点击Workshop Manager按钮.
** 点击"+"图标，选择File（文件）>New Submission（新的提交）.
** 填写描述并选择一个封面作为Destination的预览.可以选择屏幕截图作为封面缩略图预览.
** 最后，点击“Submit”（提交）上传你的Destination项目至Steam创意工坊.需要等待一会儿，取决于文件大小.
* 现在你的项目会展示在Destination创意工坊. 
** 不要忘了同意创意工坊协议，否则其他人不能看到你的创作.
恭喜！现在其他玩家将可以下载你的项目进行游玩.
Category:M.Reak汉化