SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质

这篇具有很好参考价值的文章主要介绍了SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

kele

一、使用背景

    在交通,电力,规划等行业中,有的对象常常具有很强的质感,比如金属质感的
钢轨,电力塔;陶瓷材质的绝缘子;玻璃材质的建筑幕墙等,但常规方式的表现效果
往往差强人意。
    游戏引擎(Unity3D)中已有丰富的材质资源库,比如玻璃,金属等材质,这些材质
很多都是 PBR 材质,质感明显,效果逼真。
    如何基于我们提供的游戏引擎插件,将这些材质资源导出,并应用到 SuperMap
iClient3D for Cesium/WebGL 平台上,以提升模型的显示效果。

二、使用Unity制作 PBR 材质

2.1、获取 PBR 材质

    在制作 PBR 材质之前,首先要了解什么是 PBR 材质,它由哪些参数构成?
    PBR 是指能够实现接近物理真实的整个渲染算法或过程。通常 PBR 材质由albedo(基色纹理)、metallic(金属度)、smoothness(粗糙度)、normal(法线纹理)四部分组成。它使得材质拥有了反射,达到接近物理正确的效果。
    在Unity3D中,有两种方式获取 PBR 材质:导入 PBR 材质、制作 PBR 材质

2.1.1、导入PBR 材质

    PBR 材质和整组贴图,国内资源较少,这里推荐几个获取 PBR 材质的地址:

网站名称 网址
Textures www.textures.com
3DTextures www.3DTextures.me
ShareTextures www.sharetextures.com

    下载 PBR 材质有两种方式:
    第一种是下载sbsar文件(SubstanceDesigner软件制作),安装对应插件或者在Unity商店中下载Substance in Unity,即可导入 PBR 材质

  • 下载安装SubstanceDesigner,网址https://zixue.3d66.com/softhtml/downsoft_1242.html

  • unity中unity2018及以上版本需要Appstore中下载安装插件:Substance in Unity

    第二种方式是下载 PBR 材质中的基色纹理和法线纹理,在Unity中去构建材质

SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质
    ①将下载得到的图片拖拽进Unity工程中
    ②在Unity工程Assets/Material中新建材质,将基色纹理拖拽到 ”Albedo“上,将法线纹理拖拽到 ”Normal Map“上

SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质
    ③拖动 ”metallic“和 ”smoothness“改变金属度和粗糙度,达到最终效果

2.1.2、制作 PBR 材质

    法线纹理的作用是模拟模型表面的凹凸,使模型更加真实。在没有法线纹理的情况下,我们仍然可以通过基色纹理制作法线纹理
    ①导入一张基色纹理,点击图片将 ”Texture Type“ 由 ”default“ 改为 ”Normal map“

SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质
    ②点击 “Apply” 得到一张基于基色纹理制作的法线纹理

SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质
    ③新建材质球,将基色纹理和法线纹理拖拽到对应位置(参考2.1.1-②),并设置金属度和粗糙度,完成材质制作

2.2、导出 PBR 材质
2.2.1、安装游戏引擎插件

    新项目打开后,右击 Assets,选择 Import Package> Custom Package,会弹出导入框,选择下载的 SuperMap Hi-Fi 3D SDK for Unity.unitypackage 文件,确定后会进入导入程序。点击 import 进行导入。
    导入成功后,点击 Edit/Project Settings 进入设置界面,在 player 选项卡中,找到“Allow
‘unsafe’ Code”,将其勾选上。
    安装插件的详细操作流程,请参考插件包中的 “pdf帮助文档”

2.2.2、导出材质

    右键制作好的 PBR 材质球,点击【SuperMap】-【导出材质json】

SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质
导出成功后,在目标路径下得到一份json文件以及两张纹理图片

三、其它端使用 PBR 材质

3.1、桌面端使用 PBR 材质

    将模型添加到球面场景,通常其它软件制作的带有贴图的模型,是有纹理坐标的,这一步可以跳过。iDesktop制作的白模没有纹理坐标,是无法贴图的。首先需要通过【三维地理设计】-【材质】-【重新计算纹理坐标】,使模型带上uv纹理坐标,就可以设置材质了
    计算纹理坐标后,点击【材质】,将模型材质类型改为 PBR

SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质
    点击基色、法线前的方框,去选择上面导出的图片

SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质
    点击应用,材质设置就完成了,接下来在场景中将太阳光设置可见,并拖动时间轴,查看模型上的光影变化

SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质

3.2、SuperMap iClient for Cesium/WebGL使用 PBR 材质

    ①将导出的文件拷贝到前端工程中
    ②打开场景,找到模型图层,并设置 PBR 纹理

var promise = scene.open('http://localhost:8090/iserver/services/3D-wall-bulid/rest/realspace');
Cesium.when(promise, function (layers) {
 //找到模型图层
 var wallLayer = scene.layers.find('wall@bulid_3');
 //设置pbr材质
 wallLayer.setPBRMaterialFromJSON("./SampleData/pbr/地砖pbr/New Material 1.json");
});

最终效果

SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质文章来源地址https://www.toymoban.com/news/detail-483279.html

到了这里,关于SuperMap Hi-Fi 3D SDK for Unity制作游戏引擎材质的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SuperMap Hi-Fi 3D SDK for Unity矢量面贴地贴模型

    作者:kele SuperMap Hi-Fi 3D SDK(2023 11i) for Unity推出新功能:支持矢量面同时贴地形图层和模型图层,并且能实现数据点击查询属性、更改初始填充颜色、初始边框线颜色、选中填充颜色、选中边框线颜色、控制显示高度等效果。 SuperMap Hi-Fi 3D SDK(2023 11i) for Unity支持矢量面叠

    2024年02月03日
    浏览(32)
  • SuperMap Hi-Fi 3D SDK for Unreal问题集锦

    ###前言 使用SuperMap Hi-Fi 3D SDK for Unreal,会遇到一些崩溃或者加加载不上等问题,本文档手收集记录一些使用过程总可能会遇到的一些问题并给予相应的解决方案,很多问题新版本已做优化,推荐大家可使用前,可在http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx 地址下载最

    2024年02月06日
    浏览(41)
  • 使用团结引擎开发Unity 3D射击游戏

           本案例是初级案例,意在引导想使用unity的初级开发者能较快的入门,体验unity开发的方便性和简易性能。       本次我们将使用团结引擎进行开发,帮助想体验团结引擎的入门开发者进行较快的环境熟悉。      本游戏是一个俯视角度的射击游戏。主角始终位于屏幕

    2024年01月19日
    浏览(49)
  • 【简单3d网络游戏制作】——基于Unity

    目录 Demo展示 前期知识点准备 1.delegate委托 2.通信协议 3.List容器 4.dictionary容器 5.MethodInfo类 进入创作 c/s通用通信协议: 客户端  1.场景搭建 2.BaseHuman刨析(Sync+Ctrl)         Ctrl脚本         Sync完整代码          BaseHuman完整代码 3.NetManager刨析 4.Main刨析       

    2024年02月05日
    浏览(38)
  • Unity 3D游戏开发+脚本编程完整指南:制作第一个游戏:3D滚球跑酷

    教程相关资源 Unity 3D游戏开发+脚本编程完整指南(工程文件+PPT).zip 本节利用前面的知识来实现第一个较为完整的小游戏,如 图 1-21 所示。 图1-21 3D滚球跑酷游戏完成效果 1. 功能点分析 游戏中的小球会以恒定速度向前移动,而玩家控制着小球 左右移动来躲避跑道中的黄色障

    2024年02月21日
    浏览(38)
  • 使用Unity3D制作2D游戏的重点做法

    官网上有提供一个 2D游戏的教学范例 ,这个游戏只不过把镜头摆放在横向位置跟随角色移动,游戏内物件运动时固定一个轴不动,使他像横轴式的2D游戏来玩,本质上其实还是个3D游戏,所以如果没有3D建模的话不就没办法做2D游戏了?其实这些并没有定论,就看制作者如何运

    2024年02月11日
    浏览(35)
  • 【Unity】3D贪吃蛇游戏制作/WebGL本地测试及项目部署

    本文是Unity3D贪吃蛇游戏从制作到部署的相关细节 项目开源代码:https://github.com/zstar1003/3D_Snake 试玩链接:http://xdxsb.top/Snake_Game_3D 效果预览: 试玩链接中的内容会和该效果图略有不同,后面会详细说明。 经典贪吃蛇游戏:蛇身随着吃食物的增加不断变长,通过A/D或方向键←→

    2024年02月07日
    浏览(31)
  • Unity3D项目之游戏场景小地图制作

    创建一个场景资源,可在asset store资源商店下载,选择心仪场景。 链接:https://assetstore.unity.com/?locale=zh-CN 添加一个对象GameObject,命名为player,子物体包括:主摄像机,角色,后面步骤会添加一个plane。 添加一个地图摄像机,命名为MapCamera。修改属性projection为OrthoGraphic;Size为

    2024年02月11日
    浏览(40)
  • SuperMap iClient3D for Cesium 构建隧道

    作者:kele 前段时间看到一篇构建隧道的文章(https://blog.csdn.net/supermapsupport/article/details/128453116),突然想到一个使用场景:隧道通常是建在山体下面,是否可以通过这种方式构建出一条贯穿山体的隧道,来模拟实际的施工方案?答案是可以,效果图如下: 1、生成隧道模型

    2024年02月01日
    浏览(66)
  • 【Unity3D赛车游戏】【二】如何制作一个真实模拟的汽车

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity游戏demo – 😶‍🌫️版本: Unity2021 😶‍🌫️适合人群:Unity初学者 😶‍🌫️学习目标:3D赛车游戏的基础制作 😶‍🌫️技能掌握

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包