自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Unity Animator入门:使用Animator和trigger参数做简单的UI动画

Unity中使用Animator和trigger参数做简单的UI动画

2019-12-03 09:48:59 17331

原创 Unity3d中协程的原理,你要的yield return new xxx的真正理解之道

之前之前看了一天的博客,各种文章巴拉巴拉,又说到迭代器了,又贴代码了,看的我头都晕了,还是啥都不懂。最后答案还是在微软C#的官网找到了,可喜可贺,故发上来给大家看看,兴趣能赚个几百评论呢(并没有)?

2017-12-30 13:20:39 11901 22

原创 UE4关卡流式加载与Latent机制

UE4关卡流式加载与Latent机制讨论一下UE4中的关卡流式加载。基础的介绍和使用见官方文档就行了,这里就不再赘述。这里假定你已经学会怎么用了,而且知道怎么在C++里面使用关卡流式加载。那么,本篇文章来讨论一下关卡流式加载在UE4中是怎么实现的。异步说到异步,用大白话可以这么说:我发起一个异步行为,并把完成后的回调也传给它;行为执行完毕之后,回调会被调用。就像关卡流式加载这里,在发起异步加载关卡的时候,需要传入一个FLatentActionInfo结构体,里面放入回调信息。包括必要的:回调

2021-03-27 16:52:11 1880

原创 UE4 EQS C++自定义节点编写

目录决策对象GeneratorContextTest基础应用就不说了,直接看官方文档。这篇主要讲怎么在C++层定义Generator、Test和Context。决策对象EQS的作用是做出最优决策,目前支持的决策对象包括:ActorPointDirectionGenerator按照上面所说,生成器可以生成可选的集合。对于一个自定义C++ Generator来说,最起码需要实现两个函数:构造函数标明集合的类型(Actor, Point, Direction…)Generat

2020-11-04 19:48:09 1086

原创 Hexo Next为每篇文章设置自定义的banner图片

小试牛刀想完成这样一个功能:顶部banner默认读取images/background.jpg,当进入文章页面的时候,判断文件夹内是否存在header-banner.jpg图片存在,有就优先使用它。之前改变banner图是直接在custom.styl里改变.header-inner里的background属性的。现在当然要在javascript中改。首先我找到了整个宏观布局定义的代码...

2019-07-23 20:17:50 4681 2

原创 Unity中的C#使用优化

Unity中的C#使用优化避免装箱拆箱避免高消耗API的频繁调用提取常用的局部变量为成员变量提取常使用的不变对象为静态常量string操作避免装箱拆箱所谓装箱就是把值类型变成引用类型,比较隐蔽的情况是:把值类型作为Object类型参数的时候,或者返回一个object对象的时候。第一种:Debug.Log(string.Format("content: {0}", 1));非装箱版本:...

2019-07-19 13:30:43 469

原创 IPad Pro 2018 Unity 屏幕适配 解决无法全屏问题

MTL测试结果说在IPad Pro 2018上出现了没有全屏的问题。由于是在Splash Screen阶段就出现了不全屏的现象,故认为应该这是native阶段的问题。于是以「ipad pro 2018 unity fullscreen」为关键字进行搜索。查到一可行之方法如下:进入ios Player Setting找到Splash Screen项将其下的IPad的选项改成default...

2019-05-14 14:09:54 7399

原创 博客迁移

现在已迁移到左未的笔记本。

2019-03-06 16:32:30 248

原创 OpenGL超级宝典笔记(零)数学基础与基础变换

这部分与(一)的不同是这部分只注意使用价值,不搞矩阵怎么运算那些虚的,而且结合OpenGL来讲。声明:摘抄,翻译,感悟自http://www.songho.ca/opengl/gl_transform.html#modelview主要流程基础数学知识别理太多,反正转换矩阵总是在坐标或者向量的前面,公式一直都是Coorddst=Mtransform∗Coordori Coord_{ds...

2018-10-19 16:12:22 200

原创 重读cocos2dx引擎

First of All这个系列是看了版本OpenGL超级宝典之后,重新看cocos2dx渲染部分的笔记。2016综述:/** * Sprite is a 2d image ( http://en.wikipedia.org/wiki/Sprite_(computer_graphics) ) * * Sprite can be created with an image, or wi...

2018-10-12 11:50:51 327

原创 OpenGL超级宝典笔记(n)PBO缓冲区

前略好几章都没放上来,以后再补上吧。之前一直使用gltools的GLBatch来填充数据传给shader,现在直接用自己的buffer来传数据了。不外乎几步:弄一个buffer指针,其实弄一个buffer数组也可以了,数组可以记得个数,指针可不能,容易出事儿就这么着吧,算是上一步弄了个buffer数组,那数组名就是一个指针了,现在把指针传给OpenGL来分配一个bufferunsigne...

2018-09-29 18:00:28 1036

原创 OpenGL超级宝典笔记(一)数学基础与基础变换

创建更多图形批量三角形GlTriangleBatch 可以塞进去多个三角形,用处是把重复的点剔除掉,坏处是当三角形加了太多了之后每次添加都会更慢一些。 几个关键的api如下GLTriangleBatch b;b.BeginMesh(200); // 200个顶点b.AddTriangle(M3DVector3f verts[3], M3DVector3f vNorms[...

2018-09-11 17:41:01 470

翻译 渲染管线与shader概述

内容由该网页整理翻译得来(Translate from this website):http://in2gpu.com/2014/10/29/shaders-basics/ 这个系列的目录在:http://in2gpu.com/opengl-3/渲染管线图解释我们最关注的是顶点着色器和碎片着色器,没有这两个着色器就无法渲染出任何东西来。着色器让我们可以自定义如何着色(???)...

2018-08-13 17:21:16 643

原创 c++异常处理note

概述当抛出一个异常后,程序暂停当前函数的执行过程并立即开始寻找与异常匹配的catch语句,这叫栈展开。如果找不到,最后会调用标准库函数terminate。自动销毁栈展开的时候,在该块里面的局部变量将进行销毁,如果是类,会调用析构。所以说才要尽量使用智能指针,就不用在finally里面写delete了。异常对象其实可以throw任何对象,这个对象会被保存在编译器管理的空间...

2018-08-02 11:21:17 402

原创 c++中的内存分配逻辑

理解自:http://www.learncpp.com/cpp-tutorial/79-the-stack-and-the-heap/内存分配一个程序在用的内存分为几个片段: - code segment 存放代码的地方,这部分是只读的 - bss segment 存放全局默认静态变量的地方 - data segment 全局变量和静态变量 - 堆 动态分配内存的片段 - c...

2018-07-17 14:43:12 199

原创 改进的小红点系统

根据一般的需求思路,几个小红点一般都会影响整个模块外面的总小红点。 说一下计算外面小红点的两种思路:#原思路每次里面有小红点变更的时候,都去刷新一下总小红点。 优点: 爽 缺点: 如果你有一百个子小红点,就很蛋疼了,其他小红点也都要全部计算一遍#改进的思路建立一个n长度的布尔类型数组,代表着n个子小红点的是否点亮。 在子小红点更新的时候,把对应的位置为设置成的亮度,然后...

2018-07-02 11:41:07 2402

原创 UIButtonUIButton

前言给自己一个整理,也给后人一个看源码的思路。

2018-06-27 23:39:27 196 1

原创 自读Unity3d UGUI源码(一)Graphic

前言尽量用最简单易懂的文字说明。因为自己也是个菜鸡,所以会用菜鸡也听得懂的话来说。 思路是先看父类,然后一层一层下去,中间遇到没见过的类就点进去看一下。UIBehaviour一切UI组件的父类。叫爸爸。 是一个抽象类,定义了一堆虚方法,以及实现了唯一的一个实方法IsDestroyed()。 **除了**unity本身的几个生命周期方法之外,还定义了几个值得注意的虚方法: -...

2018-05-16 18:35:42 11447 8

原创 cocos2dx中实现Java传值给lua

上一篇研究到如何在c++层传值给lua。在本篇中,我们将以c++为中间层,从Java传一个string到lua层。 首先跑到proj.android那边新建一个java文件,这里创建了com.exkulo.test.JavaBridge,创建了一个类,带了一个static方法。package com.exkulo.test;import android.widget.Toast;public cl

2017-10-18 16:03:07 557

原创 手动实现cocos2dx里的lua-binding

网上早已流传着cocos2dx引擎自带的lua-binding的方法。之前我自己尝试了一遍,发现一直不顺利,又不想去看python代码,所以在这里采用了更加便捷的方式。编写.h以及.cpp代码打开frameworks/runtime-src/proj.win32/projname.sln以打开你的工程定位到以下地方(或者随便别的地方,记住路径即可),编写你自己的代码。 首先看一下.h文件

2017-10-17 15:51:15 794

原创 socket知识点整理

在UNIX系统中,一切都是文件,一个int值代表着一个可以打开的文件,这个文件可以执行read()或者write()方法。

2017-08-24 15:28:22 793

原创 【进程&线程】调度 schedule

预备知识:在并发体系中,I/O几乎是不消耗cpu资源的。当I/O完成之后会通过DMA(Direct Memory Access),通知cpu。这个时候cpu完成上下文切换,执行接下来的进程。由于cpu的发展比磁盘的改进快很多,所以接下来的进程会越来越倾向于I/O密集型。两种调度算法:非抢占式算法 挑选一个进程并运行直至它IO阻塞或者自动让出cpu。这样就

2017-05-10 10:03:27 467

原创 【进程&线程】睡眠与唤醒

无法进入临界区的时候选择阻塞而不是忙等待。有sleep和wakeup两个方法。信号量semaphoreup和down两种操作。down做减一操作,如果信号量大于0就减一,不然就睡眠线程。关键在于原子操作,所以一般是在系统层面的。首先两个进程同时运行。当A进程想进入临界区的时候执行down操作来做标记,把一般信号量和mutex(互斥锁)都down一遍,这个时候

2017-05-10 10:02:14 2773

原创 【进程&线程】临界区解决方法

大家都要用的变量叫临界区域(region)。有几种手段可以避免ab线程一起进入临界区域:1. 屏蔽中断2. 锁变量3. 严格轮换法(前三个都有可能因为不是原子性操作而翻车)4. Peterson解法(http://blog.csdn.net/martin31hao/article/details/8037455)#define N 2 /

2017-05-10 10:00:27 1473

OpenGL超级宝典GLTools win32平台lib文件

在win32平台下使用visual studio编译所得的lib文件,自己实测可用。

2018-09-07

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

TA关注的人

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