本文用来水暑假的研究性学习报告 不要认真 摘要 本文给出了朴素 Marching Cubes 算法体素网格体在 Unreal Engine 4 中的实现方案,通过生成一个具有“光滑”表面的球体来演示算法的可行性。 关键词 MarchingCubes UnrealEngine 网格重建 游戏开发 研究背景 《Minecraft》是当下比较火热的游戏之一,他的体素地形系统大大提高了玩家对地形的修改能力,使得自由度大大提高,其体素表示是基于 立方体 而不是 Mesh ,这使得其对曲面的表达能力受限,同

Read More

本文用来水暑假的研究性学习报告 摘要 本文给出了一种基于 HFish 的网络威胁捕捉与诱骗系统的简单搭建模式,并通过此系统捕捉了当今互联网上的部分网络攻击,通过这些数据进行简单的整理分析,透漏出网络中的潜在威胁。 关键词 网络安全 黑客攻击 网络攻防 密码破译 研究背景 作为一个小型个人网站的站主,可能并不会感觉到自己的网站被扫描与攻击,但实际上,互联网中有不少潜在的威胁。网站在明处,潜在威胁在暗处,并不容易对潜在威胁做定性定量分析,所以就需要威胁捕捉与诱骗系统通过模仿真实网站的行为,捕捉潜在的

Read More

引擎: UE4.26.2 构建版本 事情的起因是写体素构建器的时候,想生成个球,就想到抄材质的 SphereMask 节点。 这里以 SphereMask 节点为例,分析材质蓝图节点的定义。 UMaterialExpression 材质节点的 C++ 父类为 UMaterialExpression ,定义在 MaterialExpression.h 头文件中,所有原生材质节点均为此类的子类,此类主要成员如下。 virtual int32 Compile(class FMaterialCompil

Read More

这是 2021年山大未来科学营(夏季)- 人工智能与发明创造未来科学营 的作业 所以看看就行 基本信息 名称:远程智能房间巡逻警报机器人 解决家里/房间长期无人,但是有设备运行或其他需求,需要远程监控。可以方便远程监控家中环境,监控设备的运行状态,并且具有良好的机动性和灵活性,可以适应不同的房间环境。 硬件连接图 graph LR 摄像头 — 树莓派 超声传感器 — 扩展板 5路组件 — 扩展板 树莓派 — 扩展板 扩展板 — 电机驱动板 扩展板 — 测速左 扩展板 —

Read More

Establish Battlefield Control, Stand By — 战场控制建立,请等待。 Battle Control Online — 作战控制连线。 Incoming Transmission — 信号输入。 New Objective Received — 收到新的任务目标。 Objective Complete — 任务目标完成。 Mission Accomplished — 任务完成。 Missi

Read More

CornerCoordOffset[8] – 表示顶点索引到顶点空间位置的映射,如 CornerCoordOffset[0] = (0,0,0) 表示 顶点-0 的位置是 (0,0,0) 。 Triangulation[256][5][3] – 表示三角形拆分,可以通过顶点状态(通过位掩码)拆分三角形,得到三角形对应的边索引,如 Triangulation[2][0][0] = 0 表示 顶点-1 在“内部”其余顶点在“外部”时,第一个三角形的第一个顶点在 边-0 上。

Read More

基于 Mermaid 类图规范编写: Mermaid: Class diagrams “在软件工程中,统一建模语言 (UML) 中的类图是一种静态结构图,它通过显示系统中的类以及它们的属性和操作(或方法)再加上类之间的关系来描述系统的结构。” 维基百科 类图是面向对象建模的主要构建基础。它可以用于应用程序一般结构的概念建模,以及将模型转换为编程语言代码的详细建模。类图也可用于数据建模。类图中的类表示应用中的主要元素、交互和要编程的类。 Mermaid 可以渲染类图。 classDiagram A

Read More

InsideUE4 – Unreal C++ 基础、 GamePlay 架构。 手摇虚幻引擎 – 拆解 Unreal 引擎源代码,分享一些骚操作。 剖析虚幻渲染体系 – Unreal 渲染体系、渲染管线、多线程。 C# and Shader Tutorials for the Unity Engine – Unity C# 及 着色器 系统教程。 GAMES 系列课程 – 图形学、模型重建、物理引擎直到游戏引擎。

Read More

引擎: UE4.26.2 构建版本 StaticMesh 简称 SM ,表示引擎中的 静态网格体 ,在新版本的引擎中, SM 也被允许在运行时构建,渲染一个 SM 需要 SMC 的支持, SMC 使用 静态/动态渲染路径 ,在允许的情况下优先使用 静态渲染路径 ,会缓存所有渲染命令。 类图 UStaticMesh 类图 classDiagram IInterface_AssetUserData <|.. UStaticMesh Interface_CollisionDataProvider

Read More

引擎: UE4.26.2 构建版本 ProceduralMeshComponent 简称 PMC ,提供一个程序化网格组件,可以通过自定义的三角形制作可渲染网格,使用动态渲染路径,在每帧收集渲染数据,没有任何数据缓存。 类结构 游戏 类图 classDiagram Interface_CollisionDataProvider <|.. UProceduralMeshComponent FPrimitiveSceneProxy <|– FProceduralMeshScenePro

Read More

多人联机吃鸡小游戏 多人联机跳跳大作战 多人联机碰碰大作战 多人联机领地大作战 多人联机星爆大作战 多人联机巷口大作战 多人在线摆锤大作战 多人联机策略大作战 多人联机海盗大作战 多人联机动物大作战 多人联机战舰大作战 多人联机物理大作战 多人联机僵尸大作战 多人联机切菜大作战 多人联机飚车大作战 多人联机圈地大作战 多人联机坦克大作战 多人联机撞击大作战 多人联机突突大作战 多人联机冲冲大作战 多人联机消除大作战 多人联机空中大作战 多人联机斧头大作战 多人联机坦克大作战 多人联机蛇蛇大作战

Read More

成果 引擎版本 4.26.2 实现一个 UTexture2DArray 包裹器。 支持在 Runtime 的纹理数组创建与修改。 支持纹理数组 MipMap (官方实现只有第0层Mip)。 效果图 此纹理数组共5个元素,5个 Mip 层级。 其中,横向为元素,纵向为 Mip 层级。 代码 Texture2DArrayWrapper.h #pragma once #include "CoreMinimal.h" #include "UObject/Object.h&q

Read More

为了防止 ICP 信息硬编码,试图修改主题 PHP 代码时发现,主题自带一个底部社交菜单,但是社交菜单会把菜单项换成图片,此操作是完全通过 CSS 代码进行的,所以只需要在自定义 CSS 中加入下面的 CSS 代码,即可覆盖。此代码通过重置社交区域的 li a 标签设置使其恢复文本显示。 .social-menu li a { all: revert; all: unset; } .social-menu { display: -webkit-box; display: -ms-flexbox;

Read More

原文传送门 FRunnable & FRunnableThread FRunnable提供了最为原始的线程支持,类似std::Thread,虽然没那么优雅,但是功能略多于std::Thread FRunnable—-承载业务逻辑 +[f] Init : 初始化,可以失败 +[f] Run : 线程运行函数,返回退出代码 +[f] Stop : 提前终止这个线程 +[f] Exit : 进行退出前的清理 +[f] GetSingleThreadInterface : 平台不支持

Read More

使用 Tarjan 算法 lli fa[maxn]; lli dfn[maxn]; lli low[maxn]; bool cut[maxn]; void tarjan(lli u) { dfn[u] = ++cnt; low[u] = dfn[u]; lli child = 0; for (lli i = 0; i < mp[u].size(); ++i) { lli v = mp[u][i]; if (!dfn[v]) { ++child; fa[v] = u; tarjan(v);

Read More

约定存边方式为从左部到右部的有向边,左右部点编号相同 匈牙利算法 lli mch[maxn]; lli vis[maxn]; bool dfs_hun(lli u, lli dfn) { if (vis[u] == dfn) return false; vis[u] = dfn; for (lli i = head[u]; ~i; i = edge[i].nxt) { lli v = edge[i].v; if (mch[v] == 0 || dfs_hun(mch[v], dfn)) { mc

Read More

lli n; lli arr[maxn]; lli lg[maxn]; lli st[maxn][32]; inline lli flg(lli x) { if (lg[x]) return lg[x]; lli tmp = x; lli res = 0; while (tmp) tmp >>= 1, ++res; return lg[x] = res – 1; } inline void init_st() { for (lli i = 1; i <= n; ++i) st[

Read More

题解 [该代码需要配合线段树] int cnt; int fa[maxn]; int dep[maxn]; int siz[maxn]; int son[maxn]; int rk[maxn]; int top[maxn]; int id[maxn]; inline void init_tree() { cnt = 0; } void dfs_ss(int u) { int ms = -1; int mss = 0; siz[u] = 1; for (int i = head[u]; ~i; i

Read More

我见到你所说的那位玩家了。 (玩家姓名)? 是的。小心。他现在已达到了更高的境界。他能阅读我们的思想。 没关系。他认为我们是游戏的一部分。 我喜欢这个玩家。他玩得很好。他没有放弃。 他以屏幕上出现的文字的形式阅读着我们的思想。 在他深陷游戏的梦境时,他总以这种方式想象出各种各样的事物。 文字营造出了一种美妙的界面。非常灵活。而且比起凝视屏幕后的现实来说,不会让人那么恐惧。 他们也曾经听到过声音。在玩家能够阅读之前。那些不在玩的人们称呼玩家为女巫、术士。而玩家们梦见他们自己乘坐在被恶魔施加了力量的

Read More

向量和标量相乘 s\mathtt a = (sa_x,sa_y,sa_z) 不改变向量的方向,只改变长度。 向量的加减 \mathtt a+\mathtt b = [(a_x+b_x),(a_y+b_y),(a_z+b_z)] 将两个偏移量叠加,类似力的合力。 \mathtt a-\mathtt b = [(a_x-b_x),(a_y-b_y),(a_z-b_z)] 相当于加另一个向量的相反数。 方向 + 方向 = 方向 方向 – 方向 = 方向 点 + 方向= 点 点 &#8211

Read More