智慧城市美术效果Unity实现笔记流程

这篇具有很好参考价值的文章主要介绍了智慧城市美术效果Unity实现笔记流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 智慧城市美术效果Unity实现笔记流程:

参考 对标 效果图:

        参考资料:

                方案一:

                        Blender GIS 获取城市 房屋道路等数据

                        安装BlenderGIS插件

                        落叶大师智慧城市效果解析

               方案二:

                        CityEngine2022地块生成

                     

                        

        写实类-参考图:

(以上均为网络搜索效果,有落叶大师,以及其他优秀开发者效果图参考)

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

        未来类-参考图:

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

如上图所示,智慧城市基本分为 这两个大类,偏写实风,偏未来风,也有互相结合的效果。

一、实现思路大纲:

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

二、实操环节(方案1):

1、软件准备/环境配置:
        1)、Blender软件安装:

                软件官方下载地址/使用文档教程:Blender 3.5 参考手册 — Blender Manual

        2)、为Blender安装GIS插件:

                Blender-GIS插件下载地址:                 

                                https://github.com/domlysz/BlenderGIS

                Blender-GIS的安装参考视频:

                                iBlender中文版插件GIS 教程Blender GIS 插件Blender_哔哩哔哩_bilibili

                这里我在安装过程中遇到了,缺少imageIO模组的问题 : "No imageIO module"。也就是点击BaseMap之后,打印窗口提示错误信息,所以翻阅了Domlysz为这个工具开启的BlenderGIS问题反馈页,发现是安装插件后,因缺少.dll的文件引起的。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

缺少的.dll文件,可以在这里下载。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

                (我是吧所有文件夹都下载下来了,防止因为缺少内容继续报错)。

                下载后,需要复制到指定位置下,通常在这个位置下:

替换位置:

C:\Users\你的用户名\AppData\Roaming\BlenderFoundation\Blender\3.5\scripts\addons\BlenderGIS-master\core\lib\imageio\resources\freeimage

将压缩包解压后,找到freeimage的文件夹,整体复制后,替换掉原有文件夹即可。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

如果中间没有 某个文件夹结构的话,自己新建一个即可。

2、获取GIS城市数据:
         1)、注册OpenTopographyAPIKey:

                进入网站后根据提示,进行注册即可,注意,这个网站在注册过程中,需要注意IP地址,开始的时候我在电脑的IP下进行注册,区域是大陆IP,邮箱收不到验证码,后来换成在手机上选择非大陆地区的科学入网后,收到了验证码。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

           复制API Key 到 下图 API key 文本框 中。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

2)、选择GIS下载区域:

        在上述内容配置好后,重启Blender,并开启科学入网后,点击Basemap按钮,进行地图获取。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

        单机后,会出现以下窗口,红框框选部分OSM,Bing,Esri经测试,是可用状态,Google选项,不知为何,始终是加载不出来任何数据的。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

        这里我们确定,选择Esri的地图数据,会出现下图界面。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

        快捷键G 获取地图位置,用拼音即可搜索,这里精度小一些设为12。

        智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

        定位到指定位置后,需要注意窗口范围不要过大,否则是无法工作的,会报数据太大的错,所以尽量控制城市区域范围。        

        快捷键E 裁切可视区域 ,裁切后,会发现GIS按钮重新出现了,开始进行下一步,生成,建筑,河流,公路等提供数据的内容。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

        点击Get OMS按钮,开始下载载入上述数据。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

按住Shift + 鼠标左键,进行 填入数据加选。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

单击确定后,开始载入 数据,数据量根据每个地区所选不同,完整度也所不同,加载速度也不一样。

        这里以北京城区数据为例,数据相对丰富。 

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

3)、设置地形高度:

        点击选择地形对象,Get elevation获取地形高度。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

这里选择第三个选项,其他选项经测试,没有明显效果。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

确定后,根据真实地理情况,会生成地面的高度。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

3、非主区域/道路建筑贴图:
        1)、建筑贴图指定:

                1、环境天空贴图:

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

选择一个全景图。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

                 

        选择全景图之后,在切换渲染模式为 视图着色模式, 就可以看到 天空盒了。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

       

                2、白膜建筑贴图:

 选择面:

 1、编辑模式下,选择建筑白膜,并在 选择 >>选择相似>>法向按钮,点击后会全选所有白模 建筑。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

这个时候  Ctrl + i  进行反选,因为选中白模中墙面的面,才是主要目的,因为我们要对墙面 添加材质和贴图。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

创建材质,并赋贴图:

1、打开 材质编辑窗口:并新建一个材质球,为材质球命名。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

打开材质编辑窗口,为材质添加一个贴图。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

选择一张 建筑外立面的无缝贴图。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

选择UV分布方式:为  块面投影  并设置 UV 大小,这里设为15的精度。

(数小UV越大,数大UV越小) 这里实际可以小一些,因为要进unity中可以修改Telline的参数修改。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

但是这个时候我们发现,全部的楼都是一个贴图,看起来很别扭,那么Blender中可以通过面来随机选择一些对象,分别指定材质,进行不同楼不同材质的区分。

再次创建一个材质,并赋予其他楼层外立面贴图。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

新建好几个不同建筑外立面材质后,按上面操作,指定不同贴图。 

选择>>随机选择 建筑外立面:随机选中个数,这里设为0.002.

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

为选中部分模型,指定不同 外立面贴图。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

     智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记
            Shift+H可以孤立显示,配合材质替换多种建筑贴图。
    2)、道路生成+贴图指定:

        因道路数据原本就是线段,并不是模型,所以,需要先根据线,生成道路。

        注意先切换为对象模式快捷键 TAB.

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

   创建道路横截面:

        Shift + A  : 创建  曲线 >> Nurbs 曲线。 

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

查看所选(快速定位) 快捷键  ` 

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

编辑模式下快捷键V(设置控制柄类型) 切换为>> 矢量.

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

选中大纲视图中,选择heightway,然后 快捷键 鼠标右键转换到>>曲线。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

这时,工具栏会出现智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记这个图标,选中highway,后,为几何数据下,对象中,指定曲线

这样的话,就有了宽度。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

选中曲线在物体属性面板中,找到缩放X,并调节参数,会发现 道路变宽了

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记


为道路添加贴图:

        选择曲线,新建一个材质球,并命名,为道路寻找一张 如下图类似的公路贴图。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

指定后,选择highway,为路面添加材质贴图。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

为路面指定材质。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

这个时候就可以看到路面被赋予了公路的贴图。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

当然这里可以看到 贴图有拉伸,可以在这个窗口来修改UV拉伸状况。

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记

可以明显看到中间的差别。

3)、Blender中的操作基本完成,选择需要导出的对象,进行导出,导出FBX或其他unity识别的3D文件,即可。

                那么以上,就是Blender中全部的处理内容,接下来,选中需要导出的网格模型,导出FBX即可导入到Unity中,开始在Unity中处理效果。

4、Unity中为不同内容类型添加shader:
        1)、非主区域shader使用:

智慧城市美术效果Unity实现笔记流程,Unity c#学习,环境艺术家,智慧城市,unity,笔记文章来源地址https://www.toymoban.com/news/detail-644437.html

       
Shader "Unlit/Sc02_BuildSF"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
        _EmisTex("EmisTex",2D)="white"{}
        [HDR]_EmisCol("RGB:自发光色彩 A:强度",Color) = (1,1,1,1)
        _Cutout("透贴",Range(0,1))=0.5
    }
    SubShader
    {
        Tags { 
             "Queue"="Transparent"
             "RenderType"="Transparent" 
 
             }
        LOD 100
         //---------------主贴图------------------
        Pass {
            Name "FORWARD"
            Tags {
                "LightMode"="ForwardBase"
            }
 
            Blend One OneMinusSrcAlpha
 
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #pragma multi_compile_instancing
            #include "UnityCG.cginc"
            #pragma multi_compile_fwdbase_fullshadows
            #pragma target 3.0
            UNITY_INSTANCING_BUFFER_START( Props )
               // UNITY_DEFINE_INSTANCED_PROP( float4, _Color)
            UNITY_INSTANCING_BUFFER_END( Props )
            
            uniform sampler2D _MainTex;uniform float4 _MainTex_ST;
            uniform sampler2D _EmisTex;uniform float4 _EmisTex_ST;
            uniform float4 _EmisCol;
            uniform float _Cutout;
            //输入结构
            struct VertexInput
            {
                float4 vertex : POSITION;
                float2 uv0 : TEXCOORD0;
                float2 uv1 : TEXCOORD1;
            };
            //顶点输出结构
            struct VertexOutput 
            {
                float4 pos : SV_POSITION;
                float2 uv0 : TEXCOORD0;
                float2 uv1 : TEXCOORD1;
            };
            //输出结构>>>顶点shader>>>输出结构
            VertexOutput vert (VertexInput v) 
            {
                VertexOutput o = (VertexOutput)0;
                o.pos = UnityObjectToClipPos(v.vertex);
                o.uv0 = TRANSFORM_TEX (v.uv0,_MainTex);
                o.uv1 = TRANSFORM_TEX (v.uv1,_EmisTex);
                return o ;
            }
            //色彩输出结构
            float4 frag(VertexOutput i) : COLOR 
            {
                float4 var_mainTex = tex2D(_MainTex,i.uv0);
                float4 var_emisTex = tex2D(_EmisTex,i.uv1);
                float4 emisTexCol = var_emisTex * _EmisCol;
                float opacity = var_mainTex.a * _Cutout;
                float3 finalRGB = var_mainTex * emisTexCol * opacity;
                return float4(finalRGB,opacity);//输出最终颜色
            }
            ENDCG
        }

    }
}
2)、道路区域Shader使用:
        3)、主要建筑Shader使用:

三、实操环节(方案2):

到了这里,关于智慧城市美术效果Unity实现笔记流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 智慧城市与数字孪生:实现城市可持续发展的关键

    随着全球城市化进程的加速,城市面临着诸多挑战,如资源紧张、环境恶化、交通拥堵等。为了解决这些问题,智慧城市的概念应运而生。智慧城市利用先进的信息通信技术,提升城市治理水平,改善市民的生活质量。而数字孪生作为智慧城市的核心技术,为实现城市的可持

    2024年02月21日
    浏览(92)
  • VR智慧城市:实现城市智能化发展,激发经济更大活力

    随着城市化进程加快,各地城市也面临着诸多问题,例如交通拥堵、环境污染、资源不平衡等。伴随着VR全景技术的不断发展,以及智慧城市的进一步推进,VR智慧城市这一概念逐步应用落地,通过数字技术的应用,实现城市智能化管理。 现阶段,城市经济开始逐步恢复,为

    2024年02月15日
    浏览(49)
  • 智慧城市能实现嘛?数字孪生又在其中扮演什么角色?

    数字孪生 智慧城市 是将数字孪生技术与城市智能化相结合的新兴概念,旨在通过实时数字模拟城市运行,优化城市管理与服务,创造更智能、高效、可持续的城市环境。 在智慧城市中,数字孪生技术可以实时收集、分析城市各个方面的数据,包括交通流量、能源消耗、环境

    2024年02月12日
    浏览(49)
  • 智慧城市是什么?为什么要建智慧城市?

    智慧城市是一个通过现代科技手段推动城市管理和服务创新的概念。 具体来说,它利用信息技术和创新概念,将城市的各个系统和服务集成起来,以提升城市运行效率、优化城市管理和服务,改善市民的生活质量。 为什么要建智慧城市呢?以下是几个主要的原因: 1、提高城

    2024年02月05日
    浏览(36)
  • 智慧城市驿站:智慧公厕升级版,打造现代化城市生活的便捷配套

    随着城市化进程的加速,人们对城市生活质量的要求也越来越高。作为智慧城市建设的一项重要组成部分,多功能城市智慧驿站应运而生。它集合了信息技术、设计美学、结构工艺、系统集成、环保节能等多个亮点,将现代科技与城市生活相融合,为人们提供了一种全新的城

    2024年02月20日
    浏览(41)
  • 【unity学习笔记】捏人+眨眼效果+口型效果

    一、vriod捏人 1.在vroidstudio软件中捏人 2.导出模型(.vrm) 二、vrid导入unity的插件 1.在Git上搜索、打开univrm。 2.找到release页面找到合适的插件版本。(VRM-0.116.0_0f6c) 3.将univrm导入到工程中(assets)。 三、导入小人 1.在assets中新建文件夹arts,拖入小人。 2.将小人转化为unity可识别

    2024年01月18日
    浏览(49)
  • 三维城市模型提升日本的智慧城市管理

    MicroStation 将工作效率提高 50%,实现了前所未有的逼真模拟 构建三维城市模型生态系统 PLATEAU 项目由日本国土交通省牵头,是一项三维城市模型和数字孪生计划,旨在到 2027 年为日本 500 个城市构建开放的城市模型数字生态系统。作为日本最大规模的城市建模方案,该项目旨

    2024年01月23日
    浏览(42)
  • 智慧公厕是什么?智慧公厕对智慧城市的意义

    城市的信息化发展需要催化了智慧城市,公共厕所作为城市的重要民生设施,如何实现更高阶的信息化建设,成为一个重要课题。那么,智慧公厕是什么?为什么它对智慧城市的建设如此重要?本文以智慧公厕源头厂家广州中期科技有限公司,大量精品案例项目现场实景实图

    2024年02月22日
    浏览(45)
  • 智慧公厕:让智慧城市的公共厕所焕发“智慧活力”

    智慧城市的建设已经进入了一个新的阶段,不仅仅是智慧交通、智慧环保,如今甚至连公厕都开始迎来智慧化时代。智慧公厕作为智慧城市的神经末梢,正在通过信息化、数字化和智慧化的方式,实现全方位的精细化管理。本文以智慧公厕源头专业厂家广州中期科技有限公司

    2024年02月20日
    浏览(34)
  • c#笔记-流程控制语句

    为了展示流程控制的作用,需要每次执行程序时都使用不一样的值。 无论是每次都修改源码,还是从控制台读取输入都太麻烦了。 所以使用随机数进行测试。 随机数的使用方式如下,使用随机数类,获取一个默认的随机数工具,然后用这个工具生成随机数。 1 变量储存值而

    2024年02月05日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包