8 Wei_Yuan_2012

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 6w+

UE4打印Log

1.打印Log到屏幕:GEngine->AddOnScreenDebugMessage(-1.0f, -1.0f, FColor::Red, TEXT("Test Func "));2.自定义Log Category:自定义Log Category方便在所有Log中区分和筛选出你想要的所属模块的Log。如果想定义一个私有的只在一个cpp文件中使用的Category,且不希望被...

2020-02-05 20:45:36

UE4内存检测工具使用

UE4提供了2个工具用于检测内存使用情况,这里记录下使用方法:1.MemReport命令:直接在UE4编辑器窗口的命令控制台上输入MemReport或MemReport -full即可得到内存分析报告。MemReport -full 会得到更加详细的分析报告。报告保存在Game/Saved/Profiling/MemReports目录下,文件格式为.memreport,使用文本编辑器就能打...

2019-12-17 23:21:47

UE4工程打开快捷方式

打开一个UE4工程有两种方式:一种是通过打开UE4Editor.exe或UE4Editor-Win64-Debug.exe,再选中相应工程打开;另外一种是直接打开工程.uproject文件,但是这种方式必须编译Dev版本的UE4Editor。其实UE4还有一个快捷的打开工程方法:新建一个UE4Editor.exe或UE4Editor-Win64-Debug.exe的快捷方式(取决于你要以Dev...

2019-09-18 15:14:59

红黑树的原理:插入和删除

(被问了好多次红黑树的实现原理,每次都说不太清楚,决定认真整理下。)R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。红黑树的应用比较广泛,主要是用它来存储有序的数据,它的时间复杂度是O(lgn),效率非常之高。例如,Java集合中的TreeSet和TreeMa...

2019-04-02 01:27:30

Unity3D之DrawCalls、Batches和SetPassCalls的关系

接触过项目优化的人相信对这三个词组不陌生,优化很大部分时间可能最终就是在优化这三个东西,让它们保持在一个相对稳定合理的数值,太高肯定是不好。这三个数值也能直接在Unity上显示出来,在Unity界面Game窗口右上角有一个“Status”按钮,点击打开Statistics窗口,这个渲染统计窗口(或渲染数据统计窗口)展示了图像渲染、网络状况等多种统计信息。在Unity4.x版本,DrawCalls数...

2019-03-20 02:54:42

Unity3D中的动态字体和静态字体

Unity3D中支持动态字体和静态字体两种格式字体,动态字体即使用TTF格式字体库,静态字体则需要自己打包字体图集。动态字体和静态字体区别在于,动态字体如果出现字体库中不存在的字体,会使用系统字体,而静态字体则不会,而且静态字体是图片,字体大小通过缩放来改变。Unity3D也有自带的字体,Windows下自带字体为Arial。如果使用Unity3D的自带字体Arial字体,在某些机型上可能显示不全...

2019-02-26 02:54:12

游戏中的网络同步

在网络游戏中游戏数据和状态的同步是整个游戏的基础,而游戏中对网络同步要求最高的就是战斗状态的同步,它影响玩家的游戏体验。同时,不同类型游戏的战斗状态同步对网络同步要求又不一样,所以产生了不同的网络同步机制。网络是有延时的,因为每个玩家的网络情况都不尽相同,而且每个玩家机器性能也不尽相同,这还会导致游戏每帧渲染的延迟等,所以要做到真正意义上的完全同步是不大可能的。同步机制最重要的作用就是解决延迟等可...

2019-01-30 16:17:46

Unity3D打包中优化iOS包大小

有过App Store提审经验的童鞋应该知道,App Store对iOS提审包有一个包体大小的限制,这个限制不仅仅是对Mach-O可执行文件大小限制,还有整包大小的限制,比如“80M”、“150M”,这些包体大小的限制会直接影响到你APP能否成功上传或者玩家方便下载。App Store官方文档中规定,对于整包大小超过150M的App包,可以上传到App Store并发布,但是无法在移动网络下下载,...

2019-01-26 21:23:35

Unity3D引擎跨平台底层原理及为何无法在iOS平台上热更新

Unity3D引擎是一款这几年特别火爆3D游戏引擎,大家都知道Unity3D引擎是跨平台的。所谓跨平台就是说开发者只需要写一套逻辑代码,即可发布到各个平台,如Android,PC,iOS等。那为何Unity3D能够做到跨平台呢?之前没有仔细去研究过,只是大概的知道使用了Mono这么同一个跨平台运行环境。那么Mono为何又能跨平台呢,趁着最近有点时间,把之前看到的一篇写的很不错的文章和一些知识点做个...

2019-01-21 03:20:54

Unity3D中AssetBundle的打包和加载

Unity的资源管理是一个比较复杂的模块,如果管理不好,可能导致最终包体大小偏大,程序运行时候内存居高不下,因此了解并掌握Unity的资源管理显得特别重要。Unity中资源一般存放在两个目录下,一个是Resource目录,另一个是StreamingAsset目录。放在Resource目录下的资源在打包的时候会被压缩并打包到安装包中(assets资源),只读,而在StreamingAsset目录...

2019-01-14 12:46:54

Cocos2dx 3.0下的C/C++和Lua通讯以及Object C与Lua通讯

网上关于Cocos2dx开发过程中Lua的使用以及原理教程已经很多了,结合我的开发经验,我在这里稍微整理下。可以说Cocos2dx-Lua提供了一种很轻便的开发模式,省去了冗长的编译时间,同时让热更成为了很容易的一件事情,不仅仅是在Android上,iOS上也轻易绕开了官方的审查,毕竟Lua在iOS系统看来都只是资源,就像txt文档。然而Cocos2d-x是用C++开发的,那么,Lua究竟...

2019-01-05 17:15:37

Unity3D控制Animator播放

有一个需求,要求第一次打开一个界面触发一个动画播放,关闭界面动画播放关闭,再次打开界面继续上次到播放而不是重新开始播放,如果动画播放结束关闭打开界面入口(即无法在此进入该界面)。有两种实现方法:方法1:第一次打开界面开始播放特效动画,调用animator.Play("fx_name")方法,同时获取该动画的播放时长(如果自由一个播放面片的话:animator.GetCurrentAnimatorC...

2018-05-18 20:27:38

自定义TTF多语言版本之台湾繁体

最近做台湾的多语言差异化版本,由于一开始我们都是使用简体中文,不论是配置还是ui,所以如果全部手工去装换,处理起来工作量挺大的。在查看到网上查找了一番,发现是有字库可以把简体字转换成繁字体的,这可以大大减少工作量,不过对于有文字的图片那就没办法了,只能一个个替换。    一开始网上找到的是GB12345,它可以把简体字转换成繁体字。但是台湾的玩家输入的是繁体字,这在游戏中显示就有点奇怪,如果字

2016-07-08 20:01:22

ios开发调用OpenAL的alcOpenDevice(NULL)方法返回NULL的原因之一

我们项目是基于cocos2dx 3.0开发,由于修改了cocos的底层代码,所以不能做到和cocos版本同步更新。但是最近发现我们项目在android 5.0系统上面跑起来特别卡,有些甚至掉帧很厉害。经过种种排查,最终发现是cocos2dx 3.0版本的声音引擎出了问题。    通过查看cocos2dx 3.0代码知道,cocos2dx 3.0提供的音频库接口位于CocosDenshion中,

2015-11-16 01:28:26

python解压函数extractall在windows上报错FileNotFoundError [Errno 2] No such file or directory

今天遇到一个很奇葩的问题,使用pyhon脚本下载服务器上的一个打包工具到本地,然后解压到本地使用,这个脚本在我个人电脑上可以正常运行,但是在别的电脑上就报错,报错信息如下:FileNotFoundError [Errno 2] No such file or directory      一开始以为是我调用python的解压函数用问题,我用的是zipfile的extractall函数,

2015-11-15 17:28:18

coocs2dx-lua在XCode开发时lua和资源热更新问题解决办法

coocs2dx-lua在XCode开发时lua和资源热更新问题解决办法

2015-05-17 14:36:02

关于I/O的一些记录

前段时间做了一个聊天系统,这个系统需要缓存一些聊天的记录,所以用到了IO。首先,简单那说下我定义的聊天消息的数据结构,该结构包括:聊天对象ID,昵称,聊天内容等关键信息。如果是我发送给别人,ID为被聊天对象的ID,由服务端转发(同时)到相应ID的人那里,同时修改ID为我的ID,客户端接收到这个消息之后就可以拿到聊天对象的ID并进行回复了。对于如何区分存储我和不同聊天者的聊天消息,我的做法是

2015-01-17 22:13:37

cocos2d-x3.0开发游戏部分机型(显卡类型)闪退问题

拓展cocos2d-x3.0底层支持etc图片格式,把游戏中的模型使用etc格式的图片替换。原先可以运行在联想(lenovo S880,显卡类型是PowerVP SGX 531)的机器上,但是换成etc图片之后进入游戏加载模型的时候就闪退了。目前大部分其他机型上都没不存在这个问题,只有部分机器会闪退。初步判断有可能是显卡的问题,这个机器的显卡类型是PowerVR SGX 531。不

2014-12-25 00:15:27

分区数据恢复之ubuntu13.10格式化整个硬盘

折腾了四天,终于搞得差不多了,损失也降到了最低。算上这次,我应该有两次比较大失误导致数据丢失了。第一次因为换电脑,误删10G的资料,过了一个星期才发现;第二次是因为装系统的时候错误选择了覆盖,然后整个windows系统包括硬盘分区全部被ububtu覆盖修改。总的来说,还是比较幸运的,两次的数据都找回来了,不过第二次找回来的数据中虚拟机装的系统都坏掉了,不知道是怎么回事。总之,数据很

2014-01-12 21:31:25

Windows 7引导Ubuntu 13.10 双系统安装

之前安装了ubuntu12.04,结果发现这个系统问题百出,不久就弃之不用,过了一段时间的找实习找工作的折腾时间后,安稳下来后突然有想起电脑上的这个系统,于是决定重新装他。按照上次装12.04的步骤安装13.10,却发现出了一些问题,于是写下这篇文章记录下。准备工具:1、当然,就在这个文章的主人公ubuntu13.10系统,官网下载;2、用于系统设置与管理的EasyBCD,当然这个软件

2014-01-11 16:57:18

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享达人
    分享达人
    成功上传6个资源即可获取