unity3d 字体制作_unity3d 汉字字体制作 - CSDN
  • 如何,以及如何快速的在unity制作出自定义字体,这个技术你值得拥有,我值得共享。不喜欢废话,直入主题了。 什么叫自定义字体? 看到没,给你一些这东西,让你变成这样的  首先,要知道,既然要快速制作,...

        自己的游戏有自己想要的字体,这个需求很常见。如何,以及如何快速的在unity中制作出自定义字体,这个技术你值得拥有,我值得共享。不喜欢废话,直入主题了。

    1. 什么叫自定义字体?

    看到没,给你一些这东西,让你变成这样的

             首先,要知道,既然要快速制作,就不能只靠一己之力。找到合适的工具是必须的。当然,你们看到我的博客就不用找了。我提供给你们   (链接:https://pan.baidu.com/s/1avqgIE6sfQtcLHxcAASvCg 密码:tt8c)免费,找不到我这么好的博主了。废话少说,先下载上。下载好之后你会看见两个文件,ShoeBox解压好,吧unitypackage资源包导入到unity中,放到editor文件夹下(只能在这个文件夹,别自己瞎创造)。ok这个时候基础工作准备好了。至于unitypackage中的代码自己学着看懂,看不懂也没关系,我们能用,可以达到自己的效果就OK了。

              打开解压好的ShoeBox文件夹,找到exe打开,打开之后直接选GUI选项卡。

    这个时候你应该看到了吧,位图字体,没错,选中美术给你的数字图片,托上去,点击设置

    图文教程开始了!

    然后点击保存字体。之后会生成一张图片,一个txt文件。

    将txt文件改后缀名字,改成fnt文件。

    将文件加图片导入unity中,右键fnt文件,弹出的选项框最后一个生成BMFont即可。

    ok到此结束,你成功了。不谢

    展开全文
  • Unity3D中的动态字体和静态字体

    千次阅读 2019-02-26 11:32:41
    Unity3D中支持动态字体和静态字体两种格式字体,动态字体即使用TTF格式字体库,静态字体则需要自己打包字体图集。动态字体和静态字体区别在于,动态字体如果出现字体库中不存在的字体,会使用系统字体,而静态字体则...

    Unity3D中支持动态字体静态字体两种格式字体,动态字体即使用TTF格式字体库,静态字体则需要自己打包字体图集。动态字体和静态字体区别在于,动态字体如果出现字体库中不存在的字体,会使用系统字体,而静态字体则不会,而且静态字体是图片,字体大小通过缩放来改变。Unity3D也有自带的字体,Windows下自带字体为Arial。如果使用Unity3D的自带字体Arial字体,在某些机型上可能显示不全。因为Arial是英文字体,并不包含中文字体,在程序运行过程中如果遇到字库中没有的字,程序就会从系统的默认字体库中查找对应的文字,如果系统默认的字库中也没有这个字,那么就会造成字体不显示问题。在Android系统中Unity3D默认会去查找名为DroidSansFallback的字体,因为这个字体是Android的默认字体,但是因为Android系统的可定制性,很多手机厂商会去修改默认字体。Android系统是根据字体的文件名称来找字体的,但Unity3D识别字体却是通过字体内部的设置来识别字体的,所以即使在Android手机中有DroidSansFallback.ttf字体,也有可能导致Unity3D找不到这个字体。由于上面的原因,尽量不要使用Unity3D的自带字体Arial,除非你做的游戏是纯英文的。

    Unity3D的动态字体:

    想要在Untiy3D中使用动态字体,只要把TTF格式字体库导入到Unity3D工程中,然后在需要使用该字体的地方设置字体类型Font为该TTF字体库即可。对于导入工程中的TTF字体库,可以在控制面板中设置一些属性,比如字体大小,渲染模式等。

      

    其中,Font Size就是设置字体大小,数值越大,设置文字时字体对应的texture越大。Rendering Mode 设置字体的渲染模式,这个会直接影响字体在游戏中的显示清晰度,Smooth 是渲染字体纹理最快的抗锯齿模式,Hinted Smooth 通过字体像素描边的抗锯齿模式,Hinted Raster 是对于小号字体显示最清晰的无抗锯齿渲染模式,OS Default 是使用系统字体渲染模式,只能用于动态字体,因为静态字体是在打包时候生成的。Character 设置字体库的字体集,比较常用的是Dynamic,选择该项就是动态字体,只要改字体库中有的字体都能显示,另外Custom Set 选项让我们可以自定义只使用字体库中的某些字体集合,如当我们设置如下图,

    那么我们就只能使用“1.2.3”三个字符,其他字符即使TTF中有也不显示。当我们设置该选项的时候,其实相当于使用了静态字体库,因为他生成了文字图集和贴图,如上图的Font Material和Font Texture,并且可以在Debug模式下看到该自定义字体图集的UV信息。

    Incl.FontData 若勾选,在导出包的时候把字体添加到包中,若不勾选,则不会将该字体打包,程序运行时会从FontNames列表里检索需要的字体,如果没有,字体就不显示。Font Names 这个参数的主要作用是设置替代字体用的,当程序需要某一个字体时,首先会从当前字体查找字符,如果没有,会依次查找FontNames列表里的其它字体,直到找到或者找完为止。

    Unity3D的静态字体:

    Unity3D的静态字体,也称为自定义字体,它可以支持美术字体。使用Unity3D的静态字体需要先制作静态字体库,可以借助BMFont这个工具来生成字体图集和UV信息,得到png图片和fnt文件。

    接下来使用Unity3D生成静态字体库。导入字体图集,勾选Alpha From Grayscal,新建材质球,材质球Shader指定为GUI/Text Shader。

    接着创建Custom Font,配置字体UV信息,这个UV信息保存在fnt文件中,如果图集不大可以手动设置一下,如果很大可以通过代码来设置。如果想要在项目中使用静态字体库,则和动态字体一样,在需要使用该字体的地方设置字体类型Font为该静态字体库即可。

    参考:

    【Unity】UGUI 如何使用CustomFont(自定义字体)

    Unity中制作自定义字体的两种方式

    拓展:

    常见字体格式及TTF文件制作

    字体库剥离和精简

    展开全文
  • unity 3d 仿真 欢迎来到这个由三部分组成的关于Unity 3D的博客系列的最后一篇文章。... 在本系列的最后一篇文章中,我们将深入研究如何使用Unity3D将代码实际制作成一个简单的游戏。 让我们开始吧 让我们建立一...

    unity 3d 仿真

    欢迎来到这个由三部分组成的关于Unity 3D的博客系列的最后一篇文章。 在本系列中,我们将在Unity3D中使用丰富的控件创建一个简单的3D游戏。 第一部分介绍了如何设置Unity3D ,第二部分介绍了如何 使用C#控制Unity3D

    在本系列的最后一篇文章中,我们将深入研究如何使用Unity3D将代码实际制作成一个简单的游戏。

    让我们开始吧

    让我们建立一些关卡,进行更多类似游戏的动作和最终目标。

    首先,让我们添加一些要坚持的世界墙。 为此,我们将添加一堆多维数据集,并使用以前的实践来将它们缩放和定位。

    让我们转到Unity编辑器中的“场景视图”。 单击“层次结构视图”(未选择任何内容)并创建另一个空对象。 清除其变换(0,0,0)并将该对象命名为“世界”。

    Unity3D.3.1

    然后,我们要清除一些不再需要的旧对象。 让我们删除为测试添加的白色立方体和球体。

    Unity3D.3.11

    现在选择了“ World对象”,让我们添加一个多维数据集。 然后,将其位置和比例尺值更改为相等的位置0、2.5、0和比例尺10、5、1。这将使我们的墙长10个单位,高5个单位,宽1个单位。

    Unity3D.3.12

    现在,让我们的场景相机定位为具有自顶向下的视图。 单击“场景视图”右上角的绿色Y。

    Unity3D.3.13

    Unity3D.3.14

    现在将墙旋转90度并将位置设置为-5、2.5、5。

    Unity3D.3.15

    然后让我们添加一堵墙的副本。 右键单击它,复制,然后将其X位置设置为5。

    Unity3D.3.16

    选择我们拥有的两堵墙,然后再次复制它们。 选中这两个选项后,让它们的Z位置值为15。

    Unity3D.3.17

    仍然选择它们,再次复制,并将它们移到Z位置25和X位置-10。

    接下来,我们将使用一个新工具将它们一起旋转。 在右上角有一组5个按钮。 我们将选择中间按钮,然后将Y旋转设置为0。

    Unity3D.3.18

    Unity3D.3.19

    然后,我们将选择Wall(4)将其比例尺X比例尺30设为更长。

    Unity3D.3.20

    然后选择Wall(2)并将其比例X也设置为30。

    Unity3D.3.21

    然后选择Wall和Wall(3),复制它们,并将复制品设置为X位置-15。

    Unity3D.3.22

    然后选择Wall(2),复制它,并将其X位置设置为-25。

    Unity3D.3.23

    现在,使我们的速度与本课程更加友好。

    在“层次结构视图”中选择“ Player对象,然后在检查器编辑器中编辑值“前进速度”和“旋转速度”。 我喜欢5代表前进,50代表转向。

    Unity3D.3.24

    现在让我们为游戏添加一个目标。 让我们添加一个具有碰撞器的区域,该碰撞器在越过终点线时触发。

    首先让我们添加完成区域。 我们将使用另一个多维数据集来设置边界。 在没有选择任何内容的层次结构视图中,通过右键单击3D对象->多维数据集添加多维数据集。 我们将其命名为Finish,将其位置设置为-10、2.5、15,并将其比例设置为5、5、5。

    Unity3D.3.25

    接下来,让我们给它新的材料。 在“资源”窗口中右键单击,然后单击创建->材质。 让我们将其Albedo设置为00B6006B,然后将其渲染模式更改为“透明”。 这使其绘制透明。

    Unity3D.3.26

    然后,我们需要编辑Finish Cube Collider 而不是添加到物理上,我们希望它禁用碰撞并仅触发。 为此,我们选择Finish对象,然后在Box Collider下的Inspector中,选中“ Is Trigger”。 这将使引擎触发OnTrigger方法。

    Unity3D.3.27

    然后让我们将脚本添加到Finish对象,以控制完成后会发生什么。 我们将其FinishController ,然后在MonoDevelop FinishController其打开。 然后,我们添加一个新函数,然后在输入对象时进行记录。

    void OnTriggerEnter(Collider collider){
    	Debug.Log( “Finished” );
    }

    Unity3D.3.28

    现在按播放。 我们应该能够环游世界并找到Finish立方体。 进入多维数据集后,我们应该能够打开控制台窗口并看到消息“ Finished”。

    Unity3D.3.29

    Unity3D.3.30

    现在,将其设置为在显示屏上显示一条消息以向用户显示,而不是仅记录该消息。 我们将说他们完成了游戏,然后添加了一个按钮以重新启动游戏。

    首先,我们需要将一个Text对象添加到我们的世界中。 转到“层次结构视图”,单击鼠标右键,然后单击“ UI =>文本”。 这将为我们的场景添加三件事:一是应在摄像机视口中显示的文本对象,二是Canvas(即GUI后面的设置和层次结构),三是EventSystem ,该事件系统可以引发和捕获事件GUI就像拖放一样。

    Unity3D.3.31

    在“场景视图”中很难处理文本,因此让我们切换到“游戏视图”。

    Unity3D.3.32

    现在,我们应该可以在右下角看到“新文本”字段。 让我们在层次结构视图中选择Text对象。 在检查器中,我们可以编辑文本。 将其位置设置为0、0、0,将宽度设置为500,将高度设置为500。将“文本”设置为“ You Finished”,格式为粗体,字体大小为80,颜色为红色。

    Unity3D.3.33

    现在,让我们打开FinishedController Script并添加一些代码。 我们首先需要能够访问UI库。 因此,在脚本的顶部,我们需要使用UnityEngine.UI进行添加,然后添加一个public Text finishedText UnityEngine.UI ,以便可以访问我们的text元素。

    Unity3D.3.34

    现在回到编辑器。 让我们单击“完成”多维数据集对象,然后将“文本”对象拖到脚本的“完成文本”字段中。

    Unity3D.3.35

    现在,我们可以访问text元素。 要设置我们的文本,让我们在FinishedController > Start function finishedText.text = “”编写; 从某种意义上讲,这将在我们运行游戏时通过将文本保留为空白来隐藏文本。

    Unity3D.3.36

    现在,让我们OnTriggerEnter函数,并添加代码以在文本中写上“ You Finished”。

    Unity3D.3.37

    现在按播放。 我们应该看到文本在游戏开始时就消失了。 一旦找到饰面并跨入多维数据集,它将为您提供完成的文本。

    Unity3D.3.38

    Unity3D.3.39

    现在让我们做与文本相同的操作,但是这次添加一个按钮。 选择按钮,然后在检查器中,更改文本以重新启动游戏。 让我们将其保留在默认位置。

    Unity3D.3.40

    现在,让我们转到FinishController并添加另一个公共UI元素public button restartButton

    Unity3D.3.41

    然后返回到“完成”对象的检查器。 让我们将按钮拖动到restartbutton

    Unity3D.3.42

    让我们在启动函数中添加一些代码。 我们将希望隐藏代码,以使我们无法一直看到它,还需要重置一些代码。 首先,我们可以添加restartButton.gameObject.SetActive(false)隐藏,这将隐藏游戏对象。 然后在OnTriggerEnter我们需要使用restartButton.gameObject.SetActive(true);将其反转restartButton.gameObject.SetActive(true);

    Unity3D.3.43

    然后在FinishController ,添加一个名为RestartGame()的公共void函数。 这将是我们在按钮on click控制器中调用的函数。 同样在函数中,让我们添加代码以在按下场景时重新加载场景,使用UnityEngine.SceneManagement;在文件顶部添加另一个using语句UnityEngine.SceneManagement; 然后,将代码添加到RestartGame Function SceneManager.LoadScene(“Main Scene”); 它必须是您在字符串中调用的场景,否则它将更改您的场景,而不是重新加载它( Main.Scene )。

    Unity3D.3.44

    现在,我们可以转到“层次结构视图”并选择“按钮”对象。 在检查器中,底部有一个On Click Controller ”。 我们只想单击+号并添加一个新的运行时。 然后,将Finish游戏对象拖到下拉列表中,单击no函数,然后选择FinishController => RestartGame

    Unity3D.3.45

    Unity3D.3.46

    现在玩吧。

    您现在应该可以玩到游戏结束。 触发完成后,您应该会收到消息“您已完成”和“重新启动游戏”按钮。 如果您单击“重新启动游戏”按钮,它应该允许您再次播放。

    Unity3D.3.47

    结语

    结束!

    现在,您应该能够在带有丰富控件的Unity3D中创建一个简单的3D游戏或应用程序。 请留下您的任何评论或问题。 谢谢阅读!

    翻译自: https://www.javacodegeeks.com/2016/08/building-3d-simulations-unity3d-part-3.html

    unity 3d 仿真

    展开全文
  • 常用6500汉字(txt) 可用于Unity3d制作TextMesh Pro字体资源,字体中包括有ASCII字符
  • Unity3D】UGUI自适应屏幕与锚点

    万次阅读 多人点赞 2017-04-17 17:05:12
    Unity3D中,即使我们布置好UGUI如下图所示: 如果我们不进行一些调整。在Unity3D默认的设置下,在不同分辨率,就算我明明在Unity3D看到这4个按钮安分布置到屏幕的4个角,而且在Unity3D调试的时候,也看到确实...

    在Unity3D中,即使我们布置好UGUI如下图所示:


    如果我们不进行一些调整。在Unity3D默认的设置下,在不同分辨率,就算我明明在Unity3D看到这4个按钮安分布置到屏幕的4个角,而且在Unity3D调试的时候,也看到确实如此了,但是在发布的运行时候,尤其允许用户可以自行调整分辨率的情况下。

    比如在640x480的分辨率之下:


    在比如在800x600分辨率之下:


    这根本就不是我想要的,好吗?我明明在你Unity3D那个Canvas那个框放好了UI组件,好吗?你Unity3D给我整出这些东西处理。

    于是就衍生出一个Canvas自适应的问题了。无论是在PC还是各种移动设备,自适应是最重要的。那种定死分辨率的游戏就是反人类。

    这方面其实根本就不用写代码或者设置摄像机的,只需要调调属性就好,没这么复杂,但这么容易调,就不会有这么多问题了。同时,再补充一句,基本是在没有创建UI时调整,是调好自适应再创建UI的。具体如下操作:

    1、对于Canvas的属性如下图设置。


    2、对于四个角的Button分别设置其锚点,左上的Button锚点就弄到左上即可,左下的弄到左下……以此类推,如图所示。


    那么发布的时候就得到我们想要的效果,在经典的1366x768分辨率测试都没有问题:


    起初的锚点没有更改的时候,即使改完Canvas,各个组件还是样式错乱的,不能自适应的。为何就小改一下锚点就这么大魔力了?下面谈谈锚点。

    关于锚点

    每个UI都有自己的锚点,锚点分为4个部分,用4个三角形表示,各个UI也有4个控制点,在选择矩形工具的时候你可以清晰看到4个锚点和UI的4个控制点,如图所示:


    这里Button是子控件,Canvas是子控件,一旦主控件被设置自动拉伸,子控件和锚点的距离(不是比例)将永远不变。在上述情况,则类似,这个Button被钉在左下角,同时补上3个不可被拉伸的钢丝,如下图所示:


    这就同时让Button存在自适应的效果。所以对于四个角的Button分别设置其锚点,左上的Button锚点就弄到左上即可,左下的弄到左下……以此类推。

    当锚点的四点合一的时候,你的UI就完全不会因为窗口改变而被压缩变形了,当然,他有超出你的父节点的可能。

    当锚点的左右两边分开的时候,UI不会随着父节点的高的大小变化,而之后随着宽的大小变化。

    当锚点上下两边分开的时候,UI不会随着父节点的宽的大小变化,而之后随着高的大小变化。

    当锚点四点分开的时候,父节点物体大小的改变总是会影响到这个UI。

    锚点的位置任何UI都可以被设置的。

    下面再举个反例说明这个问题,比如左上的Button设置成锚点四点分开,如图:


    会得到如下的情况:


    因此,在做自适应屏幕的时候,大家要根据需要,合理选择锚点的位置。

    其实理论上,Unity3D这锚点思想与C#窗体有点相似,关于C#窗体的思想,具体可以参考《【C#】用组件的Anchor属性解决最大化组件的缩放问题》(点击打开链接)。

    展开全文
  • 2018年什么游戏最火? 不用问,肯定是人人都在撸的“王者荣耀”和吃鸡游戏了。...Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综...
  • Unity3D基本入门及功能介绍

    万次阅读 多人点赞 2017-06-10 22:44:17
    本章主要是 Unity3D 的基础快速入门篇,通过本章的学习,能让初学者们快速的掌握和 应用 Unity3D 软件。 本章导读 本章无论对于 Unity3D 初学者、或是以前从事建模工作的设计师、又或者是从事过 3D 编程的人群,...
  • 实战进阶学习Unity3d游戏开发

    万人学习 2019-04-23 13:29:26
    零起步,快进阶,基础+算法融汇到项目实战中,细节+核心直到上线,一步步引领菜鸟做出大虾级的开发。
  • unity制作图片字体

    2020-07-21 10:31:49
    可以通过图片来做unity识别的字体,让数字显示的更完美
  • Unity3D插件之TextMeshPro字体资源的制作

    万次阅读 热门讨论 2015-05-05 20:05:26
    由于TextMeshPro的字体资源后缀是.asset,所以,需要我们借助插件的字体工具TextMeshPro-Font Asset Creator来生成新的字体资源。该工具打开路径:Window-Font Asset Creator。具体操作可见TextMeshPro/User Guide/...
  • unity3d插件文字特效

    热门讨论 2020-07-30 23:32:34
    unity开发中,快速制作文字特效,让你的游戏看起来更在完美
  • Unity3D中构建3D模拟

    2020-06-16 02:53:16
    欢迎来到这个由三部分组成的关于Unity 3D的博客系列的最后一篇... 在本系列的最后一篇文章中,我们将深入研究如何使用Unity3D将代码实际制作成一个简单的游戏。 让我们开始吧 让我们建立一些关卡,进行更多类似游...
  • 首先打开我们的Unity 3d、我这里用的版本是Unity 3d 2018.3.7(其他版本也都可以)。 点击NEW创建我们的新项目,然后输入我们的项目名称为:Tank Project,选择类型为2D。选择好项目位置,点击右下角的Create ...
  • unity3d TextMesh清晰字体

    千次阅读 2016-07-18 14:46:42
    直接出效果如图所示,由于unity3d字体在3d中显示十分的渣,要想在场景中显示比较清晰的字体比较困难。 好在unity插件扩展性,让过去的不可能变成 了可能 。 要使用的工具如下:  1、抽取文字软件:BMFont字体...
  • UNITY3D学习(1)之GUI井字棋

    千次阅读 2017-05-16 16:01:24
    Unity3D是由Unity Technologies开发的一个强大的游戏引擎。Unity3D具有入门快,操作方便,开发迅速等特点大受欢迎。Unity3D具有AI,渲染,物理运算,声音,动画系统,资源管理,跨平台,系统架构等模块并且同时支持...
  • 创建碰撞小立方体 新建Cube 我们在游戏场地中加入一些旋转的小方块儿,然后由球来碰撞这些小方块儿,碰撞之后就加一定的分数。 很简单地,创建一个Cube,并命名为PickUp,使其Reset,然后我们调整一下它的Rotation和...
  • Unity制作自定义字体的两种方式

    万次阅读 2018-04-18 22:05:56
    Unity支持自定义图片字体(CustomFont),网上有很多教程,细节不尽相同,当概括起来基本就是两种方式。一是使用BMFont,导出图集和.fnt文件,再使用图集在Unity中设置得到字体。二是不用BMFont,使用Unity自带的...
  • unity3d 各大插件评测

    万次阅读 2018-01-30 15:00:43
    引言:想用Unity3D制作优秀的游戏,插件是必不可少的。工欲善其事必先利其器。本文主旨是告诉使用Unity3D引擎的同学们如何根据需求选择适当的工具。为此我写了插件的经验及理论讲解,涉及插件的 学习/辨别/选择/...
  • unity3d创建账户 使用Unity 3D创建第一个项目 (Creating First Project with Unity 3D) You must be pretty excited to get started with making games! Let's not wait any further, and fire up Unity. The first...
1 2 3 4 5 ... 20
收藏数 1,608
精华内容 643
关键字:

unity3d 字体制作