urho3d工具
AssetImporter
加载开放资源导入库支持的各种三维格式(http://assimp.sourceforge.net/)并保存Urho3D模型、动画、材质和场景文件。有关支持的格式列表,请参阅http://assimp.sourceforge.net/main_features_formats.html.
Blender的另一种导出路径是使用Urho3D插件(https://github.com/reattiva/Urho3D-Blender).
用法:
AssetImporter <command> <input file> <output file> [options]
Commands:
model Output a model
anim Output animation(s)
scene Output a scene
node Output a node and its children (prefab)
dump Dump scene node structure. No output file is generated
lod Combine several Urho3D models as LOD levels of the output model
Syntax: lod <dist0> <mdl0> <dist1 <mdl1> ... <output file>
Options:
-b Save scene in binary format, default format is XML
-j Save scene in JSON format, default format is XML
-h Generate hard instead of smooth normals if input has no normals
-i Use local ID's for scene nodes
-l Output a material list file for models
-na Do not output animations
-nm Do not output materials
-nt Do not output material textures
-nc Do not use material diffuse color value, instead output white
-nh Do not save full node hierarchy (scene mode only)
-ns Do not create subdirectories for resources
-nz Do not create a zone and a directional light (scene mode only)
-nf Do not fix infacing normals
-ne Do not save empty nodes (scene mode only)
-mb <x> Maximum number of bones per submesh. Default 64
-p <path> Set path for scene resources. Default is output file path
-r <name> Use the named scene node as root node
-f <freq> Animation tick frequency to use if unspecified. Default 4800
-o Optimize redundant submeshes. Loses scene hierarchy and animations
-s <filter> Include non-skinning bones in the model's skeleton. Can be given a
case-insensitive semicolon separated filter list. Bone is included
if its name contains any of the filters. Prefix filter with minus
sign to use as an exclude. For example -s "Bip01;-Dummy;-Helper"
-t Generate tangents
-v Enable verbose Assimp library logging
-eao Interpret material emissive texture as ambient occlusion
-cm Check and do not overwrite if material exists
-ct Check and do not overwrite if texture exists
-ctn Check and do not overwrite if texture has newer timestamp
-am Export all meshes even if identical (scene mode only)
-bp Move bones to bind pose before saving model
-split <start> <end> (animation model only)
Split animation, will only import from start frame to end frame
-np Do not suppress $fbx pivot nodes (FBX files only)
材质列表是一个文本文件,每行一个材质,保存在Urho3D模型旁边。场景编辑器使用它在为StaticModel、StaticModelGroup、AnimatedModel或Skybox组件设置新模型时自动应用导入的默认材质,也可以通过调用ApplyMaterialList()手动调用。如果不需要,可以安全地删除列表文件。
在模型或场景模式下,AssetImport实用程序还将自动将非骨架节点动画保存到输出文件目录中。
OgreImporter
加载OGRE.mesh.xml和.skeleton.xml文件,并将它们保存为Urho3D.mdl(模型)和.ani(动画)文件。有关其他3D格式和整个场景导入,请参见AssetImport。然而,该工具不能像这样完整地处理OGRE格式。
用法:
OgreImporter <input file> <output file> [options]
Options:
-l Output a material list file
-na Do not output animations
-nm Do not output morphs
-r Output only rotations from animations
-s Split each submesh into own vertex buffer
-t Generate tangents
-mb <x> Maximum number of bones per submesh, default 64
注意:在不同的模型中使用动画时,仅输出骨骼旋转可能会有所帮助,但如果已使用骨骼位置更改来实现效果,则动画可能会变得不那么生动。由于Urho3D没有专门尝试重新定位动画,因此在原本不适合的模型中使用动画可能会导致无法预测的残缺。
PackageTool
递归检查目录中的文件和子目录,并创建PackageFile。可以将包文件添加到ResourceCache中,并将其用作文件系统(只读)中的文件。可以选择使用LZ4压缩库压缩文件数据。
在Android上使用程序包文件时要小心,因为.apk本身已经是一个程序包,由于已经使用了压缩,任意查找可能会执行得很差。从实验上看,在Android上,压缩包可能是有利的,因为在这种情况下,.apk包可能会跳过自己的压缩,从而获得更好的搜索和读取性能。
包装:
PackageTool -p<options> <input directory name> <output package name> [base path]
Options:
q - enable quiet mode
c - enable LZ4 compression
Base path is an optional prefix that will be added to the file entries.
当PackageTool运行时,它将进入源目录,然后查找子目录和任何文件。默认情况下,包内的路径将相对于源目录,但如果需要额外的路径前缀,则可以通过可选的基本路径参数指定。
例如,这会将Urho3D Data目录中的所有资源文件转换为名为Data.pak的包(从bin目录执行命令)
PackageTool -pcq Data Data.pak"
-c选项启用文件上的LZ4压缩。q选项允许在不向标准输出流发送输出的情况下执行操作。
开箱:
PackageTool -u<options> <input package name> <output directory name>
Options:
q - enable quiet mode
例如
PackageTool -uq CoreData.pak CoreData
打印信息:
PackageTool -<mode> <package name>
Modes:
i - print package file information
l - print file names (including their paths) contained in the package
L - similar to l but also output compression ratio (compressed package file only)
例如:
PackageTool -i CoreData.pak
RampGenerator
创建用于灯光衰减和聚光灯光斑形状的1D和2D渐变纹理。或者从.ies输入文件烘焙图像。 hōng bèi
用法:
RampGenerator <output file> <width> <power> [dimensions]
RampGenerator <input file> <output png file> <width> [dimensions]
输出以PNG格式保存。功率参数被输入到pow()函数以确定斜坡形状;值越高,边缘处的亮度越高,褪色越突然。
SpritePacker
获取一系列图像并将其打包到单个纹理中,然后创建一个sprite sheet xml文件。
用法:
SpritePacker -options <input file> <input file> <output png file>
Options:
-h Shows this help message.
-px Adds x pixels of padding per image to width.
-py Adds y pixels of padding per image to height.
-ox Adds x pixels to the horizontal position per image.
-oy Adds y pixels to the horizontal position per image.
-frameHeight Sets a fixed height for image and centers within frame.
-frameWidth Sets a fixed width for image and centers within frame.
-trim Trims excess transparent space from individual images offsets by frame size.
-xml 'path' Generates an SpriteSheet xml file at path.
-debug Draws allocation boxes on sprite.
脚本编译器
将AngelScript文件编译为二进制字节码,以加快加载速度。还可以以Doxygen格式转储脚本API。
用法
ScriptCompiler <input file> [resource path for includes]
ScriptCompiler -dumpapi <Doxygen output file> [C header output file]
输出文件以.asc(编译的AngelScript.)扩展名保存。二进制文件不会自动加载,而不是文本格式(.as)脚本文件,而是对象中的资源请求和资源引用需要指向编译的文件。在应用程序的最终构建中,简单地用编译的脚本替换文本格式的脚本文件可能很方便。
脚本API转储模式可用于替换“Docs”目录中的“ScriptAPI.dox”文件。如果未提供输出文件名,则脚本API将被转储到标准输出(控制台)。
相关文章:
urho3d工具
AssetImporter 加载开放资源导入库支持的各种三维格式(http://assimp.sourceforge.net/)并保存Urho3D模型、动画、材质和场景文件。有关支持的格式列表,请参阅http://assimp.sourceforge.net/main_features_formats.html. Blender的另一种导出路径是使用Urho3D插件…...
HashMap数据结构
HashMap概述 HashMap是基于哈希表的Map接口实现的,它存储的是内容是键值对<key,value>映射。此类不保证映 射的顺序,假定哈希函数将元素适当的分布在各桶之间,可为基本操作(get和put)提供稳定的性能。 HashMap在JDK1.8以前数据结构和存…...
BFC的含义以及应用
什么是BFC? BFC全称是Block Formatting context,翻译过来就是块级格式化上下文。简单来说,BFC是一个完全独立的空间。让空间里的子元素不会影响到外面的布局。😃😃😃 如何触发BFC呢? mdn给了如下方式&a…...
电脑技巧:分享8个Win11系统必备小技巧
目录 1、让任务栏显示“右键菜单” 2、任务栏置顶 3、还原经典右键菜单 4、Win11版任务管理器 5、新版AltTab 6、开始菜单不再卡 7、为Edge浏览器添加云母效果 8、自动切换日/夜模式 Win11在很多地方都做了调整,但由于涉及到诸多旧有习惯,再加上…...
C/C++每日一练(20230226)
目录 17. 电话号码的字母组合 37. 解数独 51. N 皇后 52. N皇后 II 89. 格雷编码 90. 子集 II 17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电…...
Vue 3第二章:Vite文件目录结构及SFC语法
文章目录1. Vite 文件目录结构2. Vue3 SFC 语法规范介绍1. Vite 文件目录结构 Vue3 并没有强制规定文件目录结构,开发者可以按照自己喜欢的方式组织代码。不过,通常情况下,我们会按照以下方式组织文件目录: ├── public │ …...
Leetcode 剑指 Offer II 016. 不含重复字符的最长子字符串
题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的最长…...
TCP 的演化史-sack 与 reordering metric
就着 TCP 本身说事,而不是高谈阔论关于它是如何不合时宜,然后摆出一个更务虚的更新。 从一个 case 开始。 按照现在 Linux TCP(遵守 RFC) 实现,以下是一个将会导致 reordering 更新的 sack 序列: 考虑一种情况,这两个…...
【Spring6】| Spring的入门程序、集成Log4j2日志框架
目录 一:Spring的入门程序 1. Spring的下载 2. Spring的jar文件 3. 第一个Spring程序 4. 第一个Spring程序详细剖析 5. Spring6启用Log4j2日志框架 一:Spring的入门程序 1. Spring的下载 官网地址:https://spring.io/ 官网地址&…...
包子凑数(完全背包)
小明几乎每天早晨都会在一家包子铺吃早餐。 他发现这家包子铺有 N 种蒸笼,其中第 i种蒸笼恰好能放 Ai 个包子。 每种蒸笼都有非常多笼,可以认为是无限笼。 每当有顾客想买 X 个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若…...
Spring超级全家桶,学完绝对是惊艳面试官的程度
前言Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解决方案。有人亲切的称之为:Spring 全家桶。很多研发人员把spring看作心目中最好的java项目,没有之一。所以这是重点…...
Redis主要数据类型
Redis 是一个数据结构服务器。 Redis 的核心是提供一系列本机数据类型,可帮助您解决从缓存到队列再到事件处理的各种问题Redis主要数据类型:String(字符串),Lists(列表),Sets&#x…...
【Linux | ELK 8.2】搭建ELKB集群Ⅰ—— 实验环境说明和搭建Elasticsearch集群
目录1. 实验环境1.1 实验工具1.2 操作系统1.3 架构版本、IP地址规划与虚拟机配置要求1.4 拓扑图1.5 其他要求2. 实验步骤2.1 安装Elasticsearch(单节点)(1)检查系统jdk版本(2)下载elasticsearch(…...
不同情况下*p和*p的区别(指针)
一说到指针,不少同学就会觉得云里雾里。首先要明白,指针和地址是一个概念;然后明白指针和指针变量的区别。先理解地址和数据,想象内存里面是一个个的小盒子,每个盒子对应一个编号,这个编号就是地址…...
Vuex基础语法
Vuex vuex官网 文章目录Vuexvuex的工作原理图2.vuex的环境搭建3.vuex的使用1.actons2. mutations3.getters4.vuex中的map映射属性4.1 mapState和mapGetters4.2 mapMutations和mapActions5.vuex多组件通信1.通过计算属性获得2.通过mapState获得6.vuex模块化和命名空间6.1模块化…...
刚上岸字节测试开发岗,全网最真实的大厂面试真题
首先我来解释一下为什么说是全网最真实的面试题,相信大家也发现软件测试面试题在网上流传也已不少,但是经过仔细查看发现了两个很重要的问题。 第一,网上流传的面试题的答案并不能保证百分百正确。也就是说各位朋友辛辛苦苦花了很多时间准备…...
Mac监控键盘输入并执行动作
最新内容在我的另一个博客:Mac监控键盘输入并执行动作 背景 电脑的安全是非常重要的,特别是里面的敏感数据,若是被有心之人利用,那后果不堪设想。 所以我们部门定下了一个规矩,谁离开工位要是不锁屏,就可以…...
Transformer输出张量的值全部相同?!
Transformer输出张量的值全部相同?!现象原因解决现象 输入经过TransformerEncoderLayer之后,基本所有输出都相同了。 核心代码如下, from torch.nn import TransformerEncoderLayer self.trans TransformerEncoderLayer(d_mode…...
港科夜闻|全国政协副主席梁振英先生率香港媒体高管团到访香港科大(广州)...
关注并星标每周阅读港科夜闻建立新视野 开启新思维1、全国政协副主席梁振英先生率香港媒体高管团到访香港科大(广州)。2月21日下午,在全国政协副主席、广州南沙粤港合作咨询委员会顾问梁振英先生的带领下,香港20余家媒体的高管及知名媒体人士到访香港科大…...
XML调用 CAPL Test Function
🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
