ttf unity3d_unity3d ugui ttf字体 - CSDN
  • 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文件制作

    字体库剥离和精简

    展开全文
  • Unity3d常用中文字体

    2020-07-30 23:32:33
    Unity3d常用中文字体 Unity3d常用中文字体
  • unity3D中添加字体

    2017-04-20 16:51:41
    如何在unity3D中添加字体,在unity3D中Assets下添加自己的字体

    1、在Assets中新建文件夹Fonts;

    2、在系统盘c盘中找到  

    C:\Windows\Fonts
    3、把相应的字体拖入到Fonts即可。
    展开全文
  • Unity3D中NGUI的动态字体(TTF)制作方法!!! 好吧~终于迎来NGUI2.6的版本更新,这个版本开始支持TTF字体了,换句话说我们不用再制作字体图集了哦~中文字体的烦恼终于解决了!!! 现在我就说明一下如何制作...

    Unity3D中NGUI的动态字体(TTF)制作方法!!!

    好吧~终于迎来NGUI2.6的版本更新,这个版本开始支持TTF字体了,换句话说我们不用再制作字体图集了哦~中文字体的烦恼终于解决了!!!

    现在我就说明一下如何制作:

    首先很简单的创建一个gameobject,就叫这个名字吧:


    接着为他增加NGUI的font属性:


     

    然后:


    接着把喜欢的字体拖进来吧~


    Size可以自己变哈~如果觉得太模糊可以增加大一点哈~我是用100


    大家会注意到,NGUI为ttf字体下面增加了动态图集,这是自动的~

    现在把这个东西存为预制件吧~


    创建一个label试试吧:



    祝各位好运哈~

    展开全文
  • Unity3d显示中文

    2019-07-15 15:36:54
    先在windows的Font文件夹下弄来一个中文字体比如宋体.ttf,把这个字体文件放在unity3d的Assets目录下。这样unity3d就会自动加载这个字体。要使用这个字体还需要建立一个GUISink。Assets->Creat->GUI Sink。...

    最方便的思路大概就是用GUISkin了。

     

    先在windows的Font文件夹下弄来一个中文字体比如宋体.ttf,把这个字体文件放在unity3d的Assets目录下。这样unity3d就会自动加载这个字体。要使用这个字体还需要建立一个GUISink。Assets->Creat->GUI Sink。建立好GUISink后点开属性,最上面Font项的字体改为新加入的中文字体。

     

    这边我发现依然不能显示中文,得把Font中的Character变为unicode才可以。。

     

    using UnityEngine;
    using System.Collections;

    public class Font : MonoBehaviour {
    public GUISkin mySkin;
    void OnGUI(){
    if(mySkin){
    GUI.skin = mySkin;
    }
    GUI.Button(new Rect(10,10,50,50),"字体显示测试");
    }
    }


    这样就可以显示中文了。。

     

    接下来要做的是从文本文件中读取中文并显示。

    可以用到TextAsset这个东西,然后用C#的IO来一行行读取。

    void LoadDataFromTxt(string filename)
    {
    TextAsset txtAsset = (TextAsset)Resources.Load("Config/"+filename.Split('.')[0]);
    StringReader reader = new StringReader(txtAsset.text);
    string line;

    string[] lineData;

    line = reader.ReadLine();
    while (line != null)
    {
    lineData = line.Split('');

    line = reader.ReadLine();
    }
    }



    文本须存为unicode的格式。

     

    另一种方法是,把要用的文字做成图片来显示。bitmap方式

    http://www.angelcode.com/products/bmfont/

    上面是一个文字生成工具,很不错。

    和UIToolkit配合着来用,很方便。

    转载于:https://www.cnblogs.com/gameprogram/archive/2012/04/02/2429707.html

    展开全文
  • 这使用Unity3D很容易完成,脚本也很简单,就是透明度Alpha变大、字体变大与延迟函数构成的。 同时,这里的字体换成微软雅黑了,借此说明Unity3D如何导入字体的。 首先,我们从C:\Windows\Fonts文件夹拷贝出自己的...
  • 万万没想到对于3D物体应付起来易如反掌的Unity3D在面对图表的绘制是如此简直无力,需要和C++或者其它语言一样需要调用到自己底层绘图接口《【Unity3D】平面绘图——GL与...所以要在Unity3D整个图表,提高编程效率,就
  • Unity3d 动态字体

    2018-10-08 19:44:58
    Unity3d 动态字体 2014年09月05日 ⁄ 综合 ⁄ 共 2101字 ⁄ 字号 小 中 大 ⁄ 评论关闭               目前测试发现 4.0的动态字体中的Include Font Data选项对移动端依然无效。自从3.4...
  • Unity3D 字体设置

    2019-08-05 20:58:08
    Unity支持所有的 .ttf 的字符集,默认的字体为Arial 设置其它字体前,需要得到一个 .ttf 的字符集,获取的方法很多,可以在网上下载,或者复制本机电脑中的字符集。 win10电脑中所有字体存放路径为:C:\Windows\...
  • 原文地址:Unity3d更改3dText的字体的材质球的shader,使字体不显示在物体最front作者:amiliar 今天在用3D字体时碰到这个问题,字体会一直显示在相机最前面,与GUI 文字没有什么区别, 但是又发现这个字体文件的...
  • 一种是3dtext 也就是unity自带的那个片状,有个pro版本也可以在assets store里搜到 另一种是真正的立体字,要用插件,可以支持中文,后面再说 使用TextMesh Pro 设置中文 导入后可以进行字体等等设置,场景例子也挺...
  • 分类: Unity3D2013-05-24 00:05 2601人阅读 评论(3) 收藏 举报 网上搜BMFont做字体,很多都是从一个字体文件读取,然后选择需要的字,然后保存成图片文字,这个对于一般的文字的确很实用,因为Unity本身...
  • 文件格式大全 ....psd(支持alpha通道) photoshop导出和打开 .png 图片(支持alpha通道) T.... .tif(支持alpha通道) Aldus公司 1.标签图像文件格式(Tagged Image File Format,简写为TIFF) 2.
  • 基本原理就是UILabel 的文字通过读取配置文件显示.(通过配置文件读取就可以让策划去配置拉... 策划莫怪我咯......) 第一步: 建立: Resources/...如  select_role=[ffffff]选择角色[-]  nick_label=昵称:  
  • Unity3D 3D Text穿透问题

    2014-09-10 18:02:26
    1、导入一个ttf字体 2、新建一个材质 3、新建一个shader如下
  • 持久化简单的数据储存在Unity3D 中提供了一个简单有效的方法,如果之前的你做过Android的开发你会发现在Unity3D中持久化数据的储存和Android非常的想象。那么下面MOMO 将用一个简单有效的例子向大家介绍Unity3D中...
  • Unity3D 游戏引擎之游戏场景的切换与持久化简单数据的储存雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/archives/542  持久化简单的数据储存...
  • 1. 将ttf trueType 的字体导入unity 的 Project 2.新建一个3D Text 的 GameObject ,将字体和font material 分别赋给 TextMesh 和Mesh Renderer. Hint: 1. Dymamic fonts 只支持 mac 和 windows ,...
  • unity3d TextMesh清晰字体

    2016-07-18 14:46:42
    直接出效果如图所示,由于unity3d中字体在3d中显示十分的渣,要想在场景中显示比较清晰的字体比较困难。 好在unity插件扩展性,让过去的不可能变成 了可能 。 要使用的工具如下:  1、抽取文字软件:BMFont字体...
1 2 3 4 5 ... 20
收藏数 511
精华内容 204
热门标签
关键字:

ttf unity3d