Zh/Destinations/Creating a Destination: Difference between revisions
< Zh | Destinations
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{ | {{lang|title=Destinations:/创建摄影测量的Destination场景|Destinations/Creating a Destination}} | ||
|title = Destinations:/创建摄影测量的Destination场景 | |||
| | |||
}} | |||
= 创建摄影测量的Destination场景 = | = 创建摄影测量的Destination场景 = | ||
Revision as of 20:09, 15 December 2022
创建摄影测量的Destination场景
在本教程中,我们将简略的创建一个摄影测量的Destination场景.
分为三部:
- 拍摄照片
- 通过相片创建3D模型
- Creating a Destination out of the 3D model
- 如果你已经准备了OBJ或者FBX格式的3D模型和场景,可以直接拖入Destination中,你可以跳过这个步骤.
准备工作
- 数码相机
- 可以是单反或者傻瓜式相机.
- 使用智能手机也可以.
- 使用摄影测量软件将图片转换成3D环境,例如:
- RealityCapture (本教程将会使用到这个软件)
- PhotoScan
- Autodesk ReMake
- 3DF Zephyr
- Regard3D (免费, 查看 说明书)
- 3D Modeling software for cleanup and export, for example:
- Destinations创意工坊工具 (免费)
- 你可以使用Destination创意工坊工具制作3D场景并且可以上传到Steam创意工坊。下载完成之后你可以在库>工具里面找到此应用程序.
拍摄照片
拍摄英国教堂摄影机的位置,构建一个复杂的场景需要多角度的照片:
- 当拍摄场景时候,注意表面反射和半透明的物体.这很影响摄影测量结果.
- 多角度的照片非常有利于摄影测量结果.例如,我们在这里展示200张相片,对于更复杂的英国教堂场景,我们甚至拍摄了450多张照片.
- 拍摄的场景比例和VR世界中比例是差不多的.尝试捕捉小的细节,将它在Destination场景里放大.或者相反。
- Adam Foster博客上有详细关于摄影测量的介绍和建议. 点击这里查看.
通过照片创建3D模型
当你有了照片之后,将它们传到电脑上.通过 RealityCapture 和 Maya 来处理照片将他们创建为3D环境.
- 对齐照片
- 定义地平面
- 计算的模型也许会有角度错误,我们需要重新定义下地平面来修复问题.
- 切换到“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:
- 放置玩家出生点
- 当你载入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创意工坊.
- 不要忘了同意创意工坊协议,否则其他人不能看到你的创作.
恭喜!现在其他玩家将可以下载你的项目进行游玩.