[置顶] 文本编码

文本编码 文本编码这个问题自三年前就困扰着我,当时是用Python处理多国语言时出现的bug,最后问题解决了,但其中具体逻辑并不懂。后来零零散散接触了不少资料,算是大致弄明白,记录如下。 unicode与ascii等编码方案 ascii ascii编码方案一共规定了128个字符对应的二进制表示,只占用了一个字节的后面7bit,最高位为0欧洲国家使用128个符号不足以表示所有字母,使...
阅读(18095) 评论(0)

游戏引擎与C++

游戏引擎与C++参考CppCon 2016: Jason Jurecka “Game engine using STD C++ 11"此presentation主要关注C++11在游戏引擎中的使用游戏引擎的特点不会使用太多STD游戏的历史很久远,且对内存、cpu的使用很苛刻比如对于std::string,操作比较慢,因此更多采用cstring比如std中的模板会造成代码体积膨胀游戏引擎不会使用太多...
阅读(1585) 评论(0)

斐波那契数的皮萨诺周期

斐波那契数的皮萨诺周期fibonacci数为f0=0, f1=1, fi = f(i-1)+f(i-2)pisano period指的是一个序列对n取模后的周期fibonacci的周期性明显可见对2取模结果为:0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0fibonacci对3取模结果为:0 1 1 2 0 2 2 1 0 1 1 2 0 2 2 1此性质在用于计算超大fibona...
阅读(2280) 评论(0)

安卓平台OpenGL ES的调用

安卓平台OpenGL ES的调用开发游戏如果直接使用OpenGL是比较痛苦的,最好的办法是使用封装好的引擎,但很有必要了解在安卓java代码直接调用OpenGL的渲染方法固定渲染管线只可通过配置实现不同的效果,而可编程渲染管线通过一般编程的方式实现,可以实现更加灵活的效果OpenGL ESOpenGL从3.0开始,而OpenGL ES从2.0开始,支持可编程管线下图中橙色两块儿即为可编程部分,而顶...
阅读(2572) 评论(0)

安卓逆向简介

安卓逆向简介常用逆向方法Apk文件格式Apk文件其实是一个zip文件,解压之后可以看到其中的目录结构AndroidManifest.xml已经过编译,包括activity、权限等配置classes.dexjava程序生成的.class文件经过打包生成resources.arsc资源文件索引res此文件夹包括布局文件、图片、strings等文件,可以通过R.java引用lib用到的第三方库,包括.s...
阅读(4433) 评论(1)

VR游戏交互开发的一些体验

VR游戏交互开发的一些体验 本文主要写写VR交互输入控制的一些浅薄的经验交互方面,头控和视线按钮依然较为主流,可以获得传感器数据来获得输入除了实体按钮输入之外还可以探索其他交互方式,比如触摸板等,但机制有待成熟 头控 通过捕获头部转动可以很方便的实现交互,成本最低,适合一些纯观景或轻度游戏设计时,要尽量减少头部移动范围,否则用户容易疲惫 视线按钮 使用一个醒目的准星或光标来指...
阅读(7308) 评论(13)

安卓系统按键映射修改

安卓系统按键映射修改 谨记录下靠着自己摸索,安卓平板使用时一个bug的解决方案,及修改按钮功能的方法。这个bug目前搜不到解决方案,能独立解决还是很有成就感的 解决反复打开谷歌语音搜索的bug 手里一部驰为hi8,是国产双系统平板,在安卓系统下如果插上耳机会自动暂停和播放音乐,并反复打开谷歌搜索这个bug目前网上没有找到答案。自己猜测,应该是耳机接口不匹配,相当于一直按着线控耳机上的...
阅读(5920) 评论(0)

python定时杀进程

python定时杀进程 之前写了个python脚本用selenium+phantomjs爬新帖子,在循环拉取页面的过程中,phantomjs总是block住,使用WebDriverWait设置最长等待时间无效。用firefox替换phantomjs无改善因为这个脚本不会长期使用,因此采取临时办法,新开一个子线程固定周期杀死phantomjs进程,这样selenium就会在block最多不超过...
阅读(5502) 评论(0)

Unity的camera组件

Unity的camera组件 文章介绍的是个大概,其中rendering paths和culling、clear flag还有更详细的用法 正交和透视 unity的camera支持两种投影方式:正交和透视人眼看到的物体,近处的比较大、远处的比较小,unity的摄像机支持这种透视效果,称为透视相机如果不需要物体大小随到摄像机的距离改变,可以采用正交投影 可视区域 一般摄像机仅关...
阅读(11285) 评论(0)

python开发环境管理:pip和virtualenv

python开发环境管理:pip和virtualenv 不同的python软件需要不同的开发环境,互相之间甚至可能有冲突,怎么处理?使用pip、virtualenv和virtualenvwrapper可以迅速的搭建、转移开发环境,并隔离冲突。 软件包管理 pip是easy_install的替代品,distribute是setuptools的替代品 pip使用 使用参考文档为:...
阅读(23975) 评论(0)

使用python开发json、csv数据格式转换工具

使用python开发json、csv数据格式转换工具 json和xml是业界常用的数据格式,而游戏行业经常使用csv配表,包括本地化文本和数值。本文介绍csv和json序列化、逆序列化相关的python库,以及开发工具常用的命令行解析库--getopt csv模块 csv文件格式并不统一,存在多种分隔符,而csv模块可以很方便的读写csv文件csv.reader 返回一个rea...
阅读(18344) 评论(0)

Unity编辑器扩展之EditorWindow

Unity编辑器扩展之EditorWindow 继承这个类的编辑器脚本可以用来创建一个编辑器窗口,类似Inspector窗口若要在这个类中添加一些控件,可以使用GUI和GUILayout控件,还可以使用编辑器专用控件EditorGUI/EditorGUILayout 脚本创建 在Assets/Editor文件夹下创建脚本,并继承UnityEditor.EditorWindow在OnG...
阅读(11521) 评论(0)

Unity中的layer和tag

Unity中的layer和tag layer和tag均用于标识不同类别的gameobject,侧重点不同 Layer Unity中默认已经有8种layer,但可以自行设置layer,上限32种,对应于一个int值的32位对于场景中的gameobject,均可以设置其layer。 用于camera layer和camera配合起来,可以达到尽在camera上渲染特定层gameo...
阅读(12352) 评论(0)

python勿使用mutable值作为默认参数

python勿使用mutable值作为默认参数 首先看以下一段代码 def append(num, container=[]): container.append(num) return container print append.func_defaults print append(1) print append(2) ([],) [1] [1, 2] ...
阅读(16917) 评论(0)

Unity新项目如何快速理清顶层代码结构

Unity新项目如何快速理清顶层代码结构 半路上手新项目时弄懂scene切换流程是有必要的,scene切换可以说是unity最上层的代码资源结构 思路 首先我们在入口scene(第一个scene)中添加新的GameObject,绑定脚本,每帧打印当前scene的名字,并防止在scene切换时销毁根据打印输出的scene名字,在代码中搜索LoadLevel如果LoadLevel有一个专...
阅读(10920) 评论(0)

Unity中的场景切换

Unity中的场景切换 与电影类似,一个游戏往往需要多个场景。而如果场景中资源较少,那么可以很快的完成切换,如果较多的话,可能需要十几秒时间。在这段时间内播放加载动画等等,可以减少玩家的不耐烦。 同步切换场景 Application.LoadLevel()Application.LoadLevelAdditive()加载完成后保留旧场景中资源 异步切换场景 Applicati...
阅读(11878) 评论(0)

Tip: char *和char*的区别

char *和char*的区别 这两种写法编译上面都没有问题,但是在某些情况下会造成歧义 char* p1, p2 这样的写法声明了指针p1,字符p2 char *p1, *p2 这样的写法表示声明了两个指向字符的指针 *是变量的修饰符 *p表示p是一个指针,是修饰p的,而不是修饰char的因此*和p之间不要有空格,否则就会造成误解,误以为char*是一种数据类型,继...
阅读(1535) 评论(0)

命令行字典

命令行字典 作为一个有追求的程序员,当然想把一切操作通过键盘来完成,让手指保持在键盘上。那么,如何做到用键盘来查询英文单词呢?突发奇想在命令行里用python脚本来爬取有道词典的查询结果,使用requests + BeautifulSoup实现,效果还不错。 代码 代码放在了heLomaN@Github #!/usr/bin/env python # coding=utf-8 impo...
阅读(1534) 评论(0)

C++中的容器

C++中的容器 容器与容器适配器 容器包括vector, deque, list, map, multimap, set, multiset。容器适配器包括基于deque的stack和queue,基于vector的priority_queue。string也实现了stl的接口。 因为编写C++程序时经常需要查找容器的函数接口,故作此总结。C++新引入的容器与函数未引入。主要参考自:S...
阅读(6144) 评论(1)

《全景探秘游戏设计艺术》精华 用户体验 游戏平衡性

《全景探秘游戏设计艺术》精华 用户体验 游戏平衡性 一本很好的游戏设计书籍,暂时关注的是用户体验部分,比如,用户喜欢什么,什么可以带来乐趣,以及游戏的平衡性 男性与女性的区别 男性喜欢的游戏要素 征服:控制一切竞争:与他人竞争来表明自己是最棒的破坏:破坏带来快感空间谜题:男性有更好的空间推理能力尝试和失败:男性不喜欢阅读说明,更喜欢通过尝试和失败来学习 女性喜...
阅读(2014) 评论(0)
114条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:598602次
    • 积分:6283
    • 等级:
    • 排名:第3641名
    • 原创:99篇
    • 转载:10篇
    • 译文:4篇
    • 评论:101条
    个人简介


    本科就读于中国科学技术大学少年班学院理科试验班,研究生就读于中国科学技术大学信息学院。
    毕业后进入网易游戏从事手游开发工作。关注Unity3D/VR/Quant/C++/Python

    My Gmail

    Weibo

    Github

    博客专栏
    最新评论