自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hello Captain

3D入门中

  • 博客(153)
  • 资源 (56)
  • 收藏
  • 关注

原创 「游戏引擎 浅入浅出」4.3 片段着色器

「游戏引擎 浅入浅出」从零编写游戏引擎教程,是一本开源电子书,PDF/随书代码/资源下载:https://github.com/ThisisGame/cpp-game-engine-book片段着色器(像素着色器)的功能就是:输出颜色。在上一节(顶点着色器)里介绍了,顶点着色器是并行的,当我们需要绘制3个顶点,GPU将3个顶点数据,分摊到3个GPU逻辑单元并行处理,每个GPU逻辑单元同时执行顶点着色器程序。片段着色器(像素着色器)也是并行的,不过执行的次数不是顶点个数,而是屏幕像素个数。举例绘制

2022-08-25 14:51:53 1150 1

原创 「游戏引擎 浅入浅出」4.1 Unity Shader和OpenGL Shader

「游戏引擎 浅入浅出」从零编写游戏引擎教程,是一本开源电子书,PDF/随书代码/资源下载:https://github.com/ThisisGame/cpp-game-engine-book4.1 Unity Shader和OpenGL Shader上一节提到,OpenGL Shader是配套出现的, Vertex Shader(顶点着色器)、Fragment Shader(片段着色器/像素着色器),两者缺一不可。但是我用了20年Unity都没有见过类似的代码,这是咋回事,Unity跳过OpenG

2022-07-27 12:27:03 976

原创 「游戏引擎 浅入浅出」4. 着色器

着色器就是Shader,Shader就是一段GPU程序源码。我们大学就学过的C语言是CPU程序源码,Shader和C 语言有很多相似之处,也要写代码、编译、链接。通过下面的表格来做对照。C语言Shader目标硬件CPUGPU编译流程创建项目创建GPU程序创建多个代码文件创建Shader对象(顶点Shader和片...

2022-07-25 19:41:24 885

原创 「游戏引擎 浅入浅出」1.1 Unity的组成

一个大型的软件,不可能每行代码都自己写,Unity这样一个大型的商用游戏引擎,也依赖特别多的开源库。

2022-05-31 00:19:32 393

原创 「游戏引擎 浅入浅出」项目介绍

「游戏引擎 浅入浅出」是一本开源电子书,Markdown、随书代码及资源下载: https://github.com/ThisisGame/cpp-game-engine-book 项目介绍 README本书以实际项目开发Timeline,完整介绍一个游戏引擎的所有模块,从最基础的OpenGL环境搭建,到骨骼动画、多线程渲染、阴影实现等等,最后实现一个完整的游戏引擎。章节内容 Chapter第 1 章介绍游戏引擎框架,以Unity为例,介绍游戏引擎组成。第 2 章介绍OpenGL开发环境搭建.

2022-04-13 01:20:38 2965

原创 「游戏引擎 浅入浅出」前言

「游戏引擎 浅入浅出」是一本开源电子书,Github地址: https://github.com/ThisisGame/cpp-game-engine-book为什么写这本书?在与同事沟通时,会提到如何使用Unity Profile做性能优化,对于内存、耗时大家都能理解到,打包图集、减少DrawCall这些都可以按照一定数值参考。但是对于内存为什么占用这么多,CPU使用率为什么会随着DrawCall数量上升而上升,大家又了解的比较少。12年末我大学实习进入手游公司,那个时候公司项目是自研引擎,做完项

2022-04-13 00:58:17 571 1

原创 「游戏引擎 浅入浅出」1. 游戏引擎框架介绍

1. 游戏引擎框架介绍「游戏引擎 浅入浅出」是一本开源电子书,Github地址: https://github.com/ThisisGame/cpp-game-engine-book 目前市面上的游戏引擎比较多,商用的有UE/Unity,开源的有OGRE/Cocos等。多年前,每个游戏公司都有自己的专有引擎,背靠优秀的引擎技术,可以将产品打磨的更加流畅,画面可以做的更加绚丽。例如13年网易 蜗牛等厂商进军手游,将一大票小型游戏公司压在脚下,又例如今腾讯做出的PUBGM/CODM等超大场景,无不依赖

2022-04-13 00:52:17 3161

原创 Failed to initialize Data Warehouse host process

Failed to initialize Data Warehouse host process在VS启动Profile时出现这个错误,要用管理员打开VS才行。如果设置为管理员无效,那么可以看下官方的一些回复。https://developercommunity.visualstudio.com/t/digonstic-tool-fails-unexpectedly/798631...

2022-01-12 12:14:48 721

原创 MultiThread SkinnedMeshRenderer原理及实现

最近在思考Unity AUP在OpenGLES里面的实现方式,原理就是OpenGL 多线程多Context状态共享,这个一时还没有比较完善的思路。不过我又想起另一件事,就是之前写的性能特别差的SkinnedMeshRenerer,性能特别差,主要有2方面的原因:从3dsMax导出文件时,有很多预计算没有做,全部放在代码中实时运算了。顶点坐标更新是单线程的。因为电脑上没有3dsmax2019了,所以第一点就先搁置。而这几天又在做多线程的工作,于是计划把第2点解决,即多线程SkinnedMeshRe

2021-02-13 00:14:44 608

原创 OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(二)

1.前言上一篇 OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(一) 介绍了使用Uniform数组实现GPU Instance的方法,但是由于Uniform变量数量有上限,所以这种方式受到很大限制。本篇介绍使用顶点缓冲区VBO的形式来实现GPU Instance,只要系统允许,可以绘制无限个实例。2.了解顶点缓冲区VBOVBO在之前的教程中介绍过了,请跳转 OpenGL ES 学习教程(五) 极速绘制,使用 VBO (顶点缓冲区对象)!3.使用V

2021-01-19 13:27:56 1061

原创 OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(一)

我们口中常说的Unity batch有2种形式,static/dynamic batch 和 GPU Instance。static/dynamic 都是在软件层面上对Mesh进行合并,而GPU Instance则是图形框架提供的功能,任何游戏引擎都可以实现上面2种形式的batch,这次我们就来探究下Unity GPU Instance的原理及实现。1.为什么要合并DrawCall?首先需要了解的是CPU与GPU交互,是CS架构的。我们口头上常说的一个DrawCall,指的是从指定GPU Pro

2021-01-16 16:29:20 2304

原创 RenderDoc[03] 还原粒子特效shader

对于未加密的ab,可以用对应版本的unity load出来。模型可以正常显示,但是粒子特效使用的是自制shader,所以显示为红色。这次的目标是还原粒子特效shader。最终还原效果如下图:1.查找对应shader代码选中粒子特效后,在属性面板可以看到shader名字。例如上图粒子特效,使用shader名为 Basic Additive。在RenderDoc中找到shader资源。来看动图2.创建shader在unity中新建Unlit shader。根据属性面板,添加对应Pro

2021-01-07 13:22:13 928

原创 RenderDoc[02] 修改Shader,分析目标游戏阴影实现

1.背景继上一篇分析了目标游戏的一些实现后,在这几天的游玩中,我注意到游戏的阴影比较特殊 --物体之间没有遮挡产生阴影,阴影只显示在最底层背景之上。我的猜想:用深度贴图和背景图做混合。具体是怎样,来分析看看。2.目标借助RenderDoc的Shader分析修改功能,来分析目标游戏阴影实现。3.RenderDoc查看Shader在RenderDoc中截取一帧,这个操作,其实RenderDoc就把当前一帧所有命令都记录下来了,包括输入输出。在RenderDoc中查看一个Event,其实就是在重放

2020-12-28 18:42:32 1711

原创 RenderDoc[01] 使用RenderDoc 分析Android游戏(免Root)

1.背景这几天玩了一个美术表现不错的游戏,忍不住想扒点模型资源和效果。直接用UnityStudio解包拿到fbx。但是一起解压出来的三张贴图,一张普通贴图,一张法线,还有一张就难住我了。这个绿色的是什么用处的,在群里问了一圈小伙伴也表示不知道?没有什么头绪,那就只好用GPU分析软件来调试。上一次用GPU分析软件还是2年前了,用的是Mali的MGD,需要搭配Root的手机。现在手上只有一台自用红米Note8,没有Root,于是本次使用群大佬推荐的RenderDoc。RenderDoc之前我只

2020-12-25 11:34:00 9852 15

原创 Unity Animation Instancing 官方解决方案初试

Animation Instancing 是unity官方提出的高性能大规模动画解决方案,起初是为了解决企业用户的需求,后来在Github上开放。Github地址:https://github.com/Unity-Technologies/Animation-Instancing官方Blog地址:https://connect.unity.com/p/animation-instancing-gao-xing-neng-da-gui-mo-dong-hua-jie-jue-fang-an项

2020-11-18 01:19:05 3873 5

原创 Unity2019 Dots初试

主要参考Unity Connect上面的文章,原文链接:https://connect.unity.com/p/unityecs-yi按照文章,是创建 100x100 的立方体,以噪声作为Y轴值,进行波浪动作。测试环境Unity 2019.4.2f1 (64-bit)安装最新的Package测试结果原始组件模式:15-16fpsECS+JobSystem:60-70fpsECS+JobSystem+Burst:120-180fpsECS模式ECS是一种设计思想,和Unity之

2020-07-04 18:59:21 1474

原创 Unity使用顶点颜色 做混合 来实现SoftParticle 效果

简单的UV滚动 实现水面效果,在边缘处很生硬。使用SoftParticle 可以变得融合。但是手机上不能使用SoftParticle。可以采用刷入顶点颜色数据 作为Alpha 来源,在Shader中进行混合。边缘处的顶点,将顶点颜色 刷入透明。在Blender中操作。刷入之后,在shader中就可以取来作为Alpha了。修仙3...

2019-04-04 19:34:53 2275

原创 OpenGL ES 学习教程(十六) ShadowMap的理解

目前游戏上的阴影一般用ShadowMap实现。我一直在学习LearnOpenGL上的文章,ShadowMap这一篇,说实话我两年前就开始看了,一直没明白,或者说没有认真花时间去看。最近在给lives2d堆功能,终于也到了阴影的实现。LearnOpenGL上ShadowMap教程地址:http://learnopengl-cn.readthedocs.io/zh/latest/05%2...

2018-07-20 02:14:58 967 2

原创 精度限定符很重要

今天早上写好了Diffuse光照,就开始编译到Android上。但是运行之后就是一片黑,查看logcat也没有错误日志。因为Win上面是好好的,故而猜测是不同的平台对GL处理上不同。于是最简单粗暴,一行一行把新加的Shader代码删除掉,最后定位到vec4 colorTexture=texture2D(m_texture,m_outUV);这行代码哪里有问题?最开始猜测难道texture2D这个函...

2018-05-27 14:58:08 539

原创 3dsmax 2019 插件开发要点

最近有个外包需求,模型那边使用max2019制作,所以我这边要对应编写max2019的导出插件。max2019的sdk使用和max2014上有一些不一样,下面的一些要点要注意。首先需要安装vs2017然后修改maxsdk\ProjectSettings\propertySheets\3dsmax.general.project.settings.props里面的winsdk 从 win10 修改到...

2018-05-20 14:27:03 3975 6

原创 利用Xcode GPU调试工具 找到渲染代码的BUG

这两天在做Lives2D 移植到IOS的工作,终于在23点完成了,这其中也碰到一些问题,记录一下。首先是图片显示不出来,显示为全黑。转自http://blog.csdn.net/huutu http://blog.csdn.net/huutu既然有显示全黑,而且坐标和尺寸都对,那顶点 数据应该是OK的。那就有以下2个地方可能出错。1:纹理采样出错2:GL设置出错1:纹理采样出错因为FreeImag

2017-12-31 23:36:16 4689

原创 MGD 调试 Lives2d 文字破碎问题 (MX2)

今天把FreeType加入到Lives2D中,在Win上表现正常,但是在Android上面,文字一闪而过,然后就糊掉了,猜测是Texture被损坏,于是计划用MGD来调试GLES查看具体问题。MGD需要Root手机,我手里的是魅族MX2,魅族的Flyme 首先需要在设置的个人中心里面开放权限,然后再安装KingRoot完全开启Root权限,其它Root软件是不行的。然后电脑连接手机,在MGD中安装

2017-10-22 00:56:01 1091

原创 Android GLES多线程处理

这几天在进行Lives2D的Android移植,lib的编译都OK,然后也简单的跑起来了,然后开始添加Android端的MediaPlayer来播放音效。MediaPlayer加入之后,问题就出现很多了,JNIEnv的存储、JMethod获取都是比较繁琐的事情,我对Android也不怎么熟悉,花了很多时间。但是测试发现,游戏各种崩溃。测试场景如上,一个按钮,点击就会调用JNI 来PlayAudio

2017-10-05 17:44:20 1309

原创 Profiler.BeginSample 在Release版本会执行吗?

为了在Profiler中 检测到具体是哪个 UIRect 的Update 会申请内存,在UIRect 的Update 里面调用了 Profiler 操作,并且传入的是 UIRect 的名字。在UWA的检测报告中,这里分配了很多堆内存,这是意料之中的事情,毕竟有大量的字符串拼接。转自http://blog.csdn.net/huutu http://www.liveslives.com但是问题是,R

2017-06-29 12:20:37 1535

原创 NGUI UILabel 文字破碎

项目使用NGUI,最近碰到 Loading界面的提示文字破碎的Bug。参考了以下文章http://blog.csdn.net/langresser_king/article/details/22095235转自http://blog.csdn.net/huutu http://www.liveslives.com下面先来了解一下为什么会出现这种问题。需要了解的是 NGUI的UILabel使用的是U

2017-03-13 18:33:14 2653

原创 自定义Mono,实现Unity Android平台代码更新

Unity是基于Mono的,我们写的代码都被编译成DLL,然后由Mono读取这个DLL并解析运行。在Mono眼里,DLL和普通的资源文件没什么区别。

2017-02-28 02:13:38 4310

原创 Unity 与 NGUI 坐标转换原理

在游戏中最常用到坐标转换的就是制作人物头顶的血条/名字 之类的显示,Unity提供了摄像机以下API供我们使用:1、将世界坐标转换到屏幕坐标Camera.WorldToScreenPoint()2、将屏幕坐标转换到世界坐标Camera.ScreenToWorldPoint()比如在游戏中的主角,我们知道他的世界坐标,通过场景摄像机,调用 WorldToScreenPoint 将坐标转换到屏幕坐标。

2017-01-24 01:21:02 2692 5

原创 OpenGL ES 学习教程(十五) 从 颜色缓冲区(FBO的颜色附着)中 读取颜色数据 保存到图片(FreeImage)

GL中提供读取像素数据的API glReadPixels,方便实现游戏中截屏功能。

2016-12-07 02:39:47 5282 1

原创 OpenGL ES 学习教程(十四) 帧缓冲区对象(FBO) 实现渲染到纹理(Render To Texture/RTT)

一般情况下,我们只需要系统提供的帧缓冲区作为绘图表面,但是又有些特殊情况,比如阴影贴图、动态反射、处理后特效等需要渲染到纹理(Render To Texture/RTT)操作的,如果使用系统提供的帧缓冲区,效率会比较低下。

2016-11-27 15:39:08 7494

原创 OpenGL ES 学习教程(十三) Stencil_TEST(模板缓冲测试)

模板缓冲测试,是指 将模版缓冲区中的值 与 一个参考值 进行比较,根据比较的结果,来对缓冲区中的值进行修改。进而决定该片段是否有效。在应用中的体现就比如:Unity中的Mask 。

2016-11-18 15:31:20 5961 1

原创 OpenGL ES 学习教程(十二) DEPTH_TEST(深度缓冲测试)

在OpenGL中,默认是没有开启深度检测的,也就是说,后绘制的物体覆盖先绘制的物体(颜色缓冲区中,先绘制的物体 被 后绘制的物体 覆盖)。

2016-11-03 00:46:25 7874

原创 Unity Shaders and Effects Cookbook (D-2) Cull Back背面剔除 -- 模型半边不可见

我们知道物体都有两面,一个立方体盒子,有外面和里面之分,对于我们游戏来说,玩家一般只能看到外面,里面其实是不需要的。所以默认Unity会开启背面剔除,把背对摄像机的面都剔除掉。

2016-09-21 22:41:44 4232

原创 Unity Shaders and Effects Cookbook (D-1) 设置 ZTest 来实现遮挡半透效果

在游戏里面经常看到这样的效果,英雄走到障碍物后面,但是我们能够透过障碍物看到英雄的身体,好像我们有了透视眼一般。

2016-07-31 01:18:16 2723 1

原创 UGUI 实现无限滚动

界面中大量使用了 Outline 以及界面复杂度较高,在邮件 等需要超长滚动列表的界面,就会十分卡顿。既然美术与策划同学不能妥协,那就来优化代码。按照滚动区域的属性,展示给玩家看的只是一小块区域,比如列表中有100封邮件,其实只要显示个七八封就够了,剩下的,在向上滑动的时候,把第一排移动到最后一排,替换内容。

2016-05-31 22:47:01 16916 9

原创 Unity Shaders and Effects Cookbook (7-3) 在地形中使用顶点颜色做混合

在地形中,原本我们应该要有一张图片存储 用来做混合的数据,但是多一张图就需要更多系统资源来处理。既然顶点数据中有color 数据,那么我们在做模型的时候可以把数据刷到顶点颜色中,就省了这一张图。

2016-05-13 00:14:14 7725

原创 Unity Shaders and Effects Cookbook (7-2) Surface Shader 中实现 顶点动画

使用顶点函数,我们可以访问网格中的每个顶点位置。这使我们在着色器运行的过程中可以动态的改变顶点位置。创造出丰富的效果。

2016-05-12 01:14:52 11901 1

原创 Unity Shaders and Effects Cookbook (7-1) 在Surface Shader 中 访问 顶点颜色

在OpenGL中,需要顶点着色器和片段着色器的支持才能进行正确的渲染,在顶点着色器中,每一帧 对 场景中物体的每个顶点都要执行一次处理。如果自己使用OpenGL,需要在C++ 代码读取模型数据,将顶点坐标、顶点颜色、UV坐标传递到顶点着色器中。所以在顶点着色器中 ,是可以对顶点数据进行修改的。

2016-05-11 01:19:34 8285

原创 Unity Shaders and Effects Cookbook (6-4) GUI 和 透明度

手机游戏越来越炫丽了,在各色游戏界面的背后离不开透明 的使用以及 渲染队列 控制。

2016-05-10 02:00:34 5285

原创 Unity Shaders and Effects Cookbook (6-3) 修改渲染队列Queue 来 修改渲染顺序

默认情况下,Unity是按照物体与 摄像机 的距离,来决定哪个物体先渲染。远处的物体先渲染,先渲染的物体,就会被都渲染的物体遮挡。但是有的时候,需要让远一点的物体 显示在 近一点的物体的上层,该怎么办?

2016-05-06 23:37:02 5254

原创 Unity Shaders and Effects Cookbook (6-2) 透明裁剪着色器

这一节学习透明裁剪着色器,效果类似于溶解,适合作为怪物死亡的效果。仍然是读取 RGB 通道值,赋值给 alpha,然后指定一个固定值作为标尺,如果 alpha < 标尺,就抛弃这个片段,也就是裁减掉不显示。

2016-05-06 14:47:18 5170

UGUI 屏幕适配 导致 BoxCollider无效 解决记录

昨天导出安卓包之后,在我的MX2上安装,测试发现 子弹碰到 敌机 毫无反应,敌机碰到我的飞机毫无反应,因为设计时的屏幕尺寸是640x940,而MX2是800x1280。第一反应是屏幕分辨率问题。

2015-06-04

Unity3d调用Lua

前面介绍了在 Unity3d 中通过 Plugin 功能来调用 C++ DLL 中的函数 以及回调的使用方法,但最终目的还是让 Unity3d 中可以调用 Lua 脚本中的函数,现在来实现。 首先关注前面两篇文章: 1、Unity3d 调用C++ DLL (Win平台) 2、Unity3d 调用 C++ DLL之 DLL回调Unity3d (C++ DLL回调 C#函数)

2015-05-16

在Unity3d中使用C++ DLL

在Unity3d中使用C++ DLL

2015-05-14

扩展Unity3d 组件方法,简化API使用 - C#特性之 Extension Method

我们知道,Unity使用的是 Mono ,而Mono 是C# 的一套开源的实现,C#中的大部分特性在Mono中都已经被实现了。包括 C# 的Extension Method 。

2015-05-10

Unity3d 导入图片 自动修改Texture Type

Unity3d 的新版 UI 系统在给我们带来很大便利的同时,也添加了一些小麻烦。每次从电脑中导入图片到 Unity3d 中都需要手动设置Texture Type为Sprite (2D and UI) 及设置 Packing Tag。对于需要打包为一个图集的图片,我们一般把它们放到一个文件夹中。 基于以上,我们可以让图片的 Packing Tag 自动设置为 文件夹的名字。

2015-05-07

Unity3d游戏安装包 极限减少之 四分图、二分图 (NGUI向)

在这个酒香也怕巷子深,游戏不打广告不买用户不刷榜就会死的时代。每个游戏代理都想让CP提供的安装包越小越好,能99M绝对不要100M。但是游戏开发商们在一遍一遍踢出无用的资源,一点一点得把游戏包扣小,发现大小还是减不下来,该怎么办,这时只有拿美术资源开刀了。

2015-04-14

Unity3d 性能优化 OnBecameVisible/OnBecameInvisible

Unity3d 性能优化 OnBecameVisible/OnBecameInvisible

2015-04-13

用C++来实现类Unity3d的AddComponent

用C++来实现类Unity3d的AddComponent 如何使用类名来创建类实例。

2015-04-11

Ogre3d 之使用 Android NativeActivity

昨天把Ogre3d 编译到Android 平台安装之后,再回头看代码才发现,在Android工程中居然没有Java源文件,从Manifest文件中才知道原来使用的是 NativeActivity 。这一下让我犯糊涂,没有Java文件,没有Activity,那我要接入广告或者其它的一些SDK该怎么做呢?如果我要从一个Activity再跳入游戏界面那该怎么做呢?

2015-03-28

jom 多线程执行nmake的工具

jom 多线程执行nmake的工具,直接输入jom就可以执行了

2015-03-27

Unity3d 人物换装之 一个Shader处理3张图片 减少DrawCall

我通过一个例子,将三个带有不同颜色 RGB的立方体,合并Mesh和材质到Character这一个GameObject中。这样原本对3个GameObject的操作只需要对Character这一个GameObject进行操作就好了。但是我们的任务还没有完成。

2015-03-24

Unity3d 人物换装 之 Mesh 合并 (材质合并)

中介绍了如何把人物身体部分动画组合起来让人物模型动起来,但是在UnityEditor中可以看到,模型的4个部分是以4个GameObject的形式独立存在的

2015-03-23

Unity64 AStarPath 寻路失效 Bug解决 IOS64 IL2CPP - Bad date/time format in the zip file

把游戏项目迁移到IOS64 上面又出现了自动寻路无效的BUG,在XCode Console中有提示AStarpath异常

2015-03-07

Unity3d 调用 C++ 函数 实现加密防破解 (Android向)

因为Unity 采用C# 作为主要语言,代码编译之后作为DLL存在与执行文件中,这就给我们带来很大的一个问题,反编译非常容易。

2015-02-07

图片打包加密小工具

图片打包加密小工具 可以用来打包加密文件 支持多文件夹

2015-01-24

Unity3d Sqlite数据库

Unity3d Sqlite数据库 sqlite的DLL文件,在Unity安装目录可以找到。

2014-10-09

LitJson C#

LitJson 文章地址 http://blog.csdn.net/huutu/article/details/24298349

2014-04-22

OpenGL 画直线 WIN7 VS2012

OpenGL 画直线 WIN7 VS2012

2013-10-10

OpenGL VS2012环境搭建以及第一个OpenGL例子(WIN7 64位系统)

OpenGL VS2012环境搭建以及第一个OpenGL例子(WIN7 64位系统)

2013-10-10

Android游戏设计之-------游戏音效的播放 SoundPool

Android游戏设计之-------游戏音效的播放 SoundPool

2013-09-26

OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(二)

OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(二)

2021-01-19

OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(一)

OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(一)

2021-01-16

使用Docker简化运维工作 星辉畅娱技术分享.pdf

用Docker简化运维工作 是星辉畅娱的技术分享。内容由我收集网上文章以及个人开发经验组成。用Docker简化运维工作 是星辉畅娱的技术分享。内容由我收集网上文章以及个人开发经验组成。

2019-05-20

一键生成Android/Android-HD/IOS 多尺寸ICON

一键生成Android/Android-HD/IOS 多尺寸ICON

2017-06-17

Lua 单例的实现

Lua中没有类的概念,但是程序猿说要面向对象,然后就有类。程序猿说要继承 和override,然后就有了继承 和 override 。程序猿说要有单例然后有了单例 这里用 Person 和 Student 来作为例子。有少许解释在代码中。

2015-11-04

Lua 类的继承与override

Lua中没有类的概念,但是程序猿说要面向对象,然后就有类。程序猿说要继承 和override,然后就有了继承 和 override 。

2015-11-04

Lua 类的继承与函数override

Lua中没有类的概念,但是程序猿说要面向对象,然后就有类。程序猿说要继承 和override,然后就有了继承 和 override 。

2015-11-04

Lua 中实现类

Lua中是没有类的概念的,但是程序猿说要面向对象,所以就有了。

2015-11-03

C++ 中调用 Lua 函数

在 C++中调用 lua 中的函数并处理返回值

2015-11-03

tolua++ 编译 及使用 简单介绍

tolua++ 编译 及使用 简单介绍 tolua++ 是用来把 C++代码 生成 在Lua中使用的接口的工具,编译步骤比较繁琐。

2015-11-03

使用Qt(mingw)编译FreeType为 .a 静态库

选择Qt来做工具的UI,但是因为安装的是mingw版本的Qt,之前在VS中使用的lib静态库这一下就派不上用场了,网上搜索到可以用工具把 lib 文件转换成 .a 文件,但是自己尝试后没有生成成功,加之这种转换也有各种局限性,所以还是把 FreeType的源代码下过来,用Qt新建一个Lib工程来编译。

2015-08-26

Unity3d 在Inspector 中 设置添加回调函数

在做一些开场动画或者其它指定事件触发 一类功能时,需要在编辑环境下设置添加回调函数。 一开始尝试直接使用delegate 来编写,测试发现没有效果,在谷歌搜索到Unity论坛有人提到 delegate 不能被序列化到Inspector 中使用,建议使用 UnityEvent 。

2015-07-16

C#中使用Obsolete标志代码过期

C#中使用Obsolete标志代码过期

2015-07-10

TexturePacker UGUI Importer

TexturePacker UGUI Importer TexturePacker官方的图片导入处理插件

2015-06-23

LZMA C# SDK 结合 UPK打包 多文件夹 Unity3d实例

LZMA C# SDK 结合 UPK打包 多文件夹 Unity3d实例

2015-06-22

LZMA C# SDK 子线程压缩与解压缩 Unity3d实例

计划在项目中使用 不压缩的Assetbundle ,所以需要对Assetbundle 进行手动压缩打包,因为之前有对 十万个冷笑话的打包分析,所以这次坚定选择 LZMA压缩算法来压缩Assetbundle。

2015-06-22

Mono2.0 对C#闭包 与 donet 不同的实现导致Unity的Bug 及解决方案

Mono2.0 对C#闭包 与 donet 不同的实现导致Unity的Bug 及解决方案

2015-06-20

Unity5 Assetbundle简单使用 及 打包Material文件超大的问题

简单的来说,Unity5中新添加的 AB 打包,和我们平时使用的方式一样,原理就是 为每个文件创建一个依赖文件,然后汇总到一个总的依赖文件中,在游戏最开始运行的时候需要加载这个 总的依赖文件,然后加载 Assetbundle的时候,从中获取到依赖关系来加载依赖。

2015-06-13

UGUI 实现Button长按效果(RepeatButton)

在商店中购买、在背包中出售、使用一种物品的情况下,需要对按钮进行长按处理,来快速增加或减少 物品个数。在Unity的 GUI中有一个RepeatButton可以用,在NGUI中有OnPressed 回调可以使用,但是在 UGUI 中的 Button 并没有这种功能,就需要自己添加。

2015-06-10

慎用Outline ,UGUI Outline实现原理分析

使用 UGUI 制作背包的时候,同事发现如果背包中添加了大量的物品,比如两百个,Unity就会出错,提示 Canvas element contains more than 65535 vertices. This is not supported 。意思就是 Canvas下面的顶点数过多。

2015-06-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除