自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dream World

talk is cheap, show me the code

  • 博客(34)
  • 收藏
  • 关注

原创 虚幻4 C++ UFUNCTION 宏 参数解析

虚幻引擎c++中定义了许多宏,如UCLASS(),UPROPERTY(),UFUNCTION(),USTRUCT()等,其中UFUNCTION()宏添加在函数前面,填入适当参数可以帮助函数实现特定的功能, 如允许蓝图调用该函数。这里总结下UFUNCTION()宏几个重要的参数。BlueprintCallable,蓝图可以调用该函数,但是函数体只能在c++中实现;BlueprintImplementa

2016-10-12 20:59:32 3317

转载 UE4 性能优化方法(转载)

戏帧率很低,或者有卡顿的现象,可能会有很多原因,这时候不要乱猜,比如是不是人物太多了或者渲染的东西太多了,这样猜意义是不大的,可能会浪费很多时间,但是总找不到点上,当然如果运气好也可以找到瓶颈,这个时候我们可以借助相应的工具来查找性能瓶颈。此处我们仅以UE4来展开讲解。首先要确定瓶颈是在CPU还是GPU,为了找到是谁,以非debug版本启动你的程序,并且在控制台上输入stat unit 命令,如果是

2016-10-12 19:37:11 16929

原创 UE4 三角面操作:CustomMesh组件实例,实现自由拉伸的立方体

CustomMesh组件,顾名思义,就是可以自定义的mesh,它提供了最基础的三角面,由程序员决定三角面的三个顶点,所以,只要你水平可以,你就能够用它拼成你想要的任何模型….这里我用8个顶点,12个面拼出来了一个立方体,然后,你还可以任意移动它的8个顶点,自由拉伸任何一个面…..有点像一个建模软件….效果如下。 拉伸的效果如下: 最后,立方体成为这样了…任意的12面体。主要思路就是用顶点8个球的

2016-08-23 16:23:30 11100 1

原创 虚幻4增强现实Demo

基于4.12制作,使用了Augmented Reality插件。 插件链接https://forums.unrealengine.com/showthread.php?86525-Augmented-Reality-for-UE4两个版本,原理一样,视频见下面的链接。 http://v.youku.com/v_show/id_XMTY2Mjg0NjM2NA==.html http://v.yo

2016-07-29 14:37:04 3249

原创 UE4 C++示例工程Battery Collector(4.10版本又更名为3rd Person Power-up)

这个是官方的一个C++示范工程,一共有21个教学视频,总时长2个小时。从游戏逻辑上、引擎功能使用程度上来说,都属于比较简单的层次,不过以入门、了解虚幻4的C++特性为目的,这个还是不错的素材。最终效果见优酷链接。下面是主要代码,包含5个类:Pickup,BattertyPickup,BatteryCollectorCharacter,BatteryCollectorGameMode,SpawnVol

2016-07-25 21:38:53 3823 2

原创 UE4 蓝图里的 函数递归调用

最近项目里需要用到一个递归算法,测试了下蓝图里函数的递归用法,看起来还可以,代码如下 上面的终止条件为200,超过200会触发引擎的“发现无限循环线”错误。在所有循环代码中,似乎虚幻引擎都会做判断,超过某个循环次数就会报错,这在 一些特殊情形下,是无法满足需求的。还好,200次够我用了..,.

2016-06-18 20:19:19 2927

转载 虚幻4编码规范

来自官方文档本页面的内容:简介类的组织结构版权声明命名规范 示例基本C++数据类型的可移植别名注释指南示例格式C++ 11和现代语法原有宏的新关键字‘auto’关键字Range Based For Lambdas以及匿名函数强类型枚举Move语句第三方代码代码格式 大括号 { }If - ElseTabs(制表符)Switch 语句Namespaces(

2016-04-28 16:26:17 3128 1

原创 虚幻4 动画系统概述

虚幻引擎提供了一套完整的动画设计系统,从基本的动画导入,到最后的人物动画控制,流程完善成熟,上手简单。下面先从宏观上介绍下UE4的动画系统,然后深入介绍几个功能模块。一、整体介绍 下面这张图翻译自官方文档,它从整体上介绍了动画功能的来龙去脉,简单明了。 处于核心的是Pawn和Character蓝图,它相当于游戏玩家,包含可视化的人物骨骼、形象,它接收用户的输入,并让角色执行某种行为(如奔跑、跳跃

2016-04-26 16:08:18 17452 1

原创 UE4 蓝图 实现 数组的边遍历边删除

在foreach中删除元素时,每一次删除都会导致集合的大小和元素索引值发生变化,从需导致在foreach中删除元素会出现异常。 如下图,最后ArrayTest数组的Length并不为0,foreach节点没有遍历所有元素。解决方法是采用for循环,并且从尾到头遍历。 蓝图的Forloop节点只能从小往大遍历,因此可以用if语句的循环来代替,实现如下。最后输出数组的length为0,满足要求。

2016-04-25 11:47:47 9781

转载 displacement map置换贴图

在游戏中经常会有这样的情况,就是一个平面——这个平面在现实中并不是一 个“平”面,例如砖墙的表面带有石质浮雕等等。这样的情况如果要求游戏开发人员将复杂的3D细节都做出来是不现实的,因为即使不计较在建模时候的复杂度, 过多的3D细节也同样会大量消耗显示芯片的性能,让游戏根本没有可玩性。同样在小型制作工作室的硬件配置一般也不支持过于复杂的模型制作。置换贴图是同凹凸贴图,法线贴图,切线贴图相区别的另一种制

2016-04-07 15:35:50 17660

原创 虚幻4Matinee功能 基本概念及简单示例(Sequence编辑器)

虚幻4提供的Matinee功能十分强大,可以用来制作动画、录制视频。它的核心想法是在Matinee编辑器内提供一套自己的时间坐标系,在这个相对时间内通过调节actor的属性来改变actor的状态,进而达到制作动画的目的。如果更加大胆一点,我们不仅可以调节actor,还可以更改相机的状态,粒子效果的实现、光照的渲染等等。 总之,Matinee就是一个控制物体状态的可视化编辑器。上面是编辑器界面。1.

2016-03-28 16:16:46 21521

转载 c++中Const,Const函数,Const变量,函数后面的Const

看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议

2016-03-24 09:58:59 3548

原创 虚幻UE4蓝图添加数学表达式

蓝图里面如果需要进行复杂的数学运算,可以利用“Math Expression”来简化节点,步骤如下。添加“Math Expression”节点 节点重命名,在名字里直接写入变量名及运算过程即可。如输入:(x+y)+x; 节点会自动识别变量及数学符号。 点开这个节点,里面就是数学运算过程。

2016-03-23 09:53:44 7609

转载 C++ 中malloc函数详解(转载)

一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include <malloc.h> 或 #include <alloc.h> (注意:alloc.h 与 malloc.h 的内容是完全一致的。)功能:分配长度为num_bytes字节的内存块 说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。 当内存不再使用时,应使

2016-03-09 14:13:36 57967 2

原创 vs2015多行注释与取消多行注释

注释: 先CTRL+K,然后CTRL+C 取消注释: 先CTRL+K,然后CTRL+U

2016-03-05 11:53:07 45990 1

转载 UE4材质初探(转载)

原文链接UE4的材质表面上看起来很简单,可是到了用的时候却总是没有办法实现好的效果。所以特意对文档进行阅读,初步了解了一下主要知识点。当前使用的UE4版本:4.8.0。UE4中的材质有很多用途,可以用于光照、延迟渲染、粒子系统等等。由于暂时不会用到,目前只做了最基础的材质使用的研究,也就是说是Materia Type为Surface的情况。材质的最终输出节点上的可用项会随着功能选择的不同而有所不同。

2016-03-02 17:04:30 26853

原创 虚幻UE4碰撞系统

虚幻引擎的碰撞系统...

2016-02-21 15:27:38 18391 1

原创 虚幻4蓝图使用小技巧(更新)

不得不说,虚幻的蓝图系统还是非常方便强大的,大大的提高了开发效率。蓝图是一个很成熟的系统,也就有很多隐藏的小技巧,这些技巧谈不上多高深,却可以使人们在使用蓝图时更加得心应手,更加喜爱这个“可视化编程“。发现一个更黑科技的技巧…见动图 直接把变量拉到节点上,直接生成函数参数啊,类型自动匹配,名字自动匹配!!按住某个按键,鼠标左键点击蓝图,会在相应地方生成对应的节点。 比如,A对应Add节

2016-01-31 22:12:51 13516

原创 虚幻4全局函数类蓝图(蓝图函数宏库)

在之前的虚幻版本中,要想实现某个函数在任意蓝图调用,必须通过C++实现,虚幻4.8版本提供了一个蓝图类—BlueprintFunctionLibrary,在这个蓝图类里写的所有函数都可以在任意蓝图里调用。具体步骤如下。首先,创建一个BlueprintFunctionLibrary类。右键—Blueprints——蓝图函数宏库即可。 重命名即可。 打开这个蓝图,正常写函数即可。在这个蓝图里写的

2016-01-25 20:59:19 5646 1

转载 C++函数重载和函数覆盖的区别

“overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。先来说说重载的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服。尽管我们说话的时候并没有明确地说用洗车的方式来洗车,或者用洗衣服的方式来洗一件衣服,但是谁也不会用洗衣服的方式来洗一辆车,否则等洗完时车早就散架了。我们并不要那么明确地指出来就心知肚明,这就有重载的

2016-01-11 09:46:42 1363 1

原创 虚幻4全部鼠标样式mouse cursors

公司非常大胆(奇葩)的用虚幻4制作一个3D软件,既然是软件,就要管理鼠标的样式,如手形、十字形、左右拉伸型等等。 总的来说,这个还是非常简单的,就是管理起来要注意随时还原鼠标的默认样式。通过下面的蓝图节点可以改变鼠标当前样式。 虚幻引擎里主要的鼠标样式如下: 所有鼠标样式都在这个网页(同时还是一个鼠标拖动物体的例子)。

2015-12-21 20:49:09 3401

转载 物理引擎介绍

一、简介物理引擎通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映。为每个游戏使用物理引擎并不是完全必要的—简单的“牛顿”物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候(比如赛车类游戏或者保龄球游戏),通过编程的方法就比较困难了。 物理引擎使用对象属性(动量、扭矩或者弹性)

2015-12-11 11:20:24 4892

原创 虚幻4本地坐标和世界坐标的转换(蓝图)

使用游戏引擎最免不了的就是本地坐标和世界坐标的转换,虚幻蓝图系统已经提供了非常完整的接口,这里简单介绍下,所有有关的蓝图函数都在这个页面。Inverse Transform Location,传递一个物体的Transform信息,将一个世界坐标系下的点转换为本地坐标系下的点。 Transform Location,传递一个物体的Transform信息,将一个本地坐标下系的点转换为世界坐标下系的点。

2015-12-08 20:16:44 24999

原创 欧拉角pitch、yaw,roll的理解

关于旋转永远是做游戏的难点和混乱点。我们知道表示一个旋转有多种方式,简单的欧拉角,复杂点的四元数,再复杂点的矩阵。之前接触unity可以用四元数和欧拉角两种方式表示旋转,最近一直研究虚幻引擎,目前只看到了欧拉角这一种旋转方式。欧拉角是表达旋转的最简单的一种方式,形式上它是一个三维向量,其值分别代表物体绕坐标系三个轴(x,y,z轴)的旋转角度。这样的话,很容易想到,同样的一个三维向量,代表了绕x,y,

2015-11-25 21:38:51 108642 11

原创 虚幻4动态加载画面(后台加载关卡)的实现

我们知道虚幻里要加载新的关卡一般是通过Open Level函数实现,如下所示。但是,load level函数会阻塞进程,如果之前有加载动画在播放的话,当执行load level函数时,所有进程都停止,动画将会停止。如下为验证蓝图。 loading是一个widget蓝图,其含有throbber控件,可以模拟加载动画。根据实测,这个蓝图无法实现动态的加载画面,在open level执行后,所有其他代码

2015-11-19 20:26:54 21529 1

转载 C++指针详解

c++指针

2015-11-14 20:11:57 608

原创 虚幻4 spline组件、spline mesh组件的用法

虚幻4spline及spline mesh组件

2015-11-12 21:19:02 12575 3

原创 虚幻4实战 贪吃蛇制作

虚幻4,贪吃蛇

2015-11-06 14:12:48 7560 5

转载 (转)法线贴图Nomal mapping 原理

法线贴图多用在CG动画的渲染以及游戏画面的制作上,将具有高细节的模型通过映射烘焙出法线贴图,贴在低端模型的法线贴图通道上,使之拥有法线贴图的渲染效果,却可以大大降低渲染时需要的面数和计算内容,从而达到优化动画渲染和游戏渲染的效果。 现在好多3d网游都没有法线贴图啊,呵呵,《giant》就没有。维基百科:法线贴图法线贴图 什么是法线贴图技术呢?这是一种用来实现3D效果

2015-10-30 09:50:40 4142 1

原创 虚幻4 Event、CustomEvent、EventDispatcher

经常接触到这些概念,今天做个总结,不涉及具体的细节,参数啊,调用啊,绑定啊等等,只是概念的区别。学术浅薄,各位一块探讨指正哈。 Event是虚幻内置的事件,这个事件什么时候被调用由引擎决定,如常见的Event HitEvent Begin PlayEvent Actor Begin OverlapEvent Actor End OverlapCustomEvents自定义事件,可以自定义事件执行的

2015-10-29 21:54:15 2778

翻译 虚幻4 文档翻译<一> Casting节点

虚幻4蓝图,casting 节点讲解

2015-10-26 22:20:39 3687

原创 <Unity>鼠标拖动物体、按下鼠标左键旋转观察物体、鼠标滚轮缩放视野

unity鼠标拖动物体,鼠标缩放视野,控制旋转物体

2015-10-23 22:08:15 11413 1

原创 unity Dotween插件的简单介绍及示例代码

dotween插件的介绍、使用,示例代码

2015-10-13 14:17:36 7047

原创 unity PlayerPrefs类扩充

对unity自带类PlayerPrefs类扩充,实现存储数组。

2015-10-12 19:28:14 885

空空如也

空空如也

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

TA关注的人

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