自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (6)
  • 收藏
  • 关注

原创 Unity线性空间UI的问题

问题描述:如果项目切到过线性空间,或者一开始就在线性空间,而美术制作ui的时候没有做设置,那么很快你就能发现这个问题了。美术会发现他们制作的ui效果和在unity里摆出来的不一样,特别是设计到透明度混合等问题问题的根源: 比如AB两个图层,A在上层,B在下层,A的alpha不为1 PS中默认的工作空间是Gamma空间,半透明图层使用的混合公式如下: color = A.rgb*A.alpha + B.rgb*(1-A.alpha) ...

2021-08-25 21:04:58 5557 1

原创 在unity里实现Hi-z occlusion

先看效果:可以看到,随着相机的移动,被相机平截头和深度遮挡的物体,就会被剔除。因为考虑到计算精度的问题,所以也会有个别物体漏过去,这个只能暂时忽略。hi-z算法就不介绍了,基本都可以搜索到。...

2020-12-22 10:14:27 1161

原创 Unity手动计算球谐光照参数

uinty的lightprobes封装是以场景为单位的,如果想要自己加载,就比较麻烦了。研究了几天,给出一个粗略的自己计算球谐光照参数的过程。还比较粗略,如果想在产品中使用基于这个粗略的计算逐步细化就行了。计算流程如下:1、遍历场景内所有的需要参与球谐的光源,根据光源和目标的位置,计算光照方向(点光源是连线,方向光是forward)2、在目标位置,在球上均匀取点,或者随机取点(蒙特卡洛方法),均匀的感觉效率更好些,结果也更稳定。因为这里是计算光源的球谐,又不是计算cubemap的,所以可以不用按

2020-12-15 11:24:13 1166

原创 Unity Animator 的State之间Transition的问题汇总

官方文档关于状态的打断和转移写的非常模糊,首先读这个blog(https://blogs.unity3d.com/2016/07/13/wait-ive-changed-my-mind-state-machine-transition-interruptions/),是一个很好的补充:其次,关于打断转移的部分,官方文档的解释和实际测试效果并不相同在这个none的情况下,说的是不再添加更多的,但是anystate的已经添加,实际测试图如下:这个状态机中,a->b设置了5秒的转移时间,如果

2020-09-15 20:07:49 1679

原创 svn加hook,要求必须注释脚本

#!/bin/shREPOS="$1"TXN="$2"SVNLOOK=/usr/bin/svnlook # 同pre-commit.tmpl文件中的SVNLOOKLOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`if [ "$LOGMSG" -lt 2 ];then echo "提交...

2019-10-15 17:00:09 181

原创 poco自动测试使用

具体文档参考官方文档就行了,写的比较详细。这里记录下,在unityEditor模式下一个对不齐的bug。可能和我多屏的环境有关系。dev = UnityEditorWindow()dev.monitor["top"]=0手机上是没有问题的,看了poco的源码,坐标对齐都是依照全屏来计算的。写了个测试例子,效果还不错。addr=('',5001)poco = UnityPoc...

2019-04-23 18:31:00 2398

原创 u3d WWW.LoadFromCacheOrDownload 详情

loadfromcacheordownload是u3d中从网络更新资源的一个比较快捷的方法。这个方法封装了以下几个事情:1、网络加载2、资源解压(加载过来的assetbundle是压缩过的文件)3、缓存到本地文件(将加载过来的文件解压到内存中,并且将此解压后的内容写一份到本地cache(根据不同平台,自动定位到不同目录)),windows下cache的目录是C:\Users\MUH...

2019-03-02 11:10:59 2526 1

原创 unity www 序列加载,进度显示

序列加载功能由3个类划分开LoadRequest 负责保存加载相关的数据,url,回调等Loader 负责具体的加载工作,暴露一些通用接口和数据出来QueueLoader 负责队列加载 控制同时发起的最大加载数 控制失败重新加载写的时候发现的问题:1。C#里的foreach不能再foreach过程中修改List的数据。否则会报运...

2019-03-02 11:10:20 208

原创 Unity socket 关于阻塞接收的问题

如果socket的recive放在update里,当这个比较卡的时候,就会丢失掉部分数据。最好是单独开一个线程来处理。using UnityEngine;using System.Collections;using System.Net.Sockets;using System.Text;using System.Threading;using System.Collectio...

2019-03-02 11:09:53 2150

原创 3D优化之ShadowGun系列三:shader系列汇总

这是shadowgun中是所有shader。效果汇总:按系列分为以下几种:1、Scroll2Layers系列,通过uv滚动,来实现效果。包括前面分析的浓烟效果,天空盒上的云飘动效果.包括:Scroll2Layers名字的这三个。2、god-rays系列,主要是使用面片来模拟上帝光线。包括窗子射进来的光(god-rays),小射灯的效果(blinking-god-rays),窗...

2019-03-02 11:04:01 844

原创 3D优化之ShadowGun系列二:浓烟,使用面片模拟粒子效果

先看效果:看一下网格模型:这就是个面片模型,越靠近边缘的地方,alpha值越低。所以烟有变淡的感觉。如图:注意箭头指的地方,面片这里故意做了个折角,这样让烟看起来更有在某个位置受风改变方向的感觉。看shader参数:两张贴图,一张做base,一张做2nd。分别控制:上面12个参数,控制的是两张贴图的使用方式,修改的都是uv,speed是x,y方向...

2019-03-02 10:24:39 490

原创 centos 6.5 安装GLIBC_2.15

依赖库yum install -y glibc glibc-common glibc-devel glibc-headers glibc-static glibc-utilsyum install -y nss-softokn-freebl-devel nss-softokn-freeblyum install -y nss-softokn-freebl-devel.i686 nss-...

2019-02-20 19:03:47 1352

原创 3D优化之ShadowGun系列一:旗子飘扬效果实现方法及shader注解

先看效果:飘动全是使用shader偏移顶点的位置做的几个点:1、顶点数据的alpha值,标识了受风的权重。alpha越大,受风越厉害。通过观察模型可以看出这点。而shader里这句也有说明。以_Time作为参数,使用frac来取模,形成周期性的动画。下面是注释后的shader// - Unlit// - Per-vertex (virtual) c...

2019-02-17 23:29:46 1419

原创 Toony Colors Pro 里海浪的shader分析

先看下效果:这个海浪除了正常的坐标点周期性变化之外,这个拍岸的浪花和靠近陆地部分的深度很吸引我。果断找到这个shader做了下分析。发现拍岸浪和颜色,都是根据水深计算的。而水深是根据场景的深度计算的。COMPUTE_EYEDEPTH(o.sPos.z);//将z值赋值为点到视点的深度。这行先计算水面的视深度float sceneZ = SAMPLE_DEPTH_TEXTURE_PR...

2019-02-16 21:56:42 1121

原创 unity知识手册

NGUI菜单:          功能选项部分          Options->handles :负责空间缩放是否显示,以及缩放的颜色          Options->snapping:绑定Ator之后是否可以移动          Normalize Depth Hierarchy:自动将panel中的东西按照默认顺序进行排序。 unity3d相关:...

2019-02-15 15:19:31 156

原创 Unity BuildPipeline BuildAssetBundleOptions

BuildAssetBundleOptionsDescriptionAsset Bundle building options.See Also: BuildPipeline.BuildAssetBundle.VariablesCollectDependencies Includes all dependencies. 包括所有的引用,会循环查找 CompleteAs...

2019-02-15 15:18:43 804

原创 android 6.0的问题

打包的时候,targetsdkversion尽量设置为22,这样权限问题会少很多参考文章:http://unclechen.github.io/2016/03/06/Android6.0%E6%9D%83%E9%99%90%E9%80%82%E9%85%8D%E4%B9%8BSD%E5%8D%A1%E5%86%99%E5%85%A5/http://bxbxbai.github.io/2...

2019-02-15 14:35:56 111

原创 dlopen dlsym dlclose等linux下的动态库

1、dlsym查找的时候一定要注意函数名,需要在编译so的时候,使用extern "C"{},不然编译出来的名字是c++的,容易查不到2、如果想要覆盖系统函数,比如像覆盖socket,read,write等,可以使用自己定义这些函数,然后在函数里,调用真正的系统函数,为了防止编译错误,只能动态调用。dlsym(RTLD_NEXT,"socket"),这个RTLD_NEXT就是专门为覆盖动态库而...

2019-02-15 14:35:25 178

原创 CMakeLists.txt 的编写

project(test)//定义项目名set(CMAKE_BUILD_TYPE Debug)//设置为debug,如果需要gdb调试,需要设置这个set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -g -Wall...) add_library(test_static STATIC test.cpp)//添加静态库的构建 add_executable(...

2019-02-15 14:35:04 117

转载 gcc内嵌汇编

1,gnu内联汇编的语法:asm或__asm__("汇编代码");指令必须包含在引号里如果包含的指令超过一行 必须使用新行分隔符分隔 使用c全局变量, 不能在内联汇编中使用局部变量, 注意在汇编语言代码中值被用做内存位置, 而不是立即数值如果不希望优化内联汇编, 则可以volatile修饰符如:__asm__ volatile("code");2,GCC内联汇编的扩展语法__a...

2019-02-15 14:34:52 282

原创 linux 命令行记录

awk '{match($0,/level=([0-9]+)/,a);print a[1]}' game1logIn20160323.log | sort -nr | uniq -c 比较常用的几个grep(已经熟练)awk(练习中)sort,uniq,cut 这几个比较简单。 sed(只用过少数几次) awk '{match($0,/act=(.*),uid=.*...

2019-02-15 14:34:26 455

原创 冬夏令时导致的问题

今天发行的小哥给我说,法国服务器上10月28号的留存数据怎么计算的不对。我就去看了下,最终定位为问题是10月28号+24小时,计算出的时间是10月28号23点,而不是10月29号。后来查了半天才发现,每年10月28号和3月31号,很多国家要进行冬夏令时转换。28号会多一个小时,而31号会少一个小时。记录下......

2019-02-15 14:34:12 458

原创 NGUI中UIPanel和DrawCall的性能问题

NGUI将使用相同atlas的组件,归类到一个drawcall中,也就是这些组件的绘制,只消耗一次gl调用。这样来提高gup的绘制效率。其原理如下:     UPPanel作为drawcall的组织归类结构,以下UIPanel简称panel。panel会根据自己child的层次,将不同的UIWidget归结到不同的drawcall中。理论归结过程如下:     将所有的panel的...

2018-09-28 16:46:46 459

原创 libco源码分析

最近接触到了libco,这是tencent开源的一个协程库,可以很方便的在c++中使用协程。而且封装了systemcall和epoll。比较好奇上下文切换相关的内容,就去看了看。库设计的还是很精巧的,相对于其它的c++的协程库,这个库同时考虑了协程的内存消耗和协程切换的平衡(添加了一个数量可调的共享的栈列表,部分情况拷贝栈,部分情况不用拷贝(刚好和上一个一样的协程的时候))给源码fork了一份,给...

2018-04-02 18:11:24 910

原创 基于spine的换装技术

效果:换发行换表情可以实现同一套动作,不同的皮肤。涉及到公司使用的技术,就不写具体实现了。方法就是通过一些列工具链,自动对齐,然后导入。也支序列帧之类的,发型就是序列帧。同样可以实现隐藏和显示部分部件。...

2018-03-29 16:38:06 3906 5

原创 spine变色

Shader "Spine/SkeletonColorMatrix" {Properties {_Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1_MainTex ("Texture to blend", 2D) = "black" {}_ColorMatrixR("color matrix r",Vector) = (1,0,0,0)_C...

2018-03-29 16:30:24 1130

原创 一个表达式求值计算器

using UnityEngine;using System.Collections;using System.Collections.Generic;using System.Reflection;using System.Text;/// <summary>/// <para>Author: zhaojun [email protected]</para>...

2018-03-29 16:18:49 252

原创 关于c++协程的实现

可以通过切换寄存器的方式来实现协程,这里需要自己定义挂起和唤醒,自定义栈,通过设置bp寄存器自定义,而寄存器切换,则可以用汇编代码,每次切换的时候,将寄存器存放在栈的固定位置,等恢复的时候再恢复栈参考项目:https://github.com/Tencent/libco/blob/master/...

2018-03-29 16:13:53 650

原创 GDB调试相关命令

gdb executeFilestart args...   开始单步执行run args     直接运行break(b)  加短点   b file.cpp:lineNumi registers  //显示寄存器信息i lo 显示局部变量bt   backtrace 显示调用栈frame 显示当前帧next n  下一步,不进入step s  单步进入info breakpoints (i b...

2018-03-29 16:13:46 160

转载 unity内存管理(资源(resources,assetbundel),代码,gc,堆管理)

星尘博客园 首页 博问 闪存 新随笔 联系 订阅 管理随笔-47 文章-23 评论-44Unity3D占用内存太大的解决方法最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大.这里写下关于Unity3D对于内存的管理与优化.Unity3D里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别...

2018-03-29 15:31:43 530

原创 Assetbundle打包的时候,带入shader相关的问题

使用buildpipe将shader打包进Assetbundel的时候,如过使用shader lab写成的shader,会保持原样打包进去,等到运行时在再编译。如果是采用cg写的,会提前根据打包平台编译。如果打包成android平台,在windwos上调试程序的时候,就会出现找不到shader的问题。如果在android上调试android的资源,并不会有问题。只是win上开发调试的时候,会不对。...

2018-03-29 15:31:24 731

原创 spine粗略描边shader

Shader "Spine/Skeleton" {Properties {_Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1_MainTex ("Texture to blend", 2D) = "black" {}}// 2 texture stage GPUsSubShader {Tags { "Queue"="Transparent"

2018-03-29 15:31:15 3948 1

原创 ps工具链整合

photoshop cs本身支持写javascript扩展,但是ps本身不支持命令行模式。如果想在ps内部做一些批量操作,通过javascript脚本倒是能完成。但是每次都有打开psd文档,运行脚本一次。这样不适合批量处理如果要批量处理,可以考虑使用photo的com组件,配合visual studio开发c#应用程序来处理。api很方便,可以对psd文档批量运行js脚本,或者直接在c#里写处理逻...

2018-03-29 15:31:05 133

原创 Unity3d ZWrite ZTest Blend 相关的测试 以及 Queue

ZWrite 的意思是  是否将当前像素z值写入zbuffer,其实这个值是别的图形在做zTest的时候使用的     Queue决定绘制顺序,先绘制的写入zbuffer,后绘制的在做ZTest的时候,会受到影响。     两个Queue相同的时候,则按照创建顺序绘制。在不写入zwrite的时候,效果如下。     棕色的先创建,灰色的后创建的。          如果给棕色的 Queue改为Tr...

2018-03-29 15:30:55 594

原创 给tolua也加个HotFix功能

之前工程用了tolua,为了开发速度能快点,没有全部选在lua。而是只有活动部分选择了lua热更新。基本功能部分,还是c#开发的,那么修复的时候就略麻烦。后来xlua提出了热修复功能,但是已经用了ulua了,也懒得换成xlua。于是本着自己动手(造轮子),丰衣足食的程序员精神,参考了下xlua自己给tolua里也简单加了个hotfix的功能,功能比较受限,主要是c#和lua的数据结构并不能很好的兼

2017-04-10 18:34:59 1070

EA关于PBR的文章.pdf

EA分享的,关于UE4中使用的PBR模型的文章,对于pbr入门来说很有用。

2019-07-19

非真实渲染-模型渲染和动画.zip

NPR论文引用最多的书籍,不解释了。下载过来看看就知道了。全英文的,中文版我也没找到。不过据说翻译的不好

2019-07-19

realtoon 卡通渲染 cel shading

很好的卡通渲染的资源,unity sotre 上的旧版本。共享给大家

2019-02-13

photoshop导出等大序列帧

此脚本可以从ps里导出等大的最优化序列帧,或者中心对其的,自动切边。方便动画优化使用。

2018-03-29

flash 嵌入字自动打包工具

自动打包flash资源的工具,需要安装ant。具体使用参考文档。

2014-03-12

地图编辑器

一个地图编辑器。压缩是基于amf的。主要用在flash游戏领域。

2011-11-23

空空如也

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

TA关注的人

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