当前位置: 首页 > news >正文

UE(其他)

工具界面

Content browser资产管理器针对所有,Outliner仅针对当前map的scene资源

保存新的Map,将当前另存为

Content browser中import导入资源

Setting

鼠标中间Preference(偏好)-》level Editor-》viewport-》mouse Pan

默认地图Project setting(当前开发的项目设置)-》map-》default map

默认游戏模式Project setting-》map-》default model(当新c++继承GameModeBase时应修改默认模式:有了自己的Gamemodel,才能设置自己的pawn)

设置输入映射Project setting-》Engine-》Input

网络:Preference(偏好)-》Play-》Multiplayer options->play net mode->listen serve监听服务器->设置client的数量

材质

创建材质资产

Base Color基本颜色

Specular高光度

自发光颜色

动画

导入:选择Skeletal否则映射动画会有问题,Snap to Closest Frame启用捕捉到最接近的画面

创建动画蓝图资源:选择骨骼,选择 AnimInstance 作为父类

//动画蓝图&&State Machine

在Event G raph设置bool的逻辑

添加状态机:在animGraph创建动画状态机New State Machine》链接到Final Animation Pose

添加状态:双击进入状态机编辑:添加add state状态-》双击进入状态编辑(动画绑定到output输出节点)

连接状态:双击设置过渡引线逻辑

//

完成后添加到SkeletalMeshComponent作为

//Blend Spaces  _BS混合空间

多个动画之间进行平滑过渡的工具(横轴方向,纵轴速度)

更改Axis设置,(轴名称,范围)

右边资产管理搜索对应的动画,拖放到对应的位置

运行测试:

点击播放,ctrl建拖放对应的位置。

混合空间适合处理连续变化的动画过渡,而状态机适合处理复杂的动画状态逻辑和条件切换。

Type

FRotatorPitchYawRoll

* Pitch 绕右轴(绕 Y 轴)旋转,向上和向下观察,点头(0=直视,+向上,-向下)

* Yaw绕上轴(Z 轴)旋转的角度,左右摇头(0=向前,+右,-左)

* Roll 绕前轴(绕 X 轴)旋转,倾斜头部,(0=直线,+顺时针,-逆时针)

FVector2DTVector2<double>

字符串

FString是典型的"动态字符数组"字符串类型。

FName是对全局字符串表中不可变且不区分大小写的字符串的引用。相较于FString,它的大小更小,更能高效的传递,但更难以操控。

FText是指定用于处理本地化的更可靠的字符串表示。

TEXT()FString

调试:

日志: Saved/Logs 目录的 .txt 文件中

UE_LOG(类别名称(CoreGlobals.h 的引擎中找到这些类别),日志详细级别,Text)

https://dev.epicgames.com/documentation/zh-cn/unreal-engine/logging-in-unreal-engine?application_version=5.3

Bool例子:UE_LOG(LogTemp, Warning, TEXT("The boolean value is %s"), (bGrowing ? TEXT("true") : TEXT("false")));

//

GEngine->AddOnScreenDebugM

essage发送消息(-1"键"值类型参数能防止该消息被更新或刷新持续时间,颜色,文本)

IFP(inventory Framework plugin)简述

库存框架插件

Youtube教程:https://www.youtube.com/playlist?list=PLL_FKRZ7gmxZF9Yunq0nOIhKq893V_55I

文档:https://inventoryframework.github.io/

商城:https://www.unrealengine.com/marketplace/en-US/product/inventory-framework-plugin

在IFP_ExampleProject实例项目中有蓝图 || c++源码

C++plugin源码结构:

  1. Actor
  2. Components:AC_inventor
  3. Data:IFP_CoreData.h可以找到 EItemData所有物品类型
  4. Interfaces
  5. Items: DA_CoreItem(物品派生自),I_DA_consumable
  6. Widgets

安装

  1. 购买安装到引擎中,(在c++的项目,插件库存,可以看到引擎安装的插件)
  2. 创建c++项目,new c++生成c++sln解决方案
  3. D:\Unreal_Engine5\UE_5.3\Engine\Plugins、……复制IFP的文件
  4. 在c++项目目录,plugin创建文件夹,把IFP文件拷贝(如果有奇怪错误,删除引擎中的IFP)(放到项目,因为不会弄乱其他项目)
  5. 使用IDE构建项目,.uproject重新生成项目工程文件,c++项目中出现plugin文件夹

配置Assest Manager:

  1. 添加item文件夹
  2. 资产类型:Items
  3. 资产基类DA_CoreItem
  4. 添加目录

为角色添加组件和容器:

  1. 为角色添加:库存组件(c++||blueprint版本)AC_inventory
  2. 细节面板的对组件的Container Settings 容器设置:Inventory Type 类型,Container  name,dimensions尺寸,widget 小部件calss的蓝图名称(新建的)
  3. widget 小部件:添加WBP_DemoContainer 到hierarchy 并布局
  4. 下一步将组件绑定到widget小部件中: 在小部件Implemented Interfaces实现接口添加I_InventoryWidgets库存小部件接口实现,将获得两个函数(Receive External Component接收外部元件,GetContainers获取容器)
  5. 进入GetContainers中,并添加容器make Array,并将WBP_DemoContainer 图形绑定上
  6. 同样在角色Implemented Interfaces实现接口添加I_Inventory,将获得两个函数(meets currency check满足检查 , Get inventory component获取库存组件)
  7. 进入重写Get inventory component,并将库存组件绑定上

启动 || 停止 组件

  1. 启用:在示例项目,拷贝一些逻辑startComponent,这样可以通过按键展示widget了
  2. 停止:StopComponent 

创建基本item物体

  1. 创建actor蓝图继承BP_SM_itemPhysical???,自动获得AC_inventorBP库存组件,并对它设置
  2. 在miscellaneous杂项创建data asset数据资产,继承DA_consumable(IFP的items type)消耗品,并设置image,和name,放到actor的容器

文档:

网络函数以C_为前缀(表示客户端)、S_为前缀(表示服务器)和MC _ 为前缀(表示多播)

自动复制的函数,函数的大部分代码存储在以接口Internal_为前缀的函数中。这些函数通常由服务器和客户端调用。


http://www.mrgr.cn/news/55312.html

相关文章:

  • SaaS架构:中央库存系统架构设计
  • PHP中的ReflectionClass常见用法
  • 从0开始深度学习(11)——多层感知机
  • MySQL 日常维护指南:常见任务、频率及问题解决
  • springboot接口Get请求实体类入参
  • 网络基础知识:交换机关键知识解析
  • 基于STM32的宿舍防火防盗系统设计
  • 双十一购物节有哪些好物值得入手?2024双十一好物清单合集分享
  • ‌‌现货白银价格怎么算出来的?
  • AI Weekly2:过去一周重要的AI资讯汇总
  • MySql数据库left join中添加子查询
  • JVM参数
  • 终于把Vision Transformer(ViT)搞懂了!
  • 估值与周期风险评估(2024/09/29)
  • Android面试之5个性能优化相关的深度面试题
  • Shell学习——shell中的变量
  • 1.深入理解MySQL索引底层数据结构与算法
  • FuLID-Flux在ComfyUI下报错的问题解决办法
  • 贪心day6
  • 2024年双11买什么最划算?双十一购物清单,双十一囤货清单排名
  • 高速缓冲存储器Cache是如何工作的、主要功能、高速缓冲存储器Cache和主存有哪些区别
  • 如何通过ChatGPT快速编写代码、解决bug、优化代码、推荐技术解决方案(完整教程)
  • 【AscendC】配置ModelArts的算子开发环境
  • Transformer(Vit+注意力机制)
  • JDBC——(3)
  • 如何修改Ubuntu系统的共享内存shm大小