• 虚幻蓝图学习笔记 创建小地图


    这里介绍一种创建小地图的一种方法,只是简单的记录一下创建地图到界面中:

    一,添加地图到关卡

    1.新建类图类选择HUD

              

    2.添加事件Event receive Draw HUD, Size X/Size Y屏幕是获取的屏幕尺寸

               

                

                        

    3.使用Draw Texture加载绘制地图
                        

         texturre:加载的地图模板

                      

       定义一个变量来显示地图尺寸

                    

     并连接到ScreenW,ScreenH

                    

       

     texture Uwidth/vHeight  绘制地图大小,范围0·1 ,这里控制显示地图的大小如果1显示全部小地图,0将不会显示

                     

     我们用屏幕的像素SizeX,SizeY 减去地图大小赋给ScreenX,ScreenY,控制显示在右下角

                    

     

     Size X和Size Y是屏幕的大小,如果需要地图子相应区域显示,如右下角,则需要把A点调整到屏幕的大小减去地图大小,就可以调整到右下角了。

                     

    2)第二种方法,创建材质实例

    1,这里需要设置材质实例的属性

    Blend Mode:Translucent(混合模式设置半透明)

    Shading Model:Unlit (底纹设置无光照)

     2,把小地图拖进材质中并连接Emissive color,并设置2倍强度

                      

     3,添加梯度函数RadialGradientExponential,使用UV通道0来产生渐变,同时允许用户调整半径和中心点偏移。

                      

    UV(向量2)(UVs(Vector2))

    用于控制坠落的位置及其范围的0-1个空间的程度。

    中心点(矢量2)(CenterPosition (Vector2))

    基于0-1的渐变中心位置偏移。

    半径(标量)(Radius(Scalar))

    缺省值 0.5 使定向中心的边缘位置边界附近。

    密度(标量)(Density (Scalar))

    此函数所产生的渐变的幻象。

    转化密度(布尔值)(Invert Density (Boolean))

    用于渐变,将白色白色为黑色,蓝色为白色。

                 这里使用Density控制渐变和Uvs(v2)控制显示范围

    4.创建纹理坐标texture Coordinate

               

     5.使用Component Maks 分别提取出R,G通道

               

    6.定义两个变量U_Offset和V_Offset与值混合,控制偏移

                                       

     7.合并向量Append vector.

                                        

     8,添加倍数变量后链接UVs(v2);

                                         

     9设置变量控制Density

                                            

     10.创建材质实例:这里可以看到我们定义的四个变量,用来控制小地图的显示。分别控制显示明亮度,上左到下右偏移,左右偏移,上下偏移。

     11,进入蓝图HUD,把Draw Texture修改为Draw Material,并把材质实例添加到Material中

               

    12,在关卡World Settings中Game Mode ->Selected GameMode->HUD Class->添加创建的HUD蓝图,运行查看效果

              

     二,创建动态实例到在HUD蓝图

      1.在HUD蓝图创建一个变量选择Material Instance Dynamic类型

             

     2,使用Create Dynamic Material Instance动态加载材质实例,在Paarent,添加上面创建的材质实例,

             

     3,获取材质实例并赋值给变量

     4,获取材质实例中的参数并暴露出来,使用set Scalar Parameter Value,分别定义变量保存初始值。

              

     5,并把变量赋给Draw Material->Material 

     三,绑定人物与地图间位置,使地图随人物进行移动。

    1。使用Get Player Pawn获取当前人物,使用GetActorLocation获取当人人物坐标,并拆分向量

    2·定义两个变量分别表示关卡中的地图的大小,用获取人物坐标除关卡大小,获取人物人物在地图中的比例

     

     3·把获取的人物与地图比例关于与小地图进行关联,并重新赋值给偏移量;现在在关卡中人物移动之后,地图页随着人物进行移动

                        

                        

     四,在小地图中显示人物标记,使用小点表示当前位置

    1)先找到一个小图标,用来标记显示

     2)使用Draw Texture绑定小图标,并调整大小Texture UWidth/Texture VHeight设置为1,ScreenW/Screen H设置为4像素

                          

    3)设置当前显示到小地图中心位置,现在图标的位置等于屏幕的位置减去小地图大小的一半128,同类可以设置小图标在当前人物的位置,这个需要微调。

     

     

     4)把当前小地图偏移量归零后计算除人物位置,并与当前人物位置做绑定。

             

             

     5)计算出来后赋给Draw Texture 的Screen X,Screen Y;

     这就实现了简单的小地图功能,可能会有一些问题,这个需要做微调

  • 相关阅读:
    【工具】使用Google搜索的一些技巧
    git merge和rebase合并分支的区别
    《人月神话》读后感
    记录 Vue 中遇见的坑
    chrome信任http
    sed命令替换配置文件
    中控考勤机IP能ping通,但是同过接口连接不上的解决版本
    如何启动解压版的Tomcat6.0
    服务器获取客户端ip
    linux 增加权限
  • 原文地址:https://www.cnblogs.com/qq964107326/p/15083577.html
Copyright © 2020-2023  润新知