UE(其他)

embedded/2024/10/21 20:11:59/

工具界面

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.ppmy.cn/embedded/129350.html

相关文章

Mysql环境安装

1&#xff0c;下载压缩包 下载压缩包解压 2&#xff0c;配置环境变量 i&#xff0c;高级系统设置-->环境变量-->系统变量-->path-->添加mysql的bin目录路径 ii&#xff0c;新建my.ini文件 basedir:MYSQL的路径 datadir&#xff1a;这个data路径不用手动创建&am…

二十三节补充

考虑如何在不添加公共端demo的情况下同时保存两个视频 更改公共端demo public: void video1_demo(Mat& image); struct TwoImages { Mat img1; Mat img2; }; TwoImages colorSpace_Demo(Mat& image); 将刚刚修改的demo运用到调用的需…

nginx中的HTTP 负载均衡

HTTP 负载均衡&#xff1a;如何实现多台服务器的高效分发 为了让流量均匀分配到两台或多台 HTTP 服务器上&#xff0c;我们可以通过 NGINX 的 upstream 代码块实现负载均衡。 方法 在 NGINX 的 HTTP 模块内使用 upstream 代码块对 HTTP 服务器实施负载均衡&#xff1a; upstr…

项目管理PMP入门,2024新手没工具怎么成大神?

&#xff08;三&#xff09;PMP 的价值 PMP 证书的价值在多个方面得以体现。在就业方面&#xff0c;许多大型企业将 PMP 证书作为招聘项目管理相关人才的优先考虑条件&#xff0c;甚至有些企业要求公司高层必须考取该证书&#xff0c;成为进入这些企业的 “敲门砖”。同时&…

Python基础语法-列表与元组

列表与元组 在编程中&#xff0c;经常需要使用变量来保存数据&#xff0c;如果数据比较少&#xff0c;我们创建几个变量也就算了&#xff0c;那如果数据很多呢。 甚至有些时候数据多到你都不清楚到底有多少&#xff0c;那么就需要使用到列表了。 列表是一种让程序员再代码中批…

【H2O2|全栈】更多关于HTML(2)HTML5新增内容

目录 HTML5新特性 前言 准备工作 语义化标签 概念 新内容 案例 多媒体标签 音频标签audio 视频标签 video 新增部分input表单属性 预告和回顾 后话 HTML5新特性 前言 本系列博客是对入门专栏的HTML知识的补充&#xff0c;并伴随一些补充案例。 这一期主要介绍H…

Gitlab 完全卸载–亲测可行

1、停止gitlab gitlab-ctl stop2.卸载gitlab&#xff08;注意这里写的是gitlab-ce&#xff09; rpm -e gitlab-ce 3、查看gitlab进程 ps aux | grep gitlab 4、杀掉第一个进程&#xff08;就是带有好多.............的进程&#xff09; 5、删除所有包含gitlab文件 find / …

Ollama部署700亿参数大模型Llama3

Ollama部署700亿参数大模型Llama3 前言一、安装Ollama二、运行Llama3:70b 前言 首先&#xff0c;70b表示700亿参数&#xff0c;模型文件就有40G&#xff0c;一般的电脑是运行不了的&#xff0c;所以GPU 私有化部署大模型最佳解决方案 Ollama &#xff08;8B&#xff09;模型 …