ue4_ue4教程 - CSDN
  • 虚幻4基础操作 - 初中生学UE4第一季

    万人学习 2019-06-26 11:56:43
    本课程是“初中生学UE4”系列中的基础操作部分,学完这个课程之后,同学们会对虚幻4有一个初步认识,并掌握虚幻4的基础操作。后续课程包括蓝图、动画、材质等方面。
  • ue4感受

    千次阅读 2017-08-12 17:21:03
    学了半个月的ue4,感觉ue4的蓝图功能很强大,同样蓝图也需要编程逻辑,第一步该干什么,接着该干什么,必须清晰,一步接着一步才能写好,同样的,要做游戏,必须c++技术还可以,很多游戏开放都是用c++做的,ue4画面...

    学了半个月的ue4,感觉ue4的蓝图功能很强大,同样蓝图也需要编程逻辑,第一步该干什么,接着该干什么,必须清晰,一步接着一步才能写好,同样的,要做游戏,必须c++技术还可以,很多游戏开放都是用c++做的,ue4画面很高,很好,但最大的缺点是打包太大,尤其是手机端,打包一个游戏需还是要很大内存,ue4也是做VR的好工具,学了半个月感觉就学了一个皮毛,还是很浩瀚庞大,学无止境。

    展开全文
  • UE4学习笔记(一):初识UE4

    万次阅读 2015-08-16 21:45:39
    通过制作一个上下浮动的圆锥来熟悉UE4

      我使用的UE4版本是4.8.3,首先,新建一个项目,建议跟我一样的初学者先建立一个空项目,以便于自己扩充来熟悉UE4,如图:
    新建项目
      这里需要注意一点,就是项目名称不能有中文,不然可能会出现一些奇怪的BUG。
      项目创建完成后会自动打开VS2013,当然前提是你电脑里得有。UE4与VS2013是交互使用的,比如你在UE4中添加一个类,那VS中也会自动添加一个类,并且包含基本代码,同样在VS中编写的代码编译后也会影响UE4,我只能说,32个赞!
      创建好项目后,我们首先来制作一个可以上下浮动的圆锥,作为学习UE4的第一步。
      首先,新建一个Actor类,类名为FloatingActor,就是我们制作的那个可以上下浮动的圆锥。
      创建类
      
      
      这时会显示正在编译c++代码,稍等一会编译完成后,你会发现VS中MyProject1文件夹下多了两个文件,FloatingActor.h与FloatingActor.cpp,是不是很方便?
      下面我们开始写代码,相信选择使用c++而不是蓝图来制作游戏的各位都不怕写代码吧。
      首先在FloatingActor.h中添加一个变量RunningTime,用来保存时间信息。

    class MYPROJECT1_API AFloatingActor : public AActor
    {
        GENERATED_BODY()
    
    public: 
        // Sets default values for this actor's properties
        AFloatingActor();
    
        // Called when the game starts or when spawned
        virtual void BeginPlay() override;
    
        // Called every frame
        virtual void Tick( float DeltaSeconds ) override;
    
        float RunningTime;
    
    };

      然后在FloatingActor.cpp中扩展一下Tick( float DeltaTime )函数:

    void AFloatingActor::Tick( float DeltaTime )
    {
        Super::Tick( DeltaTime );
    
        FVector NewLocation = GetActorLocation();
        float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));
        //通过正弦函数来控制圆锥上下浮动
        NewLocation.Z += DeltaHeight * 20.0f;       //Scale our height by a factor of 20
        RunningTime += DeltaTime;
        SetActorLocation(NewLocation);
    }

      然后Ctrl+Shift+B编译一下,在UE4中也要编译一下,全都编译完成后,把我们的FloatingActor类拖到上方的关卡编辑器中,这样世界大纲中就会出现一个FloatingActor1对象,如图:


      选中它后我们添加一个圆锥,然后更改一下初始位置,单击运行,我们便可以看到一个圆锥在桌子上放上下浮动了。

      还有一点需要注意,用UE4制作的游戏是很大的,这么点东西,项目就已经1.5G了,还望大家做好心理准备。
      

    展开全文
  • UE4真实地形制作

    万次阅读 多人点赞 2018-08-28 21:40:57
    此方法特点是将现实中的地形于UE4中呈现,而不是手动绘制地形。首先从地理空间数据云获得指定区域的地理数据,然后使用GlobalMapper更准确选出区域并把数据转换成WorldMachine可识别的格式,通过WorldMachine生成...

    制作地形方法很多,今天给大家分享一种原创野套路。此方法特点是将现实中的地形于UE4中呈现,而不是手动绘制地形。首先从地理空间数据云获得指定区域的地理数据,然后使用GlobalMapper更准确选出区域并把数据转换成WorldMachine可识别的格式,通过WorldMachine生成准确地形,最后导入UE4修改细节并添加材质。

    目录


    1. 获得DEM数据
    2. 选取指定区域并转换格式
    3. World Machine地形处理
    4. 导入UE4制作地形

    1. 获得DEM数据

    通过政府网站获得准确的地形高程数据,世界任意位置可以通过www.usgs.gov 获取相关数据。但是国内项目基本只需要中国的地理数据,所以推荐地理空间数据云获得国内任意位置的DEM高程数据(USGS同样可以获得国内的DEM数据但是精度不高)。打开网页之后可以选择很多种搜索资源的方式,此处推荐高级检索,较为直观。
    这里写图片描述

    位置选择方式有几种,选择适合你的方式。此处使用地图选择,框选出吉林长白山的区域并点击搜索。左侧显示的列表是此区域所占的数据格。因为数据格是经纬度0.5 * 0.5 的格子,我们框选的区域恰恰在横向竖向分别跨了两个格子。所以我们需要下载四个文件。
    这里写图片描述

    2. 选取指定区域并转换格式

    可以下载GlobalMapper读取下载好的DEM数据,并截取我们想要的区域,切转换成World Machine可以识别的文件格式。此处使用的是GlobalMapper 10.0(链接:http://pan.baidu.com/s/1eRXSnOA 密码:jrf4)。打开此软件,将之前下载的dem数据解压,并且把名字后缀为dem的文件依次拖入GlobalMapper,并选择Yes to all。
    这里写图片描述

    四张图拼合之后的中心区域便是我们之前选择的长白山

    这里写图片描述

    左上角点击File选择导出elevation,并且格式选择HF2/HFZ
    这里写图片描述

    选项卡中第三个分页导出边界范围选择draw a box
    这里写图片描述
    按住SHIFT左键拖拽选择指定区域可以拉出长宽1:1的区域
    这里写图片描述

    点击确定之后选择导出位置。然后把此文件拖进GlobalMapper,点击Tools—Configure,修改显示单位
    这里写图片描述

    然后打开control center,点击选择最后导出的hfz文件,之后点击左下角选择Metadata,显示该区域的数据,三个数据需要记下来。面积,最低海拔高度,最高海拔高度。
    这里写图片描述

    3. World Machine(以下简称WM)地形处理

    下载安装WM (链接:http://pan.baidu.com/s/1i5e7J8p 密码:5wo7)
    打开WM, 选择项目设置,地形的宽和高是之前面积开根号 √7482 ≈ 86.499 ,右侧分辨率可以给1024作为预览的分辨率。分辨率越高构建速度越慢精度越高
    这里写图片描述
    第三个选项页的最大高度给一个512的倍数(由于单位换算,导入UE4时,Z轴缩放100倍相当于512米,此处给512倍数方便后续操作)并且高于之前测出的高度2743.145m。 于是此处给3072。
    这里写图片描述

    面板中添加file input节点
    这里写图片描述

    双击节点加载 .hfz文件,并且修改宽高与上面一致,下面的elevation调整与实际相同(最低海拔和最高海拔)
    这里写图片描述

    为了梳理流程,此处不进行复杂的修改和雕琢。直接连接一个Basic Coverage
    这里写图片描述

    双击进入,给R G B三种颜色表示三种不同区域,调整一下HEIGHT CUTOFF和SLOPE CUTOFF到你满意的效果。

    这里写图片描述

    将输出的RGB通道拆成单独通道的灰度图

    这里写图片描述

    连接heightmap output输出灰度图

    这里写图片描述

    最终地形后面需要连接一个height output输出高度图用于UE4中生成地形

    这里写图片描述

    同样还需要连接一个法线转换节点,并且连接bitmap output输出这个法线图
    这里写图片描述

    最终连接图如下
    这里写图片描述

    导出之前需要进行最终构建,所以进入项目设置把分辨率调成UE4支持的最大精度(UE4建议如下)
    这里写图片描述

    项目设置面板,修改分辨率8129*8129,下面勾选conserve memory,内存大的也可以不勾选。具体区别先不详解。
    这里写图片描述

    点击构建
    这里写图片描述

    如果内存够大,可以修改项目设置中第二个分页,然后选择最后面绿色的Tiled build
    这里写图片描述

    因为没有添加过多新节点,所以计算构建时间较短。计算结束后。分别选择不同输出节点选择输出路径和文件名。先选择格式,然后添加路径,最后选择write output to disk。注意高度图格式RAW16!
    这里写图片描述

    BITMAP导出格式为PNG 8 bit
    这里写图片描述

    单通道灰度图导出PNG格式
    这里写图片描述

    4. 导入UE4制作地形

    首先新建一个地图,然后创建一个初始材质,不用太细节。贴图细分由landscape coord控制,数值越大,细分越少。Landscape blend细节面板中添加三层,分别给不同的名字。
    这里写图片描述

    创建地形,从文件导入,文件选择raw16格式的Heightmap,材质连接刚刚创建的材质。Layers右侧点击+加号选择第一个权重,并且连接不同的对应的灰度图。Scale这里 X和Y值是我们实际的尺寸86499 / 8129 * 100 = 1064, Z值是之前WM输入的最大高度3072 / 512 * 100 = 600,最下面的alpha type选择 layered。
    这里写图片描述
    这里写图片描述

    如果没有显示正确,可以在地形的细节面板中重新添加一下此材质,有时会遇到显示错误的BUG。如果觉得天池中应该是雪不是岩石,可以用笔刷进行修改。
    这里写图片描述
    这里写图片描述
    这里写图片描述

    如果想要达到下图这种效果,需要在WM中对地形进行很细节的刻画,以及对UE4中材质进行复杂的处理如贴图混合,法线混合等等。
    这里写图片描述

    另外有的小伙伴发现地面贴图重复度太高,很不真实,那么可以与平铺次数较低的贴图lerp一下解决。下面是对比图。
    这里写图片描述
    这里写图片描述
    这里写图片描述

    END

    展开全文
  • UE4蓝图制作FPS-初中生学UE4第二季

    千人学习 2018-10-22 21:38:07
    本课程是“初中生学UE4”系列中的第二套课程,学完这个课程之后,同学们会对虚幻4蓝图有一个初步认识,可以用蓝图实现游戏业务逻辑。学习本课程之前,好先学习系列课程的第一部分,UE4基础操作。
  • UE4问题合集

    千次阅读 2018-08-17 16:29:39
    实习期间接触UE4,记录了从安装部署写功能到搭建专属服务器的一些问题 1.搭建服务端时找不到文件UnrealVersionSelector-Win64-Shippping.exe 这个文件被放在了Epic Games\Launcher\Engine\Binaries\Win64目录下,...

    实习期间接触UE4,记录了从安装部署写功能到搭建专属服务器的一些问题

    1.搭建服务端时找不到文件UnrealVersionSelector-Win64-Shippping.exe

    这个文件被放在了Epic Games\Launcher\Engine\Binaries\Win64目录下,拷贝到需要用的目录即可

    2.更换版本的时候出现问题:下载一直请稍等

    怀疑是软件的问题,实际后台已经在下载了。观察网速,看到EP的带宽占用比较大时,暂停安装,再开始安装,显示回归正常

    3.新建C++UE项目时报错:ERROR: Multiple configurations specified on command line (first Test, then Development)

    重新换个名字新建

    4.新建蓝图类,设置了spherecollision和对应的mesh组件,属性已经设置为blockAll.但是添加projectilemovement组件后反而无法检测碰撞

    将spherecollision设为root,而不是放在root下

    5.按照官方教程建立UE4的专用服务器

    https://wiki.unrealengine.com/Dedicated_Server_Guide_(Windows_%26_Linux)#Section_1_Building_a_dedicated_server_in_Unreal_Engine_4

    在生成和设为启动项目后,调试出现错误:“远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行

    参考官方文档,挨个尝试。(关闭了代理和电脑管家后重启VS解决)

    https://msdn.microsoft.com/zh-cn/library/ms164726.aspx

    6.打包项目时报错:

    ERROR: UBT ERROR: Failed to produce item: D:\UnrealEngine-4.18\Engine\Plugins\Media\WmfMedia\Binaries\Win64\TestProject-WmfMedia.lib

    打开Edit-Plugins,搜索WMF Media Player,取消勾选Enabled

    打包完成后,按照教程建立server,打开server时报错,Failed to load module ‘xxx.dll’,如图

    打包时因为一些意外原因导致dll没有被拷贝出来。将

    (UE安装目录)\Engine\Binaries\ThirdParty\PhysX\Win(版本号)\VS(版本号)\

    下的对应dll文件或者所有dll文件,全部拷贝到

    (游戏目录)\ Engine \ Binaries \ ThirdParty \ PhysX \ Win(架构)\ VS(版本)\

    7.打包游戏后,Server报错:Accessed None trying to read property XXXX.但是在debug时没有错误

    因为后台是命令行模式,没有UI等资源,所以对TextRender等操作的行为将导致这个warning,在后台将相关操作设置成只有客户端执行.

    运行dedicated server且没有客户端运行时,Execute Console Command使用ce命令,不知道为什么,即使调用muticast的event,这个event依然不会在服务端执行,因为server只有命令行,不能调用ecc?

    8.ActorComponent的GetOwner()->出现错误:不允许指针指向不完整的类类型

    编译可以通过,可以放着不管。也可以解决:添加头文件#include “Engine.h”

    9.制作人物动画时出现: uses potentially thread-unsafe call Get Player Controller .

    蓝图动画使用多线程存在安全隐患,在animationBlueprint的classsetting中取消勾选Use Multi Threaded Animation Update来禁用动画多线程

    10.Accessed None trying to read property CallFunc_GetPlayerCharacter_ReturnValue from function

    使用更为安全的Try Get Pawn Owner->Get Movement Component->Is Falling代替Get Player Character->Get Character MoveMent->Is Falling

    11.发现一个问题,client委托server执行事件(event run on server),对client所属的character的组件(例如charactermovement)做修改(例如修改maxwalkspeed),虽然这个修改会同步(所有character都能看到移速的变化),但是在其他地方获取该组件的修改后的值居然没有变化(例如将该值打印到ui界面,一直不变)

    可能是由于组件没有replicated的问题,暂时解决方法为使用自己新建的变量保存这个变化的值,然后将自己的变量设为relicated,这样获取该值就没问题

    12.自定义人物、动画,控制某一个客户端的人物移动总会出现抖动和抽搐的现象,且在其他客户端中显示正常,在server端控制人物也正常。

    搜索了大量关于animation replicated/movement replicated等等问题,全都没法解决。直到发现了这么一个回答

    居然是这么简单的问题!自建人物的方向控制和默认模型冲突了,关闭即可。

    13.编译代码时出现    -waitmutex”已退出,代码为 5。请验证您是否拥有运行此命令的足够权限。

    把include "xxxxx.generated.h"放在最后一个include的地方

    14.启动引擎时71%出现fatal error

    在vs生成代码后使用本地调试器启动ue4,能看到你代码产生错误的地方,改掉这个bug启动成功

    15.某一次同步代码后出现Failed to load /Game/AnimStarterPack/UE4_Mannequin/Mesh/SK_Mannequin.SK_Mannequin

    使用epic重新将AnimStarterPack导入到项目中

    展开全文
  • UE4这些扰人的坑

    万次阅读 2017-05-22 19:49:49
    日本网站4Gamer曾刊登一篇文章,分享了使用UE4在图像渲染中会遇到的难点以及解决方法,分享人是该引擎的开发商Epic Games日本分公司的高级工程师篠山範明。在研讨会上,篠山首先展示了UE4的整体流程图,随后他对和...
  • UE4移动组件详解(一)——移动框架与实现原理

    万次阅读 多人点赞 2018-03-03 11:27:33
    关于UE4的移动组件,我写了一篇非常详细的分析文档。由于篇幅比较大,我将其拆分成三个部分。分别从移动框架与实现原理,移动的网络同步,移动组件的优化与改造三个方面来写。这三篇文档中难免有问题和漏洞,所以我...
  • UE4材质初探(转载)

    万次阅读 多人点赞 2016-03-02 17:16:45
    原文链接UE4的材质表面上看起来很简单,可是到了用的时候却总是没有办法实现好的效果。所以特意对文档进行阅读,初步了解了一下主要知识点。当前使用的UE4版本:4.8.0。UE4中的材质有很多用途,可以用于光照、延迟...
  • 注意:离线安装是指不用通过Epic的客户端下载巨大的安装包,但是某些步骤还是需要网络连接的。并且Epic的账号也是需要的。 下载地址见文章最下方
  • UE4】UE4.24关于像素流送的使用

    千次阅读 2020-03-11 10:59:21
    UE4】UE4.24关于像素流送的使用摘要一、本地设备的浏览器1.准备工作i.使用工具ii.打开Pixel Streaming插件iii.偏好设置启动的参数iv. 打包项目2.启动服务器i.设置打包文件3.连接服务器二、同一本地网络不同设备三...
  • 解决UE4缓存使C盘膨胀的问题

    万次阅读 多人点赞 2019-12-10 23:03:49
    大家好,可能很多新手使用UE4的时候会发现C盘越来越小了,那是因为UE4引擎的缓存文件默认保存在C盘的缘故。下面来告诉大家怎么解决这个问题。 概述 一、出现的问题:UE4的缓存文件会导致C盘膨胀! 二、解决的...
  • UE4蓝图碰撞检测解析

    万次阅读 多人点赞 2020-02-04 16:44:10
    虽然UE4官方文档对碰撞好像讲的很清楚,但是尝试的时候发现有很多问题,而且和官方文档描述的总会出现一些差异,所以自己总结一下所有有关碰撞的内容,持续更新吧~ 下面总结了一般的碰撞以及多组件碰撞的一些...
  • UE4学习】01——UE4下载与安装

    万次阅读 多人点赞 2017-12-15 15:12:28
    虚幻引擎的安装有两种,一种是直接由官方给的Epic Games Launcher.exe 进行一键式安装,另外一种是是下载源码编译出UE4Editor.exe. 一下将为这两种安装方式进行说明。 建议:SSD固态硬盘,8G内存. 题主安装环境...
  • UE4碰撞规则详解(2016.7.12更新)

    万次阅读 多人点赞 2018-09-10 17:24:20
    如果想看关于碰撞响应触发,可以参考链接( UE4蓝图碰撞检测解析) 如果想进一步深入UE物理引擎相关内容,请参考博客 (UE4物理模块分析)     现在开始讲解并总结一下UE4里面的碰撞规则:   1.只有拥有...
  • UE4网络同步详解(一)——理解同步规则

    万次阅读 多人点赞 2019-12-05 20:19:49
    这篇文章主要以问题的形式,针对UE同步的各个方面的内容,...如果想深入了解同步的实现原理,可以参考UE4网络同步(二)——深入同步细节 问题一:如何理解Actor与其所属连接? 附加:1. Actor的Role是ROLE_Autho...
  • UE4学习:如何使用VS开发UE4项目

    千次阅读 2018-03-06 21:36:03
    我们可以在此位置找到UE4引擎编辑器的.exe程序,把快捷...当然由于UE4蓝图的存在,基本上可以完全由鼠标去完成功能,貌似现在也有很多的项目是用纯蓝图完成的.但相信有很多人和我一样,都是因为C++才学习UE4的,所以...
  • 一、UE4中的反射系统 1.简述: 1.1 什么是UE4反射 在UE4里面,你无时无刻都会看到类似UFUNCTION()这样的宏。官方文档告诉你,只要在一个函数的前面加上这个宏,然后在括号里面加上BlueprintCallable就可以在编辑器...
  • UE4插件研发 So Easy

    千次阅读 多人点赞 2019-11-26 14:13:12
    UE4插件研发UE4插件扫盲UE4插件是什么UE4插件的作用UE4引擎、项目、插件的区别引擎自带的插件浏览器插件目录结构插件配置文件说明UE4插件的创建方法插件代码的执行过程四种常用模式的插件模板第三方库的引入牛刀小试...
  • UE4网络同步(二)——深入同步细节

    万次阅读 热门讨论 2019-12-05 20:37:41
    前言 UE同步是一块比较复杂而庞大的模块,里面设计到了很多设计思想,...PS:如果只是想知道怎么使用同步,不建议阅读这篇文章,不过可以参考我另外一篇博客 UE4网络同步(一)——理解同步规则 另外,博主参考的源...
1 2 3 4 5 ... 20
收藏数 71,034
精华内容 28,413
关键字:

ue4