自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(150)
  • 收藏
  • 关注

转载 ue4和unity对比

ON THIS PAGE编辑器 术语简表 项目文件和文件 从 GameObjects 到 Actors 如何在虚幻 4 中编写代码 在虚幻 4 中编写游戏逻辑代码 常见问题 然后呢?本指南将从 Unity 用户的视角来介绍虚幻4,并帮助你将 Unity 的开发经验应用到虚幻 4 的世界中。编辑器下面分别是 Unity 编辑器和虚幻编辑器的截图,我们用颜色标出了界面中的不同区域,并用相同颜色标出了拥有相同功能的区域。每个区域上还添加了名称,以便你了解它们在虚幻引擎语境中的称呼。..

2021-01-27 11:26:40 11151

转载 网络游戏研发,该选帧同步还是状态同步?对比之后你就懂了

近年来,使用帧同步(Lockstep)的游戏越来越多,关于帧同步和状态同步的讨论争论也有不少,那么到底该选哪种同步机制呢?两种机制都使用过,各有优缺点也都踩过不少坑,这里对帧同步和状态同步进行一下总结和讨论。首先需要说明,这里的帧同步其实是指LockStep,是指服务器按帧转发客户端的操作,客户端进行确定性运算和一致性模拟(同步操作两边客户端通过完全一致的操作计算出完全一致的状态)。每帧同步状态这里也认为是状态同步。这两种同步机制都是为了达到即时同步不同客户端的状态的目的,帧同步需要参与..

2021-01-26 10:26:01 7798 2

转载 ue4 网络的最佳实践

关于性能的一般最佳实践通常,通过网络发送的数据越少,性能越好。为了保持较低的网络开销,请考虑以下做法 最大程度地减少Actor和属性的复制次数 如果Actor不用经常更改,请降低它的NetUpdateFrequency 尽可能降低Net剔除距离,以便减少远距离Actor的更新次数 如果Actor的一部分属性需要频繁复制,而其他属性很少更新,可考虑将该Actor分为多个Actor,把频繁更新的属性绑定在一个Actor上,把不需要频繁更新的属性绑在另一个Actor

2021-01-24 14:38:12 1278

转载 ue4 Slate常用优化指南

授权用户通常会询问如何才能在项目中降低UI渲染成本。当我们为内部项目优化UI时,我们用到了以下经验法则: 消除所有需要每帧运行的内容(tick/绘制),尤其是在蓝图中(tick/绘制)。将蓝图纯粹用于基于事件的逻辑或短暂的动画。 消除绑定属性的使用。属性虽然有用,但考虑到它们会每一帧轮询,其性能并不兼容。消除绑定到蓝图可调用函数的属性尤为重要。 使用无效(invalidation)。无效面板能防止布局每帧都出现在无效面板中所包含的树中的任何内容上。 4.23版中的无效面板有.

2021-01-24 14:36:40 1403

原创 ue4 c++ 模板中的一个小技巧

今天看到一行代码很有意思我们就看115行CreateStatic的参数,先说第二个参数,是一个可变参数的typename,该typename通过函数模板传递过来,再看第一个参数,稍微有点复杂,从外向内看typename 一坨东西 InFunc 表面了将这一坨东西定义为InFunc再看这一坨东西TIdentity<RetValType (*)(ParamTypes..., VarTypes...)>::Type如上图所示,将其拆成TIdentity<另一坨东西&gt

2021-01-24 11:35:22 1091

原创 ue4 关于创建动态结构体的一点思考

前言:这大半年其实没有怎么更新博客,对于自己的博客其实大部分都是一些基础教学性质的文章,真正探索性质和比较深入的内容其实很多都并没有发表出来,我想以后单独出些教学视频或资料和大家交流这篇文章是自己写工具时遇到的一个问题,由此而写。看到这篇文章就不用再看其他文章了,因为都没有这方面的资料介绍下目前ue4的静态Struct和DataTable的关系先看一张excel表导入到ue4的过程:这是一张excel的数据,其中包含了字段名和数据在ue4中我们也要创建一个结构体在结构体.

2021-01-20 17:30:32 2999 1

转载 《战双帕弥什》的动作打击感是怎么做出来的

林晨晨:下面由我来分享一下我们《战双》的两个方面的技术要点。第一个方面是关于游戏安全的,第二个方面是关于我们怎么去做好一个动作类游戏。一、7点防范措施,保证《战双》公平安全在游戏公平方面,《战双》是一个网络游戏,所以我们把玩家的公平和游戏的安全看得非常重要,让《战双》尽可能地为玩家保持公平竞争,我们做了一系列事情来保障这个环境。1.第一件是包体加固。它可以非常好地杜绝一些非法的二次解包的情况,而那这些二次解包出来非法包可能会欺骗一些玩家。比如说我们在某...

2021-01-19 14:46:14 2303

原创 Unlua原理剖析

unlua-unreal 是什么UnLua是虚幻引擎4下的特性丰富且高效的脚本解决方案,由腾讯G6团队与Epic Games China团队共同打造。它的特色在于利用引擎的反射机制按需动态导出,无需大量胶水代码;完备的静态导出功能,用于导出非反射系统的类、函数、枚举;可以覆写(override)所有'BlueprintEvent'、Replication Notify、Animation Notify、Input Event,通过Lua来扩展C++、Blueprint;可以替换线上系统原有Bluep.

2020-12-21 17:46:17 3967 1

原创 3D游戏中镜头的运用

1.使用固定距离的相机意味着视野被遮挡2.通过转动相机防止视野被阻挡如图所示,红点代表人,后面的相机可以检测角色和相机之间的遮挡从而转动相机角度达到比较好的效果例子(当障碍物即将打破视线时,抢先躲开)3.将相机拉近到障碍物跟前这种方法也可以防止打破视线用简单球形碰撞体用作相机的碰撞检测4. 让狭窄列的障碍物中断视线5.角色穿过不透明的区域...

2020-12-21 17:08:33 2854 3

原创 UE4数据驱动开发总结

1.BP CDO/Instance可以在c++中定义一个结构体然后遍历结构体数组去获取数据2.c++ ConstructHelpers3.DataTable然后遍历每个RowName获取每一行数据对于数据表也可以导出到csv,json 格式数据将数据表转出json后,直接在文本里面编辑,更加快捷方便使用数据表的优缺点这里值...

2020-05-07 00:24:13 2537

原创 《深度探索c++对象模型》读书总结

一,导读1.目前所有编译器对于virtual function的实现都是使用各个class专属的virtual table,大小固定,并且在程序执行前就构造好了2.explicit:显式的(明确出现于c++程序代码)implicit:隐式的(隐藏于程序代码背后)二,关于对象问题1.如果要打印出一个3d坐标的x,y,z一共有哪些方法呢?方法一:先声明一个坐标s...

2020-04-07 14:18:40 616

原创 《c++游戏编程入门》读书笔记

读后感想:花了3天翻完了,感觉比较基础哈,但是还是得把基础在捋一捋

2020-04-02 22:51:33 554

原创 《睡眠革命:如何让你的睡眠更高效读书总结》

1.忽视睡眠的后果也许会非常严重,甚至是致命的癌症、肥胖症、糖尿病、心脏病,并且有可能让你精疲力竭,患抑郁症。其实根本不必担心。采纳R90方案,改变自己的睡眠策略。你将发现,你的情绪、积极性、创造能力、记忆力、精力和灵敏度都将大幅提高。你的工作、家庭生活和人际关系也将出现质的飞跃,因为你将一次又一次地展现你的最佳状态。2.睡眠质量最高的时间出现在凌晨2,3点,如果在日出之后才去睡觉,就违背了你...

2020-03-29 23:22:02 503

原创 《睡眠正能量读后感》

1.很多人不能入睡的原因在于他们不累,最快克服失眠的方法就是比往常要早起15分钟2.在临睡前的沐浴能显著的提升睡眠质量3.少量的酒精能使你快速入睡4.少量的事物能增加良好睡眠的机会5.选择一首舒缓歌曲6.50年代末期,加州图莱里县监狱的领决心研究睡眠学习能否帮助囚犯洗心革面、重新做人。于是囚犯们的枕头下被偷偷放置了小话筒,他们每晚睡觉时都会听到几百句精心挑选的句子。播放这句子的...

2020-03-29 21:35:29 835

原创 《第六只手指读后感》

该文章以亲人的角度讲述对患有精神分裂的妹妹一生的哀痛和怀念:精彩语句:1.四十九岁在医学昌明的今日不算高寿,然而明姐一生寂寞,有几年还很痛苦,四十九岁,对她来说,恐怕已经算是长的了。2.明姐站在笼边,满脸不忍,向我们求情道:“不要弄死人家嘛。”明姐真是菩萨心肠,她是太过善良了,在这个杀机四伏的世界里,太容易受到伤害。3.波士顿的冬天大概把她吓怕了。美国冰天雪地的寂寞,就像新大陆 广...

2020-03-29 17:52:56 1279

原创 《此生未完成读书总结》

本书讲述的是一个复旦博士患乳腺癌后的感悟精彩语句:1.一个人的意志可以越来越坚强,但心灵应该越来越柔软2.名利权情,没有一样是不辛苦的,却没有一样可以带走。得了病后我才知道,人应该把快乐建立在可持续的长久人生目标上,而不应该只是去看短暂的名利权情。3.生与死,生的路对我来说,犹如残风蚕丝,而死却是太过简单的事。不仅简单,而且痛快舒畅,不用承受日夜蚀骨之痛。但是死,却是让这个世界上我...

2020-03-29 17:24:23 515

原创 UE4 总结十四

1 获得鼠标在世界坐标下的位置和方向,在PlayerController中的ProjectMousePositionToWorld方法,计算猪脚和鼠标的位置差来得到方向向量,让猪脚随着鼠标移动2UPROPERTY(BlueprintAssignable) // 蓝图可以动态地为委托赋予事件 FOnKingDeathSignature OnKingDeath;/...

2020-03-11 14:11:57 1146

转载 mutable、volatile关键字的作用

mutable和volatile       很少遇到这两个关键字,学嵌入式估计知道后者,深入研究C++的估计知道前者。       (1)mutable       在C++中,mutable是为了突破const...

2020-01-17 22:30:38 265

原创 [FestEurope2019] 蓝图深入探讨(总结)

1.蓝图效率没有c++高,但本身效率并不低,开发人员放弃使用蓝图主要原因并不是效率而是出于工作流程和协作方面的考量2.总的来说,蓝图是慢了一些,大概慢了十倍,具体取决于你做什么,为什么效率这么低?(1)因为要执行大量节点,效率降下来主要是因为节点的链接数量而不是节点的具体功能,如果节点很多或者逻辑很复杂,效率就低,比如这两个节点数量一样,效率总体上是一样的(2)对于逻辑类的节点,性...

2020-01-04 23:00:28 462

原创 获取编辑器选中的资源路径

任务需求:我们经常想在游戏运行时获取在编辑器中选中的文件路径:假如选中了多个资源文件,在游戏运行时,如何拿到这些资源路径呢?代码示例:这些函数封装在ContentBrower中,追下源码可得: TArray<FAssetData> Selection; FContentBrowserModule& ContentBrowserModule = ...

2019-10-13 22:01:25 1218

原创 一些值得去探索的ue4商城插件

如果你们想要看哪个插件的详细解析可以私信给我哈,抽空可以写个详细解析博客1、可交互植被插件该插件包括了多种可交互植被,大概看了一眼,好像是蓝图和材质相结合插件名:Unified Interactive Physical Foliage地址:https://www.youtube.com/watch?v=ESv9BReC2R4&feature=youtu.b...

2019-10-11 08:04:31 3323 2

转载 物体围绕某个点旋转一定角度

2D上的点围绕某另一个点旋转: If you rotate point (px, py) around point (ox, oy) by angle theta you’ll get:p'x = cos(theta) * (px-ox) - sin(theta) * (py-oy) + oxp'y = sin(theta) * (px-ox) + cos(theta) * (py-oy)...

2019-08-27 19:55:38 2697

原创 TWeakptr,TWeakObjectPtr和TSoftPtr的概念,为什么要引入这几个概念?

官方解释:Tweakptr是引擎对于智能指针的一个弱引用的实现,就是不记录智能指针的引用计数,这样真正的指针不会因为这个 Tweakptr的指向而不能被释放。对应的是智能指针是TSharedPtr。另外引擎还有一个TWeakObjectPtr,是表示不真正引用UObject,而导致这个UObject不能被GC,因为GC是通过查找引用关系来决定是否要GC。TSoftPtr的作用不实际引用...

2019-08-19 16:10:19 5646

原创 UOD2018 方舟公园VR性能优化方法

对于GPU优化在分析gpu时,看到GPU的报告后具体怎么分析?在对BasePass的性能分析可以先同控制台对每一种进行打开关闭,看帧数的变化对于粒子来说:粒子用EmissiveColor来代替Light组件(也即别加一堆光源)对于植被尽可能少的使用半透明材质优化后的Shader Complexity对于通用的渲染设置1 剪裁距离要设置...

2019-08-16 22:03:10 581 2

转载 UE4在场景中使用预计算可视性(PrecomputedVisibility)

UE4 预计算可视性(PrecomputedVisibility)本文基于UE4 4.14转载请注明文章出处,作者信息,原文链接...

2019-08-16 21:39:59 2175 1

原创 中文技术直播第二期,材质编辑中向量运用(总结)

1 Object Postion的运用如果将该阶段放到base color上那么移动物体发现物体颜色会根据它的位置发生变化来用下SpeedTreeColorVariation节点调整变量的值发现不同位置的叶子的颜色是不一样的来研究下SpeedTreeColorVariation这个材质函数它就是将物体的位置拿出来乘以一个值,这里PerInstanceRand...

2019-08-16 16:13:17 746 1

原创 虚幻引擎技术直播第一期:ue4实时渲染流程(总结)

1.culling(裁剪)裁剪主要负责哪些物体要渲染到屏幕上,哪些不绘制,在CPU阶段,该阶段已经把大量不可见物体排除了有三个因素影响裁剪:(1)距离:(2)视椎体:和相机的角度有关(3)遮挡:如果物体a在物体b前面且a不透明,那么遮挡部分就不渲染在ue4编辑器中选中物体,会有一个黄色的圈叫Bounds,负责运算物体是画还是不画。在StaticmeshActor...

2019-08-14 23:32:07 3896 1

原创 获取UE4编辑器中材质和Mesh缩略图并拖拽到指定Mesh替换材质

任务一:获取材质或Mesh的缩略图并渲染成一张Texture2D图片 我们知道在UMG中显示的图片和UE4编辑器中从磁盘Import进的图片最后都转成了Texture2D格式,然而缩略图的信息都是封装在以Thumbnail关键字的类中做法: 先拿到一个ObjectThumbnail,有多种方式获取,下面代码只是其中一种,还可以从ue4内存中拿,那种方式更快捷,...

2019-07-29 15:56:25 3204 1

原创 UE4源码中不常见但很有用的API(包含slate常用方法)(持续更新)

1.SNew该函数在Slate层中经常使用,常用于创建一个Slate控件,相当于UObject层中的NewObject<>();具体代码如下所示,后面.HAlign(HAlign_Right)这种都是设置这个Slate控件的样式,比如该Box是水平居中还是居右,比如Padding是什么比例等等SNew(SBox) .HAlign(HAlign_Right) [...

2019-07-29 05:38:22 5902 1

转载 UE4制作多人大地型游戏的优化

摘自https://gameinstitute.qq.com/course/detail/101318月11日,由腾讯游戏学院举办的第二届腾讯游戏开发者大会(TGDC)在深圳举行。大会技术论坛中,Epic Games 中国资深技术工程师王祢带来了《UE4制作多人大地型游戏的优化》的主题演讲。演讲中,王祢分享了在当前重度手游的市场下,如何从游戏线程、渲染线程、GPU、内存等各方面进行优化,从而提...

2019-07-19 12:32:55 2915

转载 ue4读取灰度图生成三维地形mesh

ATerrainCreateActor类代码如下.h文件#pragma once #include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "ProceduralMeshComponent.h"#include "TerrainCreateActor.generated.h" UCL...

2019-07-19 07:26:30 3658 1

转载 [UE4]优化指南(程序向)

GPUProfile来统计性能消耗的时候,在editor模式下不是很准,因为编辑器的消耗也算进去了,如果要用,最好以Game模式来查看。 UE4不支持640X480的分辨率,如果在这个分辨率下运行程序,会导致程序崩溃(4.4版本,不知最新版本是否仍有此问题)。 如果角色身上有很多Component需要Attach,尽量在使用时Attach,不要一加载就全部attach,否则当场景中角色很多时,...

2019-07-18 22:50:25 1056

转载 [UE4]性能优化指南(美术向)

转 [UE4]性能优化指南(美术向) ...

2019-07-18 22:48:46 1306

转载 UE4 渲染流程

在手游品质越发上扬的如今,已经有不少厂商开始使用一些性能更好的引擎,去尝试游戏制作了。而虚幻4引擎(以下简称UE4)就是其中之一,在这款...

2019-07-03 16:10:56 8511

原创 UE4材质节点大全

一.基础常量1. Constant快捷键:1+鼠标左键2.Constant2Vector快捷键:2+鼠标左键3.Constant3Vector快捷键:3+鼠标左键4.Constant4Vector快捷键:4+鼠标左键5.StaticBool6.TextureSample7.TestureObject8.ParticleSu...

2019-06-25 15:00:22 82406 21

转载 UE4 统计数据命令描述

统计数据命令描述统计数据命令描述 概述 执行命令 在编辑器统计查看统计数据 统计数据类型 Cycle Counter Stat(循环计数器统计数据) Memory Counter Stat(内存计数器统计数据) Accumulator Stat(累加器统计数据) Counter Stat(计数器统计数据) Standalone S...

2019-06-11 18:00:20 7304

转载 《GTA5》揭秘游戏背后的故事

  《GTA》系列自1997年公开以来,就受到了广大玩家的喜爱,在2年前,R星公开了《GTA5》,游戏非常成功,在短短24小时内就出货了1100万份,销量可怕。  游戏的PS3/XBOX 360版本可以说做的非常成功,PS3仅有256M RAM以及256M显存,竟然能够运行如此出色的画面而不奔溃,这不得不让人感叹R星技术的强大。  当然,今天我们要谈论的是游戏PC(DirectX 11)版本,...

2019-05-17 15:34:49 5859 1

原创 UE4总结十三

1 设置编辑器中游戏播放的分辨率大小播放-->高级设置2 将射线通道转成射线类型,这个有空再看下 const ETraceTypeQuery TraceChannel = UEngineTypes::ConvertToTraceType(ECC_GameTraceChannel4);3 摘自:https://blog.youkuaiyun.com/qq_35760...

2019-04-24 20:05:25 1349

转载 (UE4 4.20)UE4 碰撞(Collision)之光线检测(RayTrace )

转自https://blog.youkuaiyun.com/qq_29523119/article/details/85957072 在游戏中我们经常用到光线检测(RayTrace),也就是直线与物体相交,获取相交的对象和相交的位置等等。UE4中 &quot;KismetSystemLibrary.h&quot;和 &quot;Wolrd.h&quot;提供了几个有关光线检测(RayTrace)的接口,这一节只要...

2019-03-16 14:55:22 3356

原创 UE4之可破碎物体遇到的坑

写在这之前:自己用UE4的可破碎也有一段时间了(确切说是两年时间了),这里总结下遇到的一些坑,一般用UE4自带的可破碎插件APEX就能应付大多数项目了1 创建可破碎Mesh以前只要找到对应的StaticMesh右键创建可破碎网格即可(现在在插件里,搜Apex Destruction勾上即可)如果打开工程发现蓝图资源缺失,没有DestructibleComponent,就这么做...

2019-03-16 00:11:03 7827 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除