首页 > 其他分享 >demo 让你的三维动起来

demo 让你的三维动起来

时间:2022-10-03 11:31:07浏览次数:79  
标签:inveta 起来 demo 蓝图 三维 生成 POI 动态


Part1前言

INVETA三维可视化demo工程集成了数字孪生中的常用元素:POI点、轨迹路线、区域轮廓、围栏高亮、Bézier路径、特效、地标模型、分层建筑等。GitHub地址如下:https://github.com/inveta/demo ,目前正在持续更新,陆续地推出新的可视化基本图元。在以上所有的基本图元中,最常用的就是POI点了,之前也介绍过很多POI的实现原理,本文着重介绍下在UE5中的 3 种使用方法:编辑器静态初始化、蓝图动态生成、像素流字符串动态生成。所有的inveta基本图元都支持这 3 种模式。
● 编辑器静态初始化:在编辑器中手动拖拽、选择、输入参数。
● 蓝图动态生成:通过蓝图函数,在运行时生成元素,动态地指定参数。
● 像素流字符串动态生成:通过客户端传来的字符串代码动态生成。

这 3 种使用方法涵盖了全部的应用场景,三者的区别在于时态,但最终目的都是指定一堆参数,这些参数有各种类型:bool、字符、字符串、整数、实数、向量、坐标、颜色、数组、字典、模型、纹理、材质。所有的长度单位默认是cm,所有时间单位默认是s。

demo 让你的三维动起来_java

Part2支持一键插拔

demo 让你的三维动起来_计算机视觉_02

直接将/PLSB/pixel-stream蓝图拖入场景中,就能自动监听前端请求,生成对应的可视化元素,不用手写后端业务逻辑,也不用再定义一套像素流格式,因为该蓝图已经定义好了一套统一的URL键值对参数:

● 所有参数遵守类似字典的格式。
● 由换行符"\r\n"分隔每一行。
● 由于 UE 的原因,换行符必须使用"\r\n",不能用常规的"\n"。
● 每行由冒号":"分隔键值对。
● 键和值两端没有空白字符。

这一套格式在前端也很容易实现,比如生成一个POI点的前端代码如下:

ps.emitMessage([
"spawn-POI",
"location:X=0 Y=0 Z=0",
"icon:\uE998",
"title:POI标题",
"color:R=1 G=1 B=1",
"shape:2",
"id:poi001"
].join('\r\n'));

Part3屏幕空间POI点

demo 让你的三维动起来_java_03

demo 让你的三维动起来_demo_04

Part4Bézier轨迹路线

demo 让你的三维动起来_前端_05

demo 让你的三维动起来_计算机视觉_06

Part5区域轮廓围栏

demo 让你的三维动起来_计算机视觉_07

demo 让你的三维动起来_计算机视觉_08

Part6GIF特效

demo 让你的三维动起来_demo_09

demo 让你的三维动起来_java_10

Part7动态模型

demo 让你的三维动起来_计算机视觉_11

Part8总结

本文主要介绍了https://github.com/inveta/demo的动态生成方法,包括编辑器静态初始化、蓝图动态生成、像素流字符串动态生成。

Part9关于IN VETA

IN VETA是一支由建模、美术、UE5组成的年轻团队。

demo 让你的三维动起来_java_12

我们的开源项目:
​​​ https://github.com/inveta​

我们致力于三维数字孪生技术分享与研发。
欢迎与各界朋友一起探讨技术与商务合作,一起推动数字孪生的发展。

标签:inveta,起来,demo,蓝图,三维,生成,POI,动态
From: https://blog.51cto.com/xosg/5729994

相关文章

  • 【无人机】基于A星算法和B次样条实现危险模型实现无人机三维航迹规划附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • NFC卡启动CS应用程序 - demo
    CS应用程序,废话少说,先上个b站视频看看效果, https://www.bilibili.com/video/BV1Ft4y1A7pv/总结来说,就是刷卡,然后通过配置激活CSapp(我这个例子用的是一个著名的MESAPP,有......
  • Demo11
    packagecom.HuanXin.scanner;importorg.w3c.dom.ls.LSInput;importjava.util.Scanner;publicclassDemo01{publicstaticvoidmain(String[]args){//......
  • Demo12
    packagecom.HuanXin.scanner;importjava.util.Scanner;publicclassDemo02{publicstaticvoidmain(String[]args){//new一个scanner导入一个java工具......
  • Demo11_12 java流程控制01小总结
    packagecom.HuanXin.scanner;importjava.util.Scanner;publicclassDemo01_02{publicstaticvoidmain(String[]args){//hasNext()与next()Sca......
  • 国庆节快乐!国旗demo
    <html><head><script>varcol=newArray("red","brown");varticker=0;varstep=0;functiondrawBackground(){varg=document.getElementById("background").getCo......
  • 一起来配置静态路由吧~
    交换机连接相同网段计算机,路由器连接不同网段的计算机。当使用路由器连接时,在对应端口上配置网关地址,就可以使路由器两侧计算机达到互通的效果。但如果路由器与路由器相连......
  • flask后端简单demo
    1、flaskdemofromflaskimportFlask,Blueprint,requestfromflask_sqlalchemyimportSQLAlchemyapp=Flask(__name__)#数据库app.config['SQLALCHEMY_TRACK......
  • NFC卡启动web应用程序 - demo
    废话不多说,先上视频TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplifiedH......
  • Demo10 java基础09-10
    packageoperator;importcom.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;importjava.sql.SQLOutput;publicclassDemo02{publicstaticvoidmain(String[]a......