1.首先
1-1. 今天要做什么
讲师解释如何下载 PLATEAU 数据和转换文件。
使用 PLATEAU 数据亲身体验 Unity,
最后,我们将数据上传到集群。
(参考)讲师的电脑规格
- CPU:英特尔酷睿 i7-11800H
- 内存:32GB
- GPU:NVIDIA GeForce RTX3070
*这是 Unity 通过 ZOOM 屏幕共享顺利移动的规范。
即使你没有这么远,我认为你可以使用 8GB 的 RAM。
1-2. 预先准备的确认
- 从 3D 城市模型 CityGML 转换为 FBX 格式的文件(松山市)
- 安装 Unity 2021.3.4f1
- Unity 资源下载(Unity-chan、Fireworks)
- 集群帐户创建
2.数据采集/转换(仅说明)
2-1. 下载 PLATEAU 3D 城市模型
访问“G空间信息中心”
https://www.geospatial.jp/ckan/dataset/plateau
下载您要使用的城市的 3D 城市模型(CityGML 或 FBX)。
在本次实践中,我们将使用松山市模型。
*另外,东京和札幌有FBX文件,所以不需要这种转换工作。
详情 > 下载
zip 文件已下载。
解压后是这个样子的。
2-2. 数据转换
下载的 CityGML 文件无法在 Unity 中使用,请按照以下步骤转换数据。
*如果您从东京等下载了 FBX 或 OBJ,则不需要进行数据转换。
2-2-1. 更新 3D 城市模型(CityGML 格式)中描述的 URL
由于 3D 城市模型 (CityGML) 中描述的 URL 在 2021 年 9 月发生了变化,因此需要在编辑器中进行更正。
方法是3D城市模型数据转换手册写在
“请将 3D 城市模型文件中命名空间和 schemaLocation 中描述的旧 URL 更新为新 URL。”
换句话说,使用 Visual Studio 等文本编辑器打开 CityGML 文件,并将脚本中的字符串替换为新的 URL。
修正前后的网址是3D城市模型数据转换手册写在
这是在 Visual Studio Code 中的操作方法
启动VSCode,点击菜单中的【文件】→【打开文件夹】,选择合适的文件夹,打开。
此实践的适用文件夹是 [udx]。
* 如果窗口崩溃,将其分割成更小的部分或只转换相应的文件
(例一)两步转换 udx > bldg 和 udx > dem
(示例 2)仅相关文件(在本次实践中,udx > bldg > 50326610_bldg_6697_op.gml 和 udx > dem > 50326610_dem_6697_op.gml)
文件夹中的文件列在左侧。
只需按下下面的命令。
Windows:Control + Shift + H
Mac:Command + Shift + H(未验证)
现在您将能够一次搜索和替换所有打开的文件。3D城市模型数据转换手册输入指定的 URL。
输入新旧网址后,点击“全部替换”按钮
将之前所有的 URL 转换完成后,URL 修正工作就完成了。
*如果窗口崩溃,只转换对应的文件
2-2-2. 将 3D 城市模型(CityGML 格式)转换为 FBX 文件
准备以下两个
- (1) FME 桌面
- (2) 3D城市模型数据转换脚本
(1) FME 桌面
使用名为 FME Desktop 的软件转换 CityGML(3D 城市模型)数据。
如果您仅申请家庭使用/非商业用途,则可以免费使用 FME。
您可以通过以下 URL 的表格申请。
https://www.safe.com/free-fme-licenses/home-use/
(2) 3D城市模型数据转换脚本
您可以从“3D 城市模型数据转换手册”中获得它。
→https://github.com/Project-PLATEAU/Data-Conversion-Manual-for-3D-City-Model
代码 > 下载 ZIP
解压缩 ZIP 文件
有许多可用于 FME 的脚本。
从这里开始,让我们按照官方网站上的手册中的步骤进行操作。
要使用的脚本是 citygml2fbx.fmwt。
松山市的 3D 城市模型 (CityGML) 有大约 600 个土地和建筑物。 在本次实践中,我们将使用松山市中心以下位置的 3D 城市模型。
无论你身在何处,但既然是亲力亲为,每个人都会团结一致。
就数字“50326610”而言
这个蓝色正方形称为三阶网格,边长为 1 公里。
“3D城市模型数据转换手册”(链接PDF之一)
https://www.mlit.go.jp/plateau/libraries/
按照说明书,
转换成功!
我想,
这个例子是 lod2.fbx 247MB,这是一个很大的容量,尽管数据在最低单位范围内。
如果您使用 merge_bldg_surface.fmwt,它将转换为尺寸明显小于前一个的 FBX。
对这个
《3D城市模型数据转换手册》
请参见 P54“2.5 合并建筑数据表面 (OBJ/FBX)”。
与松山市的 lod2 相同的 3D 城市模型 CityGML 被转换为 model.fbm 文件夹和 model.fbx。
对于 lod2.fbx 247MB,
model.fbx 是 25MB,大约是大小的 1/10。
3. 玩 Unity
我真的会把我的手从这里移开
3-1. 开放统一
3-1-1. 开放统一
打开 Unity 中心
点击“新建项目”
(1) 所有模板
(2) Editor version 2021.3.4f1(集群兼容版)
(3) 3D
(4) 项目名称、存放地点
打开
如果您收到这样的弹出窗口,请跳过它。
如果和我的布局不一样,
将布局设置为默认值。
点击下图中的“场景”选项卡
在这里创建一个虚拟空间。
3-1-2. 各窗口的说明
-
层次结构窗口
场景中所有对象的分层显示 -
场景视图
编辑画面 -
检查器窗口
查看/编辑所选对象的内容 -
项目窗口
查看整个项目中的所有对象、脚本等
3-2。将 3D 模型放入 Unity
3-2-1. 在 Unity 中放置 3D 模型
将预先准备好的FBX文件和model.fbm文件夹拖放到Unity工程中。 (1-2 分钟)
将 FBX 文件拖放到场景中
这是因为 3D 模型已放置在离原点较远的位置,尽管它在屏幕上似乎没有变化。
3D城市模型CityGML是在基于经纬度的地理坐标系中定义的,即沿地球的球坐标系,但在FBX文件中,转换为平面直角坐标系,常用于测绘,建筑和土木工程图纸。因为
关于 PLATEAU 坐标系,在 2022 年 2022 年 7 月 20 日举行的 PLATEAU AWARD 简报会上的技术解释非常容易理解。
请参考此视频。
https://youtu.be/EBnB83Vva5w?t=1806
现在将 3D 模型移向相机。
选择 Hierarchy 3D 模型 (dem, lod1, model),
游戏对象 > 移动到视图
或 Ctrl + Alt + F
3D 模型移动到相机的位置。
lod2 建筑物 (model.fbx) 在放大时会自动纹理化。
3-2-2. Unity画面操作练习
使用鼠标。
没有鼠标是不可能的。
- 旋转视图:鼠标右键拖动
- 视点平行移动:鼠标中键拖动
- 查看缩放:鼠标滚轮
- 使透视适合对象:在层次结构中双击对象
用一分钟,适当地练习操作,如下面的视频所示。
— 达也 (@tatsuya1970)2022 年 8 月 31 日
3-2-3. 调整
如果建筑物的高度和地形不匹配
如下图所示,对齐dem、lod1和model(lod2)的Y位置。
以这个速度,如果化身被放置,地面会通过,所以在地面上添加一个碰撞器。在层次结构中选择 dem
在检查器中单击添加组件在搜索窗口中输入“Mesh”,
从搜索结果中选择“Mesh Collidar”Mesh Collider 被添加到 Inspector。
3-3. 巨人团结酱出现
*这篇文章是Unity-Chan 许可条款根据提供的
© Unity Technologies 日本/UCL提前准备Unity-chan 资产下载和导入。
窗口 > 包管理器
(1) 我的资产
(2) Unity-Chan! 模型
(3) 下载后,导入
会出现这样的画面。
点击导入实际上,我将只选择我需要的内容,但现在,我将全部导入。
项目 > 资产 > UnityChan! > UnityChan!Model > Prefabs > for Locomotion
在场景中拖动 unitychan_dynamic。
此外,Unity-chan看起来超级巨大,但基本身高约为150厘米。
3D 模型在 FBX 中转换为大约 1/100。调整下方的 Inspector
我的数字供参考
(1) Unity-chan 的尺寸(有你喜欢的数字)
(2) 取消选中 Spring Manager
(3) Unity-chan 在检查 Rigidbody's Constraints 后行为稳定如上图所示
(4)随心所欲调整速度等数值调整相机位置
按下播放按钮。
它将在游戏窗口中播放。
您可以使用箭头按钮操作 Unity-chan。
其他操作方式请看游戏场景右上方的UI。
现在让我们回到编辑。
要返回编辑,请再次按“PLAY”按钮。
请注意,您在 PLAY 期间编辑的内容不会在 PLAY 完成后反映。
接下来,让 Unity-chan 跟随相机。
为了这个目的。取消选中 MainCamera 和
将 Unity-chan 相机拖放到 Hierarchy 中的 Unity-chan好的,如果发生这种情况
现在,当您按下 PLAY 按钮时, 摄像机将跟随在 Unity-chan 后面。我在松山市和巨人Unity-chan一起玩。皮c。山雀河这个 m/F D4 E M2S0
— 达也 (@tatsuya1970)2022 年 7 月 23 日由于它穿过建筑物,因此在建筑物上附加一个对撞机。
选择所有建筑对象 (lod1, model (lod2)) 并在 Inspector 中添加 Component > Box Collidar
* Mesh Collidar 更准确,但是负载高,所以选择了 Box Collidar。
讲师笔记(开始 45 分钟)
就这样。
3-4. 烟花
7月30日,笔者使用吴市的3D城市模型举办了虚拟烟花汇演。
#虚拟吴烟花大会举办中(至24:00)
— 达也 (@tatsuya1970)2022 年 7 月 30 日
请来拜访我们! !
我们将在 3x 视频(1 分半钟)中告诉您亮点。#簇 https://t.co/lyXGu6aE42 皮c。山雀河Kom/Yunzam3FX提前准备烟花资产进口
*此资产与虚拟吴烟花节不同。窗口 > 包管理器
(1) 我的资产
(2) 烟花
(3) 下载后,导入
会出现这样的画面。
点击导入实际上,我将只选择我需要的内容,但现在,我将全部导入。
项目 > 资产 > 烟花 > 电池 > 预制件 > 电池
将位于场景中的电池拖到您希望烟花燃放的位置。
使用 Inspector 调整下方烟花的大小
高度约为-250至-200
播放按钮!
像这样
如果您在 PLATEAU 的松山市添加烟花资源https://t.co/VYgXfXziV8 皮c。山雀河这 m/463SYkt x
— 达也 (@tatsuya1970)2022 年 7 月 23 日3-5. 巨人团结酱城镇破坏
顺便说一句,如果选择所有建筑物(lod1,模型(lod2)),在Inspector中添加一个刚体,并选中Use Gravity,
Unity-chan摧毁了哥斯拉等城市。
我本来打算做点别的,但这是偶然发生的。
— 达也 (@tatsuya1970)2022 年 7 月 18 日
Unity-chan摧毁了一座真正的日本城市。嗯,在哪里?#高原 皮c。山雀河康/伊万 g1ZXS
顺便说一句,如果您取消选中使用重力,城市将被人类无法理解的力量摧毁。我在玩 Unity 时偶然发现了这个。
— 达也 (@tatsuya1970)2022 年 10 月 5 日
一座被人类无法理解的力量摧毁的城市。#高原 皮c。山雀河这个 m/jo Y2 jon zys
4.集群支持
首先,删除 Unity-chan 和烟花资源。
对于之前摧毁Unity-chan城镇的人,请删除建筑物的刚体(lod1,模型)。
在本章中,我参考了集群的官方网站。
4-1.Cluster Creator 套件
编辑 > 项目设置
从窗口左侧选项卡中选择“Package Manager”,如下所示将其添加到“Scoped Registries”中,然后单击“Save”。
名称:集群
网址:https://registry.npmjs.com
范围:mu.cluster
好的,在这里关闭。
窗口 > 包管理器
从窗口顶部的下拉列表中选择“我的注册表”。
从显示的列表中选择 Cluster, Inc. > Cluster Creator Kit,然后按安装按钮。
如果在 Unity 菜单中添加了“Cluster”项,那么 Creator Kit 的介绍就完成了。
4-2. 设置
4-2-1. 3D模型的位置和大小
在层次结构窗口中,创建一个空对象。
加号 > 创建空
一个新的 GameObject 将出现在 Hierarchy 窗口中。
改名为“松山”,方便以后识别
在选择 dem 、 lod1 、 model (lod2) 的同时,将其拖放到之前创建的“Matsuyama”对象上
它看起来像这样。
Matsuya 称为父对象,dem、lod1 和 model 称为子对象。将松山定位到 0,0,0
将比例设置为 15。
*将比例设置为 100 以使其全尺寸。
由于地面和建筑物的高度略有不同,在选择 dem、lod1 和模型时,将 Inspector 中的 Y 设置为零。
下一个
进行最低必要设置以上传到集群。
- SpawnPoint(玩家出生点)
- 消失高度
- 对撞机(可碰撞对象)
4-2-2.出生点
设置玩家出生点。
在层次结构窗口中,创建一个空对象。
加号 > 创建空
一个新的 GameObject 将出现在 Hierarchy 窗口中。
将名称更改为“Spawn”,以便以后识别
在检查器窗口中,
(1) 添加组件
(2) 按出生点搜索
(3) 选择生成点在 Inspector 窗口中添加了一个新组件 [Spawn Point (Script)],
一个绿色球体出现在场景视图中。用鼠标将此绿色球体移动到您希望第一个访问者出现在世界上的位置。
(细红线的方向是前面)
4-2-3. 消失高度
设置玩家消失的高度。
在层次结构窗口中,创建一个空对象。
加号 > 创建空一个新的 GameObject 将出现在 Hierarchy 窗口中。
更名为“消失”
在检查器窗口中,
(1) 添加组件
(2) 按despawn搜索
(3) 选择消失高度
当玩家跌落到这个黄色楼层时,他们会回到起始位置。
使这个黄色高度 (Y) 低于 dem。4-2-4. 删除摄像机
请删除层次结构中的主摄像机。
(对于集群)
4-3.播放
现在您已准备好上传到您的集群。
上传前检查行为。
按“播放”按钮。
在 Play 中检查并修复您不喜欢的内容。
4-4.上传到集群
首先,将此图像下载到您的桌面。
(以后会用到)
4-4-1. 设置
编辑 > 项目设置
设置如下。
播放器 > 其他设置 > 渲染 > 色彩空间
的
设置为线性
出现此消息时,单击“更改为线性”
在我的电脑上处理需要几分钟。
完成后您可以在此处关闭。
4-4-2. 上传
集群 > 世界上传
这是第一次使用的用户的屏幕
新闻发布网络令牌
集群启动,
“创建令牌”复制令牌
和上面一样贴在这里。
创建新的
・选择一张图片(暂时是你刚刚下载的图片)
・输入世界名称和世界描述
・“上传为〇〇”几分钟后,如果你看到这样的屏幕,你就可以走了。
按“进入世界”进入世界。
“发射集群”
在上一个屏幕上,
单击发布以使其对全世界可用。
这是真实的出版世界。
5.奖金
上传到 VRChat 时
- 操作系统:Windows(不是 Mac)
- Unity 版本:2019.4.31f1。
就这样。
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308628997.html