一、准备好一个字体文件,直接拖放到内容浏览器

  

二、创建一个名为testFontMaterial的UserWidget,添加一个TextBlock到默认的CanvasPanel。Font Family:要使用的字体,选择第一步创建好的字体资源

  

三、新建一个名为M_fontMaterial的材质,Material Domain=User interface(如此才能在UI中使用该材质),添加一个TextureSampeParameter2D节点,并将UVs链接到M_fontMaterial节点。最后记得保存材质。

   

四、Font Material=M_fontMaterial,如图所示文字被材质填充了。

  

五、修改TextBlock文字内容为:武将。可以看到材质被拉伸填充到“武将”这2个文字了。

  

六、TextBlock文字内容恢复成“武”。按照第三步的方法创建一个名为M_fontMaterial2的UI材质。选中TextureSampeParameter2D节点,选中一张图片M_fontMaterial材质不一样的图片。最后记得保存材质。

   

七、回到testFontMaterial编辑界面Outline Settings.Outline Material=M_fontMaterial2,Outline Settings.Outline Color=白色,透明通道值也设置为1。得到如图描边材质效果,看起来就像是美术用Photoshop做的图片一样。

  

八、将TextBlock文字内容改成“武将”,可以看到描边跟字体材质一样,描边材质的图片也会被拉伸填充。

  

九、TextBlock文字内容恢复成“武”。Show Offset(投影)和Shadow Color(投影颜色,RGB=1,1,1,也就是白色,A=1透明通道值完全不透明。)如图所示,投影看起来就是直接复制了本体加上偏移。

  

十、如果Shadow Color投影颜色不为白色,则最终颜色=材质颜色×Shadow Color(相乘也就是叠加),但是保留纹理。如果是白色,则跟本体一样(包括描边,如第九步的图片所示)。

  

十一、同理,描边材质和字体材质则最终颜色:材质颜色×自定义颜色(相乘也就是叠加),但是保留纹理。如果自定义颜色为白色,则最终呈现的颜色就是材质颜色。

   

  

[UE4]字体材质的更多相关文章

  1. UE4 分层材质 Layerd Materials

    在UE4中最正规的材质制作流程就像: 建立新材质,并将其调整为达至完美. 在内容浏览器中,建立新材质函数,并将所有材质函数节点复制/粘贴到其中. 将网络连接到新的 Make Material Attr ...

  2. [UE4]实例化材质

    在虚幻引擎 4 中,材质实例化用来更改材质的外观,而不会引起成本高昂的材质重新编译. 实例化材质官方文档

  3. [UE4]使用材质将图片变成黑白

    拖动到材质界面不放,会自动切换到材质界面: 拖放到视图窗口,放开鼠标,就会自动生成一个“Texture Sample”节点 图片材质使用方法跟直接使用图片素材一样:

  4. ue4 3dui材质参数修改

  5. UE4材质初探

    转自:http://www.unrealchina.net/portal.php?mod=view&aid=233 UE4的材质表面上看起来很简单,可是到了用的时候却总是没有办法实现好的效果. ...

  6. UE4高级功能--初探超大无缝地图的实现LevelStream

    转自:http://blog.csdn.net/u011707076/article/details/44903223 LevelStream 实现超大无缝地图--官方文档学习 The Level S ...

  7. UE4实现描边效果

    描边效果属于常见常用的功能,现VR项目中,也需要射线选中一个物体,使物体高亮. 于是在网上找了部分资料,同时也感谢群里的一位大神的提点,总算将描边的功能实现了,这里也写一个简单的示例步骤. 1.我并不 ...

  8. 【UE4】GAMES101 图形学作业3:Blinn-Phong 模型与着色

    总览 在这次编程任务中,我们会进一步模拟现代图形技术.我们在代码中添加了Object Loader(用于加载三维模型), Vertex Shader 与Fragment Shader,并且支持了纹理映 ...

  9. NeHe OpenGL教程 第三十二课:拾取游戏

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

随机推荐

  1. C/S与B/S的区别

    C/S与B/S的区别 1.区别 1.B/S架构是针对C/S架构缺点进行改进后提出的网络结构模式. B/S结构属于C/S结构,是一种特殊的C/S,因为浏览器只是特殊的客户端. 2.C/S可以使用任何通信 ...

  2. C#Mvc地址栏传值

    A页面 location.href = "/Home/Bpage?names=" +names; B页面 var loc = location.href;var n1 = loc. ...

  3. Beta 冲刺 (5/7)

    Beta 冲刺 (5/7) 队名:第三视角 组长博客链接 本次作业链接 团队部分 团队燃尽图 工作情况汇报 张扬(组长) 过去两天完成了哪些任务 文字/口头描述 组织会议 确定统一界面wxpy.db之 ...

  4. ios 中pickerView城市选择和UIDatePicker生日选择

    代码详见压缩包

  5. TOJ-5395 大于中值的边界元素

    描述 给定一个二维数组,求二维数组的边界元素中,大于二维数组“中值”的元素个数.这里的“中值”定义为一个元素序列中: (1)当元素个数为奇数时,即为中间大的元素: (2)当元素个数为偶数时,为中间大的 ...

  6. 解决使用angular2路由后,页面刷新后报404错误。

    点击路由链接跳转页面是正常的,但是当刷新页面时就出现了404错误. 解决方法如下: 在app.module.ts中添加import: import {HashLocationStrategy,Loca ...

  7. C语言笔记1

    第一部分 计算机常识 1,人与计算机交流 2,人机交互方式 3,计算机的组成结构 4,计算机的系统组成 5,进制 6,程序和指令  第二部C开发环境 1 人与计算机交流 现实中人与人交流靠语言,那么人 ...

  8. SpringCloud分布式配置中心所遇问题

    1.如果更换了获取配置文件的名称一定要在客户端配置文件的name更改2.不建议服务器设置下拉到git仓库的配置文件地址,可能导致更换地址之后无法获取到新更改的

  9. 13.python错误和异常

    一.错误和异常1.程序中的错误分为俩种:(1)语法错误:不按照语言的规则,必须在程序执行前就改正(2)逻辑错误2.异常就是程序运行时发生错误的信号,分为三部分(1)Traceback:异常追踪的信息( ...

  10. jquery绑定回车事件

    //回车事件绑定 $(".left-content").keyup(function(event){ var theEvent = event || window.event; v ...