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

虚幻5学习笔记,疑点

常用操作

运行时,调试相机,按~键,输入ToggleDebugCamera 。进入自由视角

常用节点

  • gate节点:用于控制该流程通不通,执不执行。
  • Flip Flop节点:反转执行,一次A,一次B。
  • Set Timer by Event节点:设置定时器,定时执行用户自定义事件,可循环执行。需要用户自己定义一个事件。通过三个点…进行搜索用于自定义事件。
  • Append节点:拼接字符串
  • Take High Res Screenshot节点:进行屏幕截图,Filename可以输入绝对路径,无法存储中文路径。
  • Get Actor of Class节点:获取actor类对象,返回第一个出现的。
  • Set Actor Location And Rotation节点:设置actor实例的本地坐标。
  • add timeline节点:节点,可以获取一个根据时间动态变化的值。可以不放在每一帧的事件函数Event Tick中。该节点的update会逐帧平滑的生成插值。
  • Set Material节点:为某个静态网格设置材质。
  • 快速查询某个案件节点:搜索keyboard,找到。

视角创建

从0到1创建视角。而不是使用第三人称的蓝图,官方第三人称蓝图在开始时候,会创建该一个对象。
首先,世界场景设置的pawn类就是会在游戏开始时候,在PlayerStart的位置创建游戏对象。
在这里插入图片描述
我们需要自己创建蓝图
在这里插入图片描述
创建Pawn蓝图如下,需要设置自动控制玩家0。完成显示摄像机的绑定。
在这里插入图片描述
到此运行游戏,主相机画面已经绑定到空物体BP_pawn的相机上,

方法2:
创建一个Actor类型蓝图BP_camera,直接创建弹簧臂+相机。然后将该蓝图放到场景中。
修改自己创建的BP_playercontroller,如下图。
self指代的是该PlayerController,通过视角混合完成主摄像机的绑定。
在这里插入图片描述

物体沿spline线移动

spline绘制路径

首先创建v_path_BP蓝图,类型使用actor?
在这里插入图片描述
拖入场景中后,在细节面板选择vSpline,通过selected Points选择节点,在场景中F聚焦,按住ALT键可以拖动可以新增节点。
在这里插入图片描述

使用actor蓝图

设置好路径后,对物体进行控制,我们可以在actor蓝图中编辑事件图表。这里如果使用actor蓝图。要明白你在资源文件夹中创建的actor本质是一个类,而你要使用该actor,需要拖动到场景中才能运行。并且,你如果想在actor蓝图中获取场景中的其他actor实例,使用的只有get Actor Of Class节点。该节点返回在场景中查询得到的首个对应的Actor实例,该方法在多个相同actor时候会条理不清晰。

在这里插入图片描述

使用关卡蓝图

在这里我们使用关卡蓝图。
在这里插入图片描述

获取设置的路径实例

首先我们使用V_path_BP蓝图拖动到场景中设置路径,然后我们需要关卡蓝图中使用该蓝图实例,通过在大纲面板中选中该实例对象,并且回到蓝图,右键发现出现为V_path_BP创造引用,由此可以得到准确的实例化对象。
然而我们如果使用get Actor Of Class节点,则获取不那么精确,在场景中只有一个该actor类型时候等于该效果。

在这里插入图片描述

设置时间轴

设置一个时间轴用于控制Lerp参数变化。
在这里插入图片描述
双击进入时间轴,添加自定义轨道alph,然后设置关键帧,时间长度。 变化范围0-1。
在这里插入图片描述

获取移动中曲线点的坐标

完成后回到事件图表窗口,将自定义的输出alph连接到 Lerp的alpha输入上,相当于控制百分比。a作为初始值,而Path曲线的总长度输入给B,输出一个长度。通过该该长度在Path曲线上去去找坐标。将该坐标赋值给物体即可。
注意:Get Transform at Distance Along Spline节点获取path曲线坐标时候,需要设置参数选择世界坐标or本地坐标。

更新物体坐标

最后,使用Set Actor Location And Rotation,设置物体坐标。

在这里插入图片描述

真实相机模拟仿真

创建一个Pawn,为其添加电影摄像机组件CineCamera,可以通过蓝图time line节点动态调整当前焦距,实现相机的拉近拉远效果。
在这里插入图片描述

材质、材质实例化

材质的设置

材质的设置:https://blog.csdn.net/weixin_49367526/article/details/146411592?spm=1001.2014.3001.5501

材质实例化

材质中的常量,可以右键提升为参数
在这里插入图片描述

在资源面板中,右键材质可以创建材质实例,该实例只能调整之前在材质中设置的参数,且该参数必须对主材质节点有贡献才会在实例中显示。

C++代码的使用

我的vs游戏开发组件安装未完全?必须重新进再次编译才能使得虚幻5的蓝图节点生效,否则不生效。虽然实时编译是打开的,但是没用。

创建用户代码编写的蓝图类

在这里插入图片描述

打开工程项目

在这里插入图片描述
在这里插入图片描述
其中文件ILS_simulation2.Build.cs

// ILS_simulation2.Build.cs
// Fill out your copyright notice in the Description page of Project Settings.using System.IO;
using UnrealBuildTool;public class ILS_simulation2 : ModuleRules
{public ILS_simulation2(ReadOnlyTargetRules Target) : base(Target){PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });//vincent增加}
}

编译的自定义蓝图类无法在蓝图编辑界面搜索到

项目克隆的问题

由于项目克隆,项目名称发生了变化。而项目的模块默认是与项目名称一致的,导致用户自己编译的蓝图C++类在蓝图编辑界面搜索不到。由于我的项目是从名称为ILS_simulation2项目克隆得到的TracyDataSets_1项目。所以

在这里插入图片描述

检查步骤

  1. 确认类文件是否在项目源码中 确认 .Build.cs 文件中模块设置正确。打开你模块的

  2. YourModule.Build.cs,确认是否包含必要的模块依赖:

PublicDependencyModuleNames.AddRange(new string[] {"Core", "CoreUObject", "Engine", "InputCore"
});PrivateDependencyModuleNames.AddRange(new string[] {"Slate", "SlateCore"
});
  1. 确认 .uproject 文件中包含了你的模块。打开 YourProject.uproject,确保 “Modules” 中包含了你的模块,比如:
"Modules": [{"Name": "YourModule","Type": "Runtime","LoadingPhase": "Default"}]

如果是给蓝图节点用的 Runtime 函数类,Type 可以是 “Runtime”
如果你做的是编辑器插件中的功能,可能需要 “Editor” 类型

  1. 确认包含在编译目标中
    如果你创建了新的模块,还要确保它被添加到 .Target.cs 或 .Editor.Target.cs 的 ExtraModuleNames 中:

比如 YourProjectEditor.Target.cs文件中:ExtraModuleNames.AddRange(new string[] { "YourProject", "YourModule" });

using UnrealBuildTool;
using System.Collections.Generic;public class ILS_simulation2Target : TargetRules
{public ILS_simulation2Target(TargetInfo Target) : base(Target){Type = TargetType.Game;DefaultBuildSettings = BuildSettingsVersion.V5;ExtraModuleNames.AddRange( new string[] { "ILS_simulation2" } );}
}
  1. 重新编译并清理缓存

在这里插入图片描述
删除那两个文件夹后,可能需要对文件TracyDataSets_1.uproject右键,生成项目文件,否则打开后项目处于卸载状态。在虚幻界面打开vs的本质应该是打开的TracyDataSets_1.sln。
在这里插入图片描述

C++自定义蓝图类测试代码

//VincentSQLite.h
#pragma once#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "VincentSQLite.generated.h"UCLASS()
class ILS_SIMULATION2_API UVincentSQLite : public UBlueprintFunctionLibrary
{GENERATED_BODY()
public:UFUNCTION(BlueprintCallable, Category = "vincentSQLite")static FString vvCombineStrings(const FString& A, const FString& B);
};
//VincentSQLite.cpp
#include "VincentSQLite.h"FString UVincentSQLite::vvCombineStrings(const FString& A, const FString& B)
{return A + B+"vincent";
}

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

相关文章:

  • 八、重学C++—动态多态(运行期)
  • MySQL-SQL-DDL语句、表结构创建语句语法、表约束、表数据类型,表结构-查询SQL、修改SQL、删除SQL
  • 【Android】界面布局-线性布局LinearLayout-例子
  • Linux常用基础命令应用
  • 理解OSPF 特殊区域Stub和各类LSA特点
  • Android学习总结之算法篇四(排序)
  • Vite环境下解决跨域问题
  • 黑马点评redis改 part 1
  • 源支付开源全套,源支付V7开源全套,源支付V1.8.9,源支付开源版
  • Docker 命令简写配置
  • SpringAI整合Ollama集成DeepSeek
  • 图漾相机——C#语言属性设置
  • ✅ 2025最新 | YOLO 获取 COCO 指标终极指南 | 从标签转换到 COCOAPI 评估 (训练/验证) 全覆盖【B 站教程详解】
  • ARXML文件解析-1
  • Ubuntu安装Podman教程
  • MySQL 面试知识点详解(索引、存储引擎、事务与隔离级别、MVCC、锁机制、优化)
  • Git 教程:从 0 到 1 全面指南 教程【全文三万字保姆级详细讲解】
  • 第十二步:react
  • vulkanscenegraph显示倾斜模型(5.6)-vsg::RenderGraph的创建
  • 【408--考研复习笔记】操作系统----知识点速览=