制作gltf动态夜景模型

news2024/11/19 4:22:40

kele

前言

要制作一个充满科技感的场景,离不开动画特效。众所周知,Unity软件可制作各种炫酷动画效果,如果将Unity中的动画添加到WebGL网页项目中,那一定会非常美妙吧~接下来小编将介绍如何通过Unity制作纹理动画,并导出成gltf在前端网页上加载
在这里插入图片描述

一、事前准备

整个实现过程需要使用到3ds Max软件、Unity软件以及一张炫酷的纹理贴图。
实现步骤分为以下五个部分:
1.3ds Max中建模,并设置好纹理uv
2.将模型导入Unity
3.设置自发光以及动态纹理特效
4.导出为gltf
5.使用SuperMap iClient for Cesium加载

二、具体实现

第一阶段:建模

1.1 在3ds Max中创建模型

在这里插入图片描述

1.2 设置uv和贴图,给模型添加【uvw贴图】命令,根据模型外形,选择圆柱体。设置好uv后点开材质球,设置一张标准位图贴图并赋予模型

在这里插入图片描述

第二阶段:将模型导入Unity

2.1、将max模型导出为fbx

在这里插入图片描述

2.2、新建Unity工程

在这里插入图片描述

2.3、导入 Unity-glTF-Exporter-master 插件(该插件可将Unity模型导出为gltf,可在文章后的百度网盘链接下载),直接用鼠标将插件文件拖到 Unity 中 Asset 面板中即可

在这里插入图片描述

2.4、导入 fbx 模型和纹理图片,同样用鼠标将 fbx 模型和图片拖拽到 Unity 中 Asset 面板中

在这里插入图片描述

2.5、此时在 3ds Max 里面制作的材质及贴图并没有随着模型导入到 Unity 中,通过如下设置手动导入模型相关的纹理及材质

在这里插入图片描述
导入后会自动生成材质文件夹
在这里插入图片描述

第三阶段:设置模型自发光及动态纹理特效

3.1、将纹理贴图赋给侧面模型的材质球上,并设置自发光的颜色等参数,此时就有了一个静态的纹理效果

在这里插入图片描述
在这里插入图片描述

3.2、在当前属性面板的底部,点击 Add Component,添加 MaterialMotion 组件(MaterialMotion 插件集成在了 Unity-glTF-Exporter-master 插件中,在 2.3 步骤中已经被装上)

在这里插入图片描述
在这里插入图片描述

3.3、根据需要设置插件中的参数,使得纹理具有运动效果,其中

Material:表示被选择的材质球,
Shader ProPerty:被选择的材质球属性,可以是 Albedo,Normal Map 等贴图,目前我们需要运动的是 Emission 自发光贴图;
Motion Type:纹理的运动方式,目前在 WebGL 上支持的是 Scrool 滚动和 Scale 缩放两种方式;
U Curve,V Curve:纹理在 UV 方向上的运动方式;
Speed:纹理的运动速度
在这里插入图片描述
效果:
在这里插入图片描述

3.4、将模型导出为gltf

在这里插入图片描述

3.5、将导出的所有文件,拷贝到SuperMap iClient for Cesium中,以静态文件方式加载
 var url = "./SampleData/gltf2/baimo2_-21168.gltf";
 var gltf = viewer.entities.add({
      name: "gltf",
      position: new Cesium.Cartesian3.fromDegrees(116.458110477583400 - 0.002034006, 39.912527169275549 - 0.005072179, 0),
      model: {
        uri: url
      }
 });
 viewer.zoomTo(gltf);

PS:
数据及插件地址:链接:https://pan.baidu.com/s/1soqkG-fwwU44ycZmVlmlPw
提取码:6655

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/125003.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RISC-V IDE MRS使用笔记(七) :常用开发技巧汇总

RISC-V IDE MRS使用笔记(七) :常用开发技巧汇总 Q1: MRS调试时如何查看外设寄存器内容? A1: 在调试配置界面添加相应的.svd文件。 Q2: MRS如何调用数学库? A2: #include ”math.h”头文件,并在工程属性页面增加”m”参数。 Q3: 如何设置MRS调试前默认…

还在对比IT培训机构,行内人告诉你怎么比?

还在对比IT培训机构,行内人告诉你怎么比?因为身处IT培训行业6年多点时间 ,从讲师到校区经营的成长履历中。见识过众多机构的运营和发展,当然也包含我所在的正厚软件。平时在知乎上看的多,自然推荐的关于机构对比的话题…

蓝牙无线运动耳机排行榜、口碑最好的运动蓝牙耳机推荐

越来越多的人开始喜欢蓝牙耳机的便携性,尤其对于运动的慢跑族,蓝牙耳机更为方便携带和佩戴,毕竟没有了线束的烦恼,目前蓝牙耳机市场很大,用户人群很多,我体验过的这类产品比较多,如何挑选一款满…

MySQL5.7安装配置教程-Windows(企业常用版)超详细

引言 MySQL 5.7 为公司、企业常用的MySQL版本。 正在学习或正在工作的小伙伴推荐相关教程按照5.7的版本来学习、操作。 1. 下载MySQL 阿里云盘不限速高速下载地址: https://www.aliyundrive.com/s/YTMa5LfSFB2 因为阿里云盘不支持zip压缩包的分享,我用…

【财务】FMS财务管理系统---应付结算

本篇文章中,笔者对应付结算各个部分进行了梳理和分析,与大家分享。 前面相继介绍了财务系统的组成、财务数据流转、应收管理、质保金、预付款、费用管理以及合同管理。 我个人觉得应付结算管理部分的逻辑是整个FMS财务管理系统中较为复杂的一部分&#…

APP测试面试题汇总

一、基础篇 1、请介绍一下,APP测试流程? APP测试流程与web测试流程类似,分为如下七个阶段: 1.根据需求说明书编写测试计划; 2.制定测试方案,主要是测试任务、测试人员和测试时间的分配; 3.…

Vue3 Composition API: 对比ref和reactive

Vue2 回顾 首先回顾一下在Vue2中我们是如何创建一个响应式数据 (reactive data)的: Vue3新特性 ref的使用 而在Vue3中,我们可以用Composition API: ref 来改写上述代码: ref 的作用就是将一个原始数据类型(primitive data t…

NPM 2FA双重认证的设置方法

NPM在使用用户名和密码登录后,他觉得还不是很安全,需要用一个手机软件来生成一个随机验证码,两者同步,来做二次验证。类似于手机银行的优盾或者验证码验证。 双重验证:标准验证方法,其中一个因素是密码。 …

gdb调试跟踪代码

编译 用gcc/g编译源程序的时候,编译后的可执行文件不会包含源程序代码,如果要使用gdb调试的话,编译的时候要加 -g 的参数。 gcc test.c -o test -g调试 gdb test常用命令: (gdb)help:查看命令…

jira-dev-tool插件安装失败的解决方法

最近,在运行【React React Hook TS 最佳实践仿 Jira 企业级项目】的时候,安装jira-dev-tool 插件出现问题,参考:https://www.npmjs.com/package/jira-dev-tool。解决方法:在项目中执行: npx msw init pu…

Layer2 实现方式之 Rollup

一. 1. Rollup 简介 Rollup 是类似于 Plasma 的第 2 层扩展解决方案:单个主链合约持有所有资金和对更大“侧链”状态(通常是账户、余额及其状态的 Merkle 树)的简洁加密承诺。侧链状态由链下用户和运营商维护,不依赖 L1 存储&…

C语言文件读写

上一章我们讲解了 C 语言处理的标准输入和输出设备。本章我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层…

linux------基本操作指令(1)

1)JAVA是一个跨平台的编程语言,多线程编程,网络编程在JAVA标准库里面本身就有 2)C的标准库相比于JAVA的标准库还是要弱一些,网络编程已经不支持了 3)linux是世界上第一大操作系统 李纽克斯 李娜克斯 李呢克斯 李妮克斯 一:背景知识 1)内网I…

串口监听:以共享模式打开端口CreateFile,居然无法再打开?但文件可以。

想以共享模式来监听串口 结果打开失败,错误5 拒绝访问。为什么呢? 但是文件却正常 看了两个监听串口的软件bus hound和commMonitor都是需要驱动才能实现 单纯共享打开,可以无法监听串口,那学习一下windows驱动吧。 windows驱动 …

为加快项目开发进度,如何快速合理分配开发任务?

1、对任务进行合理分类 软件开发项目,任务繁多,需要对任务进行分类,以便优先完成重要任务。一般最常规的方法是时间四象限法,即按照重要和紧急程度对任务进行划分:重要紧急、重要不紧急、紧急不重要、不重要不紧急四类…

UE4 Shader 常用函数 学习笔记

Add:快捷键a 将两数相加,也可以将两纹理相加,如下图: append(追加): Subtract(减): 和加相反,特例,如下: Abs&#xff0…

企业需要防范的 6 个常见身份攻击手段|身份云研究院

零信任作为新一代的网络安全防护理念,已经成为全球网络安全管理的基石。零信任的核心是 「安全体系架构从网络中心化走向身份中心化」,「以身份为中心」的网络访问控制理念也逐渐被越来越多企业接受并实践。 然而企业在面向用户身份访问和管理的实践中还…

一文读懂锁、互斥量、原子操作的并发控制策略

前言:在程序设计过程中,难免涉及操作系统、多进程、多线程、数据库等领域。在这些领域内,确保对共享资源的异步操作不出差错,是每个程序开发者必须要考虑的问题。面对并发问题,除了需要谨慎和小心外,引入并…

《图解TCP/IP》阅读笔记(第七章 7.7)——MPLS 多协议标记交换技术

7.7 MPLS 由小而大的讲完了三种路由协议RIP、OSPF、BGP之后,我们来看在转发IP数据包时使用到的另外一种技术——标记交换技术。 路由技术基于IP地址中的最长匹配原则进行转发,而标记交换则对每个IP包都设定一个叫做“标记”的值,根据该标记…

数据结构与算法-堆

什么堆 堆是一种特殊的数据结构,是最高效的优先级队列。可以被看作是一颗完全的二叉树表达的数组对象。 堆的定义 1、必须是一颗完全二叉树 完全二叉树就是子节点必须从左到右都是完整的,没有缺失。 2、用数组表示看作完全二叉树的堆 假设&#xff1a…