ue4地图制作 - CSDN
精华内容
参与话题
  • UE4真实地形制作

    万次阅读 多人点赞 2018-08-28 21:40:57
    制作地形方法很多,今天给大家分享一种原创野套路。此方法特点是将现实中的地形于UE4中呈现,而不是手动绘制地形。首先从地理空间数据云获得指定区域的地理数据,然后使用GlobalMapper更准确选出区域并把数据转换成...

    制作地形方法很多,今天给大家分享一种原创野套路。此方法特点是将现实中的地形于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如何制作地图

    千次阅读 2017-10-18 15:44:51
    制作地图可以在actor移动的时候进行观测。尤其是玩家在移动的时候可以有一个摄像头专门跟住让玩家可以观察自己的人物。其实也类似与监控器。 还有一种就是制作全局的小地图。就像王者一样在左上有一个全局缩略图...

    制作小地图可以在actor移动的时候进行观测。尤其是玩家在移动的时候可以有一个摄像头专门跟住让玩家可以观察自己的人物。其实也类似与监控器。
    还有一种就是制作全局的小地图。就像王者一样在左上有一个全局缩略图。
    那么如何制作呢?
    本次制作的小地图分为 两种。

    • 全局小地图。用一个摄像机拍摄全景然后投射到umg

    • 移动小地图。在人物上面增加一个摄像机,实时获取人物的位置以及场景情况投射到umg

      全局小地图

    • 新建2d捕获蓝图
      这里写图片描述
      这里写图片描述
    • 新建render target
      这里写图片描述
    • 并且把 2dMiniMap的TextureTarget 设置为刚刚新建的render target
      这里写图片描述
    • 把2dMiniMap拖入场景并且调整位置
      这里写图片描述
    • 点击运行
      这里写图片描述

    移动小地图
    - 首先新建一个umg,并添加到viewport中
    这里写图片描述
    这里写图片描述
    此时不会有任何图像出现。因为此时image为空
    这里写图片描述

    • 新建一个rendertarget
      这里写图片描述

    • 并选择CompressionSetting为
      这里写图片描述
      保存

    • 然后新建材质
      这里写图片描述
    • 打开材质,链接
      这里写图片描述

    • 进入人物。添加两个摄像机
      这里写图片描述
      这里写图片描述

    • 再在camera中去掉活性
      这里写图片描述

    • 选中2d摄像机
      这里写图片描述

    • 返回MyHUD umg中选中imge
      这里写图片描述

    • 然后保存编译运行
      这里写图片描述

    展开全文
  • 今天给大家介绍一下类似下图这种小地图制作方法 1、创建一个控件蓝图,将地图添加到画布中,检查场景是否有旋转,如果有,图片也要旋转相应的角度,否则位置无法对应上。再添加位置点和朝向的图片 2、打开...

    今天给大家介绍一下类似下图这种小地图的制作方法
    在这里插入图片描述

    1、创建一个控件蓝图,将地图添加到画布中,检查场景是否有旋转,如果有,图片也要旋转相应的角度,否则位置无法对应上。再添加位置点和朝向的图片
    在这里插入图片描述

    2、打开图表,新建两个函数,设置第一个函数的输入值为Actor类型
    在这里插入图片描述

    第一个函数的蓝图如下
    在这里插入图片描述
    第二个蓝图如下
    在这里插入图片描述
    控件蓝图如下
    在这里插入图片描述

    好,今天就介绍到这儿了,各位有何改进的欢迎分享。

    展开全文
  • UE4无限地形制作

    千次阅读 2018-08-28 21:59:10
    UE4高级功能–初探超大无缝地图的实现LevelStream ...

    前言


         好吧,这次总结的还是UE4,在这里要向CE3的朋友们道一声歉,因为本人水品有限,对于CE3的探索学习陷入了一个非常大的瓶颈,暂时抽不出一块儿大的单独的时间去解决,另外,自己也有一点小小的私念,就是期盼Cryteck官方能够推出新的版本,至少能完善一下现在的文档,所以只能暂时把CE3搁置下来,但是我并不会放弃CE3,CE3对我来说,绝对是个非常大的挑战,我不会轻易放弃他的。

       好了回归正题,先来简单说一下写这篇文章的背景吧,这两天我试着看了一下UE4官方提供的实例“2014功能介绍”,在里面发现一个疑惑,在GDC_Demo这个场景的关卡蓝图部分,发现了一个没听说的玩意儿—-“子蓝图”,这个实例中,有三个地图,感觉像是嵌套在了一起组成了一个大地图,于是带着这样的疑惑,就去群里问了一下,得到了“LevelStream”的信息,再然后,就去官方文档搜索,发现有专门这么一部分,于是,这篇文章便应运而生了!好吧,先从对官方文档的翻译总结说起!

                   



    LevelStream 实现超大无缝地图–官方文档学习


    The Level Streaming feature makes it possible to load and unload map files into memory as well as toggle their visibility all during play. This makes it possible to have worlds broken up into smaller chunks so that only the relevant parts of the world are taking up resources and being rendered at any point. If done properly, this allows for the creation of very large, seamless levels that can make the player feel as if they are playing within a world that dwarfs them in size.  

    关卡流(LevelStreaming)使得我们在游戏运行的整个过程中动态的加载、卸载地图,这样以来,使得通过“把大地图分成许多小的部分,只有与当前状态有关的地图部分资源加载”的思路来创建无缝超大地图成为了可能。


    World Composition User Guide  世界组合使用指南


    On this page:这页将会涉及



    Overview 概述:

    World Composition has been designed to simplify managing large worlds. One of the goals is to avoid using a persistent level to store streaming information as it becomes a bottleneck when a team of level designers want to work on levels simultaneously. The persistent level does not store any streaming information and instead scans a folder and treats all found levels as streaming levels. Each streaming level has information stored in the package header, which World Composition can read without loading the level into memory. Initially, all levels except the persistent level are unloaded in World Composition. You can load or unload any part of the world manually at any time.

    World Composition relies on a world origin shifting feature which, when used with distance based level streaming, allows you to create worlds which are not limited to the WORLD_MAX constant value hard-coded into the engine.

    世界组合(World Composition)这个功能的设计是为了简化对大地图管理。目标之一是,不至于因为只能使用一个持续的关卡来存储流数据,而使得“当关卡设计团队想要水平工作同时设计关卡“这样的想法成为瓶颈、不可能的想法。持续的关卡不存储任何信息流,相反,只会一次性扫描整个文件夹并且找到所有的关卡作为关卡流。每个关卡流的信息存储在包的头部,这些信息可以被世界组合(World Composition)功能来直接读取而不用提前把这些蓝图存放到内存中。最开始的时候,除了持续关卡其他所有的关卡都会存储在世界组合(World Composition)中,你可以在任何时刻加载或者卸载世界任何的一部分。
    世界的组成(World Composition)依赖于世界原始的转移特性,当通过使用基于距离的关卡流,允许你可以创建出不局限于引擎中设定好的世界最大值 WORLD_MAX constant这个常量。

    Activating World Composition 激活“世界组合”功能

    World Composition managed worlds can be activated by switching on Enable World Composition flag in World Settings.

    You can also disable world origin shifting by switching off Enable World Origin Rebasing flag in World Settings.

    被”世界组合“(World Composition)管理的世界可以通过勾选在世界设置中的Enable World Composition布尔值。

    当然你也可以通过不勾选世界设置中的Enable World Origin Rebasing 布尔值来不使用世界原始转移特性。 




    小技巧:
    (1)勾选Enable World Composition时,系统会自动扫描大地图所在文件夹,如果当大地图所在文件夹存在有其他地图的时候,系统会提示

    如果没有其他地图的话,就不会提醒。
    (2)选择继续后


    Levels Hierarchy 关卡的层次

    After you have activated World Composition, all the levels in your project will be visible in the Levels window. To open this window, click on theWindows menu, and then select Levels.

    The entries in the Levels window represent your world hierarchy.

    当你激活了世界组合的命令后,你可以在关卡面板(英文:Level)中看到你项目中的所有关卡。关卡面板可以这样打开


    关卡窗口的条目代表你的世界的层次结构



    The level with its name in blue text is the current level. Currently loaded levels will have their names in white text, while levels that are unloaded have grayed-out names.

    To load a level in the world composition, just double-click its name. Using drag-and-drop, you can establish relationships between individual levels. Child levels store position relative to the parent level, so when you change the parent level’s position all child levels will recalculate their position accordingly.

    In the Levels window, you can lock and save levels, as well as open the Level Blueprint for each level, with buttons to the right of the level name.

    窗口中名字为蓝色的关卡是当前的关卡,当前加载的关卡(如图中:SmallMap1)的名字为白色,卸载了的关卡(图中:SmallMap2)的名字为灰色。

    只需要通过在窗口中双击关卡的名字你就可以把它加载到世界组合( world composition)中,加载完成后你可以观察一下关卡名字的颜色变化哦!可以通过拖拽的形式来建立关卡之间的父子关系。这里注意,子关卡存储的是相对位置!即相对于父关卡的位置,所以一旦你改变了父关卡的位置时,对应的所有子关卡的位置也会因此发生改变。

    关卡窗口中,你可以锁定或者保存关卡,也可以直接打开每一个关卡的关卡蓝图。


    这里注意一下吧,一旦加载了一个地图后,可以观察到永久性关卡有许多属性发生了变化:




    但是显然,他们之间是有距离的,并没有重合

    Levels Composition  关卡组合:

    When Enable World Composition is on, there is a button to open World Composition at the top of the Levels window.

    当勾选了Enable World Composition时,可以通过下面这个按钮来打开世界组合窗口


    Here, you can see the layout of your world.

    在这里,你可以看到你的世界的布局


    Layers 层

    By default, all levels are assigned to an Uncategorized layer. Layers hold information about streaming distances, so levels assigned to a particular layer will inherit that streaming distance. Levels assigned to a layer with streaming distance disabled will be excluded from distance streaming, and can instead be controlled using Blueprints.

    You can create new layers by clicking the + button to the right of the existing layer names. Each level can only be assigned to one layer at a time.

    Layers can not be deleted or edited, so if you would like to change streaming distance settings, create a new layer with your desired settings and assign levels to it. Layers which have no assigned levels will be deleted automatically the next time you open a level.

    You can filter your levels by layer by clicking on the layer name above the minimap. You can toggle multiple layers by using Control+Mouse Click. When there are no layers toggled on, no filtering is performed.

          默认情况下,所有的关卡被分配到 未分类Uncategorized )这一层。各个层都保存了关卡流的距离信息,所以被分配到一个特定的层的关卡会继承这个关卡流的距离信息。分配层的流媒体远程禁用将被排除在距离水平并可控制使用的蓝图。被分派到一个禁用了关卡流距离的层中将会排除掉关卡流距离的影响,并且可以被蓝图所控制。

        可以通过点击已经存在的层的名字右边的+按钮来创建新的层,记住,每一个关卡同一时刻只能被指定到一个层。

        特别注意!层不能被删除或编辑的,所以如果你想改变关卡流的距离设置,用你需要的设计来创建一个新的层,并且给它分配对应的关卡。没有指定关卡的层将会在你下一次你打开关卡的时候被自动删除。

        你可以通过层来过滤关卡,方法是在小地图上单击层的名字。您可以通过Ctrl+Mouse单击切换多个层。当没有层打开的时候,不会存在过滤。


    Minimap 小地图

    Each level except the persistent level has an image and position in the world, which are displayed in the minimap. The image of the level is updated every time content in the level is changed. This map allows you to preview your world from the top and arrange the position of levels by dragging them. When dragging levels, they will snap to the edges of other levels. Holding the Control key will cause the level movement to use the Level Editor’s snapping settings. Note that level position is stored as integer coordinates, so for exact matching of adjacent level tiles, your levels must have integer bounds sizes.

    除了永久的关卡,其他所有的关卡都会在小地图中有一个图片和一个在世界中的位置。当关卡里面的内容发生改变时关卡的这张图片也会更新。小地图允许你在顶视图预览你的世界,并且通过拖拽各个关卡来设定他们的位置。拖动关卡的时候,他们将会捕捉在其他关卡的边缘。按住Control键会使得水平运动时使用关卡编辑器的捕捉设置功能。注意关卡位置存储为整数坐标,所以当需要精确的调整关卡瓦片(瓦片地图)位置的时候,你的关卡必须有整数范围大小。




    Levels based on Landscape Actors have snapping based on the base landscape component size. This is done to enable seamless editing between Landscape Actors in different levels. 

    基于 Landscape Actors 地形物体的关卡的边缘是基于父类landscape 地形组件的尺寸的。这样做是为了在不同Landscape Actors地形物体不层次间无缝启用编辑。

    All Landscape Actors will have tranformations disabled in the Editor Viewport to ensure that the landscape can not be moved by an arbitrary amount and lose its ability to be aligned with other landscape levels.

    所有的Landscape Actors地形物体都可以在编辑器试图中禁用transform的属性,来确保l地形andscape 不能通过任意量来移动并且也不能被和其他关卡中的地形landscape 对齐。

    The first time a level is loaded in World Composition, a new Level Bounds Actor is automatically created in the level. The Level Bounds Actor is used to calculate the size of the level.

    By default, the Level Bounds Actor automatically resizes to include all Actors found in the level. However, some Actors, like skyboxes, can have very large bounding boxes, which will result in overly large level tiles in the world minimap. If you have Actors like this that you do not want to include in the level bounds calculations, you can disable automatic level bounds calculations and set a fixed size for the Level Bounds Actor.

    一个关卡在第一次被加载到世界组合World Composition时,一个新的叫做关卡边界(Level Bounds Actor)的物体 将会被自动在这个关卡中创建。 关卡边界物体(Level Bounds Actor) 物体是用来计算关卡的大小的,可以在世界大纲试图中搜索找到他!

    默认情况下,关卡边界物体会自动调整当前关卡中的所有物体的大小。然而,一些物体,比如天空盒,可以有一个非常大的边界盒子,这将导致在世界地图中存在过大的瓦片关卡。如果你有一些这样的不想要被关卡边界计算的物体,你可以禁止自动关卡边界计算并且给关卡边界物体设置一个固定大小的值。



    Currently, realtime must be enabled in the viewports for the Level Bounds Actor to function.

    目前来说,realtime 必须在视图中启用 Level Bounds Actor这样才会起到作用。

    The minimap has a yellow square indicating the safe edit area. The safe edit area’s size is equal to the WORLD_MAX contant in the engine. Levels outside of this area will be hidden automatically, and their level images will reflect this. World Composition tries to keep levels you are working on close to the Editor world origin. This feature is called “focusing” and may shift the current world origin to a new position if you begin editing a level outside of the safe edit area. Shifted levels still preserve their Actors’ original transformations when they are saved, so saving a level that is currently shifted will not change the Actors’ absolute positions.

    小地图上有一个黄色的正方形区域,表示这里是安全编辑区域。安全编辑区域的大小等于引擎中的world_max常数。本区外的关卡将被自动隐藏,他们的关卡图像反映了这个。世界组成World
    Composition
    试图保持你正在编辑的关卡接近引擎编辑器世界的原点。
    这一特性称为“聚焦”,如果你开始在安全编辑区域外编辑一个关卡可能会改变目前的世界原点到一个新的位置,转移关卡仍然保持他们的物体的原始transform属性,当他们被保存了时因此保存一个正在转移的关卡并不会改变物体的绝对位置。


    UI Key  UI的值





























    Number

    数字

    Status Bar

    状态栏

    Description

    描述

    1

    Layers 


    Click on a layer name to toggle filtering by that layer, or click on the + to create a new layer.

    点击层名字可以切换层,+号新建一个层

    2

    WORLD_MAX

    常量WORLD_MAX

    Bar indicating the scale of the WORLD_MAX constant.

    显示WORLD_MAX 常亮的值

    3

    World Origin

    世界原点

    Current position of the world origin.

    当前世界的原点坐标

    4

    Current Level

    当前的层

    Name of the current level.

    当前层的名字

    5

    Mouse Cursor Position

    鼠标指针的位置

    Current world position of the mouse cursor.

    当前鼠标指针所在的世界位置

    6

    Marquee Selection

    选框

    Size of the marquee selection box in the world units.

    在世界单元的选框的大小

    7

    World Size

    世界的大小

    Size of the world, calculated as the sum of all level bounding boxes.

    世界的大小,这个值时所有关卡中绑定的盒子大小的总数

    Level Details

    To see the details for any level in the Level window, select it and then click on the magnifying glass icon in the toolbar. This will summon theLevel Details window, where you can also swap between available levels’ information with a dropdown menu.

    如果想要查看关卡窗口里面任意关卡的详细信息,选择他,点击就行了。注意,这里还有一个小技巧,就是可以在关卡详细信息窗口中可以切换到其他关卡,点击上面那个下拉框即可。




    Tile Settings  瓦片设置

    Setting
    设置
    Description
    描述
    Package Name
    包的名字
    Package name of the selected level. This information is read-only.
    当前选择的关卡的包的名字,这里的信息是只读的。
    Parent Package Name
    父包的名字
    Package name of the parent level. If the level has specified a parent, its position becomes relative to the parent level.
    父类包名,如果当前关卡有一个指定的父类,他的位置就会变成与父类的相对位置
    Position
    位置
    Level offset from the zero world origin, stored as an integer 2D vector. All Actors in the level will be shifted by this value when the level is added to the world (becomes visible), and shifted back when the level is removed from the world (hidden).
    关卡相对于世界原点0的偏移量,使用一个2维数组存储的。关卡中所有的物体将会通过这个值移动,当关卡被加载到世界中,当关卡被卸载时,会回到原来的位置。
    Absolute Position
    绝对位置
    Absolute position of the level. This is the same as Position when the level has no parent. This information is read-only.
    关卡的绝对位置。当关卡没有父物体的时候,他和Position时一样的,这个值也是只读的。
    Z Order
    Z方向上的顺序
    Defines Z sorting order of the level tile in the minimap. This can be useful when there are several overlapping tiles and you want to sort them in a specific order.
    这个值定义了在小地图上瓦片关卡的顺序,当小地图中有很多关卡瓦片重叠的时候,把他们整理到一个正确的顺序是非常有用的。

    LOD Settings 细节设置(Levels of Detail

    Each level in the world composition can have up to 4 LOD streaming levels. LOD streaming levels are similar to mesh LOD. Depending on streaming distance settings streaming level will be replaced with corresponding LOD level. LOD levels automatically discovered by World Composition using pattern _LOD#. Where number should be from 1 to 4. LOD levels can be created manually or with automatic LOD map generator which requires Simplygon.

    世界组合中的每一个关卡都可以拥有最多4个LOD关卡流,LOD关卡流和普通的LOD网格很相似。根据流距离的设置关卡流将会被相应的LOD关卡所取代。LOD关卡会通过世界组合中使用的LOD# 来被查询到。

    这个数值的取值范围时1–4.LOD关卡可以被手动创建,或者使用LOD地图生成器来自动创建,注意,后者需要Simplygon技术。

    Unreal Engine 4 ships with a Simplygon integration, but you will need a license from Simplygon to use it.

    虚幻四引擎整合了Simplygon ,但是如果你想要使用它的话,需要取得一个证书认证才可以

    Setting
    设置
    Description
    描述
    Num LOD
    LOD数字
    Number of LOD levels for selected level.
    代表选中关卡的LOD数字

    LOD[1..4]  数字1–4

    Generate
    生成
    Generates simplified version of an original level using Simplygon ProxyLOD feature to merge Static Mesh Actors found in the level into one simplified proxy mesh. Landscape Actors will be converted to Static Meshes using highest landscape LOD. In general, a level with landscape, an Actor, and a bunch of Static Mesh Actors will result in LOD level which contain 2 simplified Static Mesh Actors. This operation will overwrite previous LOD level if it exists on the disk.
     通过使用 Simplygon ProxyLOD 混合关卡中所有的静态网格物体成为一个代表的物体,来生成一个简单版本的LOD。 使用高质量的LODlandscape会吧Landscape Actors转换为静态网格。一般来说,一个有地形、物体,和静态网格的关卡将会导致LOD关卡包含两个简单的静态网格物体。这个操作会被重写当磁盘上已经纯在它的时候。
    Distance
    距离
    Distance relative to original level streaming distance. For example, if original level has streaming distance = 1000, and LOD1 level has distance 1500, then LOD1 level will be visible at [1000..2500] range and original at [0..1000] range.
    Details percentage
    细节百分比
    Percent of details to preserve when reducing original meshes.

    World Origin Shifting 世界原点的偏移

    The World Composition editor supports shifting of the world origin by some arbitrary amount. Shifting the world origin results in adding an offset vector to all registered Actors in the world. Each Actor has an ApplyWorldOffset function which can be overridden in the child classes to do additional things. In case you have created a new AActor derived class and store absolute position values in it, you have to override ApplyWorldOffset function to make it work correctly with world origin changes and shift your absolute values in it. Rendering and physics primitives will be shifted in parallel to Actors in game thread.

    世界组成编辑器支持移动世界原点到任意位置。移动世界原点将会导致在世界中注册的所有Actor物体添加一个偏移量。每一个Actor物体都有一个ApplyWorldOffset ()函数,当添加一些其他的事情时,他会被在子类里重载。如果你已经创建了一个新的AActor派生类并且存储了它的绝对位置值,你必须重写applyworldoffset函数,使它与世界的原点的改变正常的变化。渲染和物理元素将被转移在平行于游戏中的线程的一个Actor物体中

    Big Worlds and Multiplayer  超大地图和多玩家

    Right now world origin shifting is not supported in the multiplayer games. Here are two solutions that can be implemented for your specific needs:

    1. Implement your own server solution. MMO licensees mostly do this.

    2. Implement some layer between clients and unreal dedicated servers which will transform shifted absolute positions from the clients and route them to the right dedicated server, which only holds part of the world where client is.

    However if you disable world origin, shifting you can run a tiled world with a dedicated server. Dedicated servers will load all distance dependent levels, and each connected client will work as usual loading only level that satisfy streaming distance settings. A server holds a list of visible levels for each client and filters Actor replication by this list.


    目前为止,世界的原点偏移将不在多人游戏中支持。但是这里有两个解决方案,可以实现为您的特定需求

    1. 实现你自己的服务器解决方案。网络游戏授权大多做这个

    2. 实现客户和虚幻的专用服务器转移的绝对位置客户和路由到正确的服务器之间的一些只能装的世界里,客户端部分

    Creating Landscape Levels  创建地形关卡

    Right-clicking on a level tile, to summon the context menu, which has a Landscape Actor inside will bring an options for adding adjacent levels with landscape proxy Actors in them. This requires the adjacent levels landscapes have size equal to source Landscape size.

    右键一个关卡瓦片,召唤一个有着Landscape Actor 地形物体的上下文菜单,将会给你提供一个增添相邻的关卡的选项并在其中有一个代表性的actor物体。这需要相邻的关卡地形的大小一致。

    Tiled Landscape Import  瓦片地形的载入

    In the Levels panel toolbar you can find an option for importing tiled landscape. Tiled landscapes are created from a tiled heightmap, where each heightmap tile will represent a level with a landscape Actor in it. Tiled heightmaps/weightmaps can be exported from an application like World Machine. Adjacent heightmaps tiles should share border vertices (“Share edge vertices” in World Machine). And, each tile resolution should follow the recommendations from this page Creating Landscapes.

    在关卡工具栏中,你可以找到一个载入瓦片地形的选项。瓦片地形从一个瓦片高度图中创建,每一个高度图瓦片将会代表一个有地形的关卡。瓦片地形高度图可以被一些其他的工具到处,比如worldmachine。相邻的瓦片高度图应该分享边界最高点(在worldmachine中叫做””Share edge vertices”“), 并且每一个瓦片地图高度图的分辨率最好和这一章节创建地形Creating Landscapes.匹配。


    Setting
    设置
    Description
    描述
    Select Heightmap Tiles…
    选择高度图
    Allows you to select multiple heightmap tiles you want to import.
    允许你导入多张瓦片地性高度图
    Tile Coordinates Offset
    瓦片坐标的偏移
    Offset in tiles from origin. If set to zero tile wih coordinates x0_y0 will be created at world origin.
    对比原点,瓦片的偏移量。如果设置为零将会被在世界原点出创建
    Import Configuration
    导入选项
    Generates all possible landscape configurations depending on resolution of selected tiles.
    生成所有可能的地形选项 ,这主要是由选择的瓦片高度图的分辨率决定的
    Landscape Scale
    地形大小
    How much to scale the tiled landscape by.
    瓦片地形的大小
    Material
    材质
    Material to use. When a material has be chosen, you will be able to assign weightmap tiles for each landscape layer found in the material and how each layer is blended.
    使用的材质。

    好了,这部分到这里就结束了!


    总结

    但是官方的实例GDC_Demo中的地图好像并不是这样,三个地图都没有选中世界组合的选项!


    所以我认为,它用的不是上面提到的动态创建无缝地图的方式。

    可是问题又出现了


    在其中一个地图里,同样有着其他两个地图,而且也存在子蓝图的说法,那么问题来了,它又是怎么实现的呢?

    我们可以简单的分析一下这个实例中给我们展示出来的一些细节

    1.三个地图


    1.中间这个是整个最终呈现出来的地图,它有三个大的部分吧,一部分展示了UE4的材质,这部分是在第三个地图里面完成的,中间一部分是展示UE4的蓝图,这部分是在第一个地图中实现的,剩下最后一部分展示一些可破坏的模型等等,就是在他本身是实现的。

    2.我们以展示蓝图的那部分为例,下图是第二个地图中其中一个球的信息,我们重点关注他的transform属性


    接下来,我们打开实现它的第一个地图,同样找到这个球


    可见二者的坐标是完全一样的,那么似乎可以得出这么一个结论,就是这个实例中实现的这种地图嵌套的这种功能里,三个地图的原点是重合的。当然这只是我的推测,具体情况是怎么样,尚未可知,这部分内容属于UE4里面一些比较高级的部分了,所以一下子理解清楚也不可能。


    经过我的初步分析,哈哈,它只是重复使用了地图场景,也就是说两个地图拼成了第三个地图,这个过程并不是上面所说的动态的。方法也和前面差不多,当然也简单了好多

    怎么做呢?哈哈,打开一个场景,打开它的关卡窗口,首先,关卡窗口里是没有其他关卡的,这时候,只要把内容浏览器里面保存的任意关卡拖放进关卡窗口即可了


    总结一下吧,其实本篇文章的起因是对于GDC_Demo中三个地图嵌套关系的疑惑,然后我去群里问了一下,得到了LevelStream的信息,于是就去官网的文档上搜索了关了LevelStream的知识,结果发现了官方文档专门有介绍这部分的内容,即如何动态创建无缝超大地图的知识,然后就….有了这篇文章的主题部分,然后当翻译完了这部分内容后,发现这并不是最初疑惑的解决方案,但是似乎要比翻译的内容简单一些。最后呢,就有了这里的总结了。

    其实整个过程还是非常享受的,虽然对于这部分也仅限于了解有这么回事的层面上,但是至少对UE4关于地图的处理有了更新的一点点小认识。当然还有一点感触就是官方文档真的是个非常好的东西,里面有太多太多精华等着我们去挖掘了,所以如果时间允许,我会继续去里面探索探索,为大家总结的。

    当然了,我要申明一下,因为作者水品有限,这部分内容从官方文档的翻译,到最后的总结,应该会有一些错误,这些错误可能源于自己的无知,也有可能是因为表达的问题,所以如果有大神了解这一块儿,还希望您能给出一些指点,当然如果大家愿意和我一起探讨这部分内容,自当恭敬不如从命,哈哈~


    展开全文
  • UE4自适应小地图制作

    千次阅读 2017-05-24 15:55:11
    注意角色方向就可以 只要修改上面2个变量即可
  • UE4制作简易小地图

    千次阅读 2018-05-28 16:47:09
    以上是效果图,下面给出视频链接,就不啰嗦了。链接:https://pan.baidu.com/s/1ADlkWGVqmkpCp2ajoq0Zrg 密码:9l34有问题可以私聊我。
  • UE4制作地图

    千次阅读 2018-09-07 15:18:16
    本文章是整理的别人博客,并非...简单几步完成小地图 首先第一步 创建出两个东西 第二步在玩家头顶添加一个ChildActor,并把图像给我们刚才创建的渲染目标 第三步如图设置好capture 第四步 添加到UI上 ...
  • 赛车游戏中大都有小地图,在ue4中小地图如何制作的呢,我们先看看简陋的效果图(过于简陋敬请原谅) 这里用到了大家熟知的scenecapture2d组件 首先创建一个继承于scenencapture2d组件的蓝图 命名为capture 将...
  • UE4蓝图控制一个物体的移动

    万次阅读 2017-03-07 10:23:18
    创建一个蓝图类,用来制作游戏的场景地图。 在创建一个蓝图类用来控制坦克,将坦克的模型拖进去。 选择编辑->项目设置->输入 添加控制按钮及Scale Axis Mappings 是用来设置值得按键 Action Mappings 用来...
  • UE4地形简单的材质球制作,及地形变黑处理办法 2:制作地貌材质球 别忙着创建地貌,在之前你得准备制作一个地貌材质球(新建材质)放到Material里面。 找几张你会需要到的贴图(任意张)拖到材质球里面去 鼠标右键...
  • 视频链接如下点击打开链接
  • 我们知道虚幻里要加载新的关卡一般是通过Open Level函数实现,如下所示。但是,load level函数会阻塞进程,如果之前有加载动画在播放的话,当执行load level函数时,所有进程都停止,动画将会停止。...
  • NaVmesh自动寻路,学过Unity的应该都用过这组件,用来自动寻路的,UE中用法也是一样的,首先在UE左边模式中添加一个navMesh组件,尽量拉伸铺满整个地图 2、打开关卡蓝图,将敌人引用拖进来,添加人物引用,获取...
  • 3.虚幻4-游戏开始界面的制作

    千次阅读 2018-11-07 21:56:09
    **看前须知:**下面这个项目是我新建的第三人称模板的项目,没有带初学者内容(带了也没关系),然后maps中的2个地图(first和world)是我自己新建的,first用于游戏开始界面添加ui控件,world就作为关卡运行。...
  • 下载了几个ue4的官方Demo学习后,想要按照Demo自己手动复现一下项目 但是在 VehicleGame 和 LandscapeMountains等具有地形的项目中,如果自己使用地形工具编辑项目 是很难实现与Demo中的项目地形完全相同的。...
  • 现实地形导入UE4全流程

    千次阅读 2018-05-26 15:06:01
    制作地形方法很多,今天给大家分享一种原创野套路。此方法特点是将现实中的地形于UE4中呈现,而不是手动绘制地形。首先从地理空间数据云获得指定区域的地理数据,然后使用GlobalMapper更准确选出区域并把数据转换成...
  • UE4制作局域网游戏

    千次阅读 2018-09-10 08:17:11
    UE4制作局域网游戏记住 官方封装好的4个蓝图节点就好 他们分别的是Create Session Find Sessions Join Session D estroy Session他们分别是,创建会议,搜索会议,和加入会议首先我们创建一个UI,里面放三个按钮...
  • 给自己立了很多flag,由于时间原因很多系列都还在写,算是循序渐进的总结。在程序化生成系列里,将会有如下记述: 【1】程序化生成河流 主要内容有@1 shader的自动调整(如河流的深浅,河水的波涛程度) ...
  • UE4打包----图文傻瓜版

    万次阅读 2018-04-05 11:12:28
    一、使用UFE打包UFE(Unreal Frontend):虚幻前端,简化加快游戏开发及测试任务的工具,它可以用来准备游戏构建,将游戏部署到设备上并进行启动测试版本:4.18为例注意:UE4官方文档原话是在UE4编辑器中启动UFE或者...
  • Ue4使用OpenCV插件

    千次阅读 2019-01-08 15:49:51
    前些天因为公司项目需要使用OpenCV进行抠图,故制作了这个插件,分享给大家,此插件是在VS2013和UE4.9.2版本中实现的,可以直接复制到纯蓝图UE4.9.2的工程下的Plugins目录下使用,其他版本的虚幻4,需要新建C++的...
1 2 3 4 5 ... 20
收藏数 841
精华内容 336
热门标签
关键字:

ue4地图制作