[UE4]为UStaticMeshComponent添加点击事件

BlockMesh->OnClicked.AddDynamic(this, &APuzzleBlock::BlockClicked);   //鼠标点击事件
BlockMesh->OnInputTouchBegin.AddDynamic(this, &APuzzleBlock::OnFingerPressedBlock);   //触摸屏点击事件

void APuzzleBlock::BlockClicked(UPrimitiveComponent* ClickedComp)
{
    bIsActive = !bIsActive; // flip the value of bIsActive
                            // (if it was true, it becomes false, or vice versa)
    if (bIsActive)
    {
        BlockMesh->SetMaterial(0, OrangeMaterial);
    }
    else
    {
        BlockMesh->SetMaterial(0, BlueMaterial);
    }
    // Tell the Grid
    if (OwningGrid != NULL)
    {
        OwningGrid->AddScore();
    }
    // --TO HERE--
}


void APuzzleBlock::OnFingerPressedBlock(ETouchIndex::Type FingerIndex, UPrimitiveComponent* TouchedComponent)
{
    BlockClicked(TouchedComponent);
}
### 如何在 Unreal Engine 5 中生成场景 在 Unreal Engine 5 (UE5) 中生成场景是一个涉及多个模块的过程,包括但不限于蓝图系统的应用、渲染技术(如 Lumen 和 Nanite)、以及 UI 设计等内容。以下是关于如何利用 UE5 的核心功能来构建复杂场景的具体说明。 #### 使用蓝图系统创建自定义Actor 为了实现特定的功能需求,在许多情况下需要创建自定义的 `Actor` 类型。可以通过继承默认的 `Actor` 来扩展其行为逻辑[^1]。 具体操作如下: 1. 打开 **Content Browser** 并右键点击空白区域。 2. 选择 **Blueprint Class** -> **Actor**,命名并保存该蓝图文件。 3. 编辑新创建的蓝图,添加组件(例如 Static Mesh Component 或 Light Component),并通过事件图表连接节点以完成交互逻辑设计。 ```cpp // C++ 示例代码用于演示如何派生一个新的 AActor 子类 #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "CustomSceneActor.generated.h" UCLASS() class YOURPROJECT_API ACustomSceneActor : public AActor { GENERATED_BODY() public: // 构造函数初始化 ACustomSceneActor(); protected: UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components") class UStaticMeshComponent* SceneObject; }; ``` #### 应用先进的渲染技术提升视觉效果 UE5 提供了两项革命性的渲染特性——Lumen 和 Nanite。前者是一种全动态全局光照解决方案;后者则允许导入具有极高几何细节水平的艺术资产而无需简化处理过程。合理运用这两项技术能够显著提高所生成场景的真实感与沉浸度。 对于希望快速测试这两种新技术的效果而言,可以从 Epic Games 官方提供的示例地图开始尝试。这些预设好的环境已经包含了经过精心调整过的参数配置,非常适合初学者上手体验[^2]。 #### 设置背景图像作为场景的一部分 如果目标是在某个三维空间内部署一张二维平面图充当背景,则可以考虑采用一种特殊的技术手段:即把所需显示的画面贴附到一个巨大尺寸但又不可见边界的矩形物体表面之上[^3]。此方法不仅简单易行而且兼容性强,几乎适用于任何类型的项目当中。 首先新建一个材质资源Material,并将其属性设置为Unlit模式以便忽略光源影响。接着指定纹理映射方式为Clamp To Edge从而防止边缘出现重复现象。最后将这个定制化后的材料赋予给之前提到的那个大型平板构件即可达成目的。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值