自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AdamWu's Blog

Algorithm, Graphics, Game Engine

  • 博客(29)
  • 收藏
  • 关注

原创 protobuf安装使用(python版)

安装protobuf源代码(各种语言实现) https://github.com/google/protobuf 我们只需要python版和protoc(编译proto到各个语言)1、到Python目录,编译 python setup.py build python setup.py install python setup.py test2、验证安装是否成功 #pyth

2017-02-23 16:28:05 21402 2

原创 一个简单的Unity游戏开发框架(lua自更新)

已经包含或者预计以后包含的内容如下:toluamanager管理网络框架(http、socket)assetbundle更新(增量打包)ugui lua自定义控件 luaetc…代码已经放入GitHub上:https://github.com/AdamWu/PixelWorld对应服务器代码:https://github.com/AdamWu/pyGameServer

2017-02-20 14:57:02 5453 1

原创 Unity优化-camera剔除

camera剔除主要是把不需要渲染的物体提前剔除 不送去gpu渲染 减少dc、渲染tris。消耗cpu来减轻gpu的压力。 主要用三种形式Frustum Culling(视锥体剔除)、Occlusion Culling(遮挡剔除)、layerCullDistances(远近剔除)。1、Frustum Culling视锥体剔除是用camera的frustum matrix剔除不该显示的物体,简单的说

2017-02-16 11:04:20 7823

原创 网络爬虫(Spider)python研究(2)-网页编码解析

网页编码格式比较多,比如utf8,gb2313等等,我们需要转化成统一格式,便于解析文本。headers = { 'x-requestted-with': 'XMLHttpRequest', 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate', 'User-Agent':'Mozilla/5.0

2017-02-16 10:58:05 727

原创 网络爬虫(Spider)python研究(1)-基本概念、框架、工具

1、下载网页urllib、urllib22、网页解析re:正则表达式lxml:C语言编写高效HTML/ XML处理库。支持XPath。BeautifulSop: 低效HTML/ XML处理库,纯Python实现。

2017-02-16 10:56:35 1918

原创 hue shift shader, a simple way 简单高效方法

hue shift effect in Photoshop: http://forum.unity3d.com/threads/hue-saturation-brightness-contrast-shader.260649/Shader "Craft/Simple Hue"{ Properties { _Color ("Main Color", Color) = (1,1,1,

2017-02-16 10:55:14 1528

原创 Unity批处理修改prefab

使用script 批处理prefab文件 并保存。EditorUtility.DisplayProgressBar("Modify Prefab", "Please wait...", 0);string[] ids = AssetDatabase.FindAssets("t:Prefab", new string[] { "Assets/Resources/Prefabs"});for (int

2017-02-16 10:53:10 4349

原创 Seams on tiled mesh like Minecraft

由于texturealtas 原因,采样到邻边的texture,导致显示seam。解决方案三种:1、人为的在atlas边缘填充颜色,每个texuture border都添加。2、uv缩小offset(如offset=0.01f),原理同13、shader自己写多重采样,ref: https://www.reddit.com/r/Unity3D/comments/3egtc6/seams_on_pro

2017-02-16 10:50:57 375

原创 Mass vertex in Voxel Game Optimize

Some Ideas for this Issue:culling vertices (cpu): don’t batch what isn’t necessary to display combining vertices (cpu): since you’re using voxels, many vertices can be combined when they’re on the sam

2017-02-16 10:49:08 336

原创 Unity Texture atlas mipmaps 优化(seams thing、bleeding、camera angle、distance)

http://answers.unity3d.com/questions/310352/texture-mipmap-distance.html Mipmap or nothttps://www.reddit.com/r/Unity3D/comments/2tyjji/issue_with_texture_in_distanceangle/ bleed cornerhttp://answers.un

2017-02-16 10:47:04 1220

原创 类Minecraft方块游戏unity开发笔记5-天气系统(昼夜交替、天气)

昼夜交替实现白天、黑夜的交替,太阳、月亮的移动,主要通过skybox的旋转,skybox的交替。或者采用unistorm等插件实现。天气系统(雨雪)由于需要遮挡关系(树下淋不到雨),所以采用一种动态面片生成算法。 主要根据玩家所处的block,设定一个范围(xz)和高度(16),范围内的block根据heightmap判断最顶面开始玩上生成一个面片。 每个面片是一个贴图uv动画,方向朝向玩家,如

2017-02-16 10:42:18 5341

原创 类Minecraft方块游戏unity开发笔记4-光照算法(优化)

光照计算的优化主要在提前初始化所有block光照(skylight和pointlight),之前把光照的初始化和光照的更新、地形的加载同步进行,导致运算的重复性太高。比如初始化某一chunk的光照量,计算中,发现有光照影响到其他chunk,但是由于该chunk还未加载或是还未初始化(太阳光初始化),只能暂存该光源,等到chunk初始化好了,再重新算该光源影响,而且很大概率该chunk的光照又会影响之

2017-02-16 10:04:02 1787

原创 类Minecraft方块游戏unity开发笔记3-光照算法

Minecraft的光照算法是简单的单光源光照,即一个单元(block)只能被一个光源影响,所以也就没有光源的叠加。由于太阳光会随着日夜变化而改变,所以太阳光(sun)和其他光源是独立开来的,即一个block会有一个sky光照量和一个point光照量(其他光源)。光照分为16个等级,即0-15,15为最亮,线性衰减,Minecraft按照0.8递减(衰减方式可自定义),如下:15 -> 100%

2017-02-16 09:59:13 1377

原创 类Minecraft方块游戏unity开发笔记2-地形(动态加载、卸载)

地形的加载、卸载以16X16X16为单位,即chunk大小。 方式可根据可视距离计算每个chunk的远近来加载。

2017-02-16 09:57:20 2224

原创 类Minecraft方块游戏unity开发笔记1-地形(mesh合并)

地形的mesh合并,以已chunk大小(16X16)作为单位划分mesh大小。图为某chunk生成的mesh:以后地形动态加载、光照等都以此为单位运算和刷新。

2017-02-16 09:54:40 3205 1

原创 Unity ugui的鼠标穿透问题

可以用EventSystem.current.IsPointerOverGameObject()来判断 ui上即为true或者用射线碰撞自己检测每个canvas。private bool CheckUIRaycast() { PointerEventData eventData = new PointerEventData(EventSystem.current); eventDat

2017-02-16 09:51:06 1488

原创 unity animator 在 android 和ios上 不显示

在Animation Window中把Rotation的Interpolation设置为Quaternion就正常了。(Unity默认的是Euler Angles)可能是初始化的问题。http://forum.china.unity3d.com/thread-13655-1-1.html

2017-02-16 09:49:42 1424

原创 blog整理

最早用csdn,后来处于好奇,自己建服务器,搭了个blog,起初是为了多样化管理blog(加入一些自定义的东西)。后来,发现自己平时也没多少时间来管理blog,甚至连写个blog的时间都没有了,其实也是自己懒。想想找个时间把自建的blog再搬回csdn。自建的blog:http://wuyunze.sinaapp.com/

2017-02-15 18:08:37 433

原创 curl 返回CURLE_COULDNT_RESOLVE_HOST、CURLE_COULDNT_CONNECT

最近用cocos2dx开发游戏,win32上好好的没啥问题,但是打包到android上登录老是提示curl错误,老是提示CURLE_COULDNT_RESOLVE_HOST(远程主机找不到), 想想难道是curl地址写的不规范,android上比较严格,或者和我的服务器有关(我用的sae做测试服务器)。修改了不少代码加测试,都没解决。然后我又想一想,难道是手机设置的原因,解析不到ip?有试了一

2015-09-02 14:37:39 13993

原创 纯lua版A*算法优化测试

纯lua版A*算法优化测试写了个A*算法的lua版本,也参考了不少网上资料还有开源的代码,关于写这个的原因,只是在做一个rts的寻路,写了个lua版本也是图省事,想尽快看效果。出于程序员的好奇和执着,修改了好几个版本,优化算法,提高了一些效率,当然这里还有优化的余地,就不做进一步深入了,毕竟时间有限,优化的结果也是很明显的。关于A*算法的基本原理,可以参考一个很好教程:http://www.poli

2015-06-11 14:44:15 3381 2

原创 拆分TexturePacker打包的大图

写了个拆分

2014-10-13 17:11:48 7119 1

原创 cocos2dx shader -- Vol.2(blur, frost, bloom)

cocos2dx shader系列一——中级篇讲完基本篇,现在讲中级篇。主要有这几个效果高斯模糊、冰霜、外发光三个效果。一、blur模糊是常用的效果,而高斯模糊是最常见的模糊效果。基本原理就是原pixel需要混合周围pixel生成目标pixel,混合的方式有多种,常用的有四点采样、七点采样和九点采样,这里采用九点采样,采样偏移和权重分别为:float p_offset = {-4,

2014-09-10 17:42:40 10890 1

原创 cocos2dx shader -- Vol.1(灰度、流光、百叶窗)

这里是2d shader系列一——基本篇

2014-09-05 13:45:54 9409 5

原创 protoc-gen-lua多个proto嵌套的实现

首先我们需要的https://github.com/sean-lin/protoc-gen-lua

2014-06-13 17:29:54 7843 10

转载 64k超高清3d程序 Warez出品的精品动画 近25万倍的压缩的精品

表面看起来这是一只小鸭的图片,然而把文件后缀名改成RAR,然后解压缩,很神奇的事情就发生了!

2014-05-29 17:12:50 2943

原创 cocos2dx、cocostudio的一些技术讨论一:触摸吞噬

最近做的2d项目,用的是cocos2dx和cocostudio,话说cocostu

2014-04-12 17:42:54 2542

原创 lua实现的有限状态机

在做的一个项目,由于人物的状态较多,切换比较麻烦不便管理,所以打算引入状态机,方便管理。下面是fsm的简易版本,还有些待完善的地方。      local inspect = require "inspect"local FSMState = {}function FSMState:new(super) local obj = super or {} obj.super = s

2013-09-15 20:25:38 4672 2

原创 关于提高游戏中的打击感

最近加入的新项目打算做mmo,有涉及格斗的需求,然后就研究下怎么实现好的打击感。在知乎上看到一篇不错的文章,总结的很好点击打开链接      总结一下包含几点:       1、基本点(网络无延迟,物理真实动作,精准的碰撞)   物理真实动作包含施力和受力两方面。      2、提高点(辅助特效,快慢镜头配合)  辅助特效包括视觉的、听觉的和触觉的。

2013-08-29 17:25:40 1163

原创 关键字过滤

前段时间由于项目需要,要写个屏蔽敏感词的功能。就研究了一下。这个东西不难,简单的实现就可以很快的写出,比如基本的strstr,或者KMP算法。这类基本的方法都需要关键词的逐个比较。效率比较低,这里选用基于关键字hash的方法来加快查找的效率。先建立关键字hash树,对每个关键字建立一个hash映射,加快查找速度。对hash相同的建立数结构,比如ab,aab,bc,建立的结果就是:key :

2013-08-27 15:18:27 1303

空空如也

空空如也

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

TA关注的人

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