分类 编程 下的文章

Visual Studio常用快捷键

Visual Studio要想高效使用,记住一些快捷键是必需的,以下列出一部分常用且能显著提高效率的快捷键

VS2013常用快捷键

  • Ctrl + -:回到上一个光标位置
  • Ctrl + Shift + -:前进到下一个光标位置
  • Ctrl+C:复制一整行(只需将光标移至该行,无需选择整行)
  • Ctrl+X:剪切一整行(只需将光标移至该行,无需选择整行)
  • Ctrl+Z:撤销
  • Ctrl+Y:反撤销
  • Shift+Alt+方向键(或鼠标):进行框式选择

- 阅读剩余部分 -

[转]开源类软件许可证简明指南

  • 作者 Cameron Chapman
  • 日期 2010年3月24日

许多开发者和设计者愿意将他们的劳动成果作为开源项目面世,他们希望其他人进一步开发和分享他们的代码,开源社区因此而充满活力。开源软件适用于你能想到的几乎任何应用,大多数设计者经常使用开源软件或代码(WordPress、Drupal、以及很多其他的内容管理系统(CMS)都是开源的)。

然而,不少开发者和设计者并不清楚不同开源许可证之间的区别。当他们选择了某种开源许可证时,同时也放弃了什么权利呢?如果不能确知这些许可证的含义、不知道如何最为恰当地应用它们,开发者将无法为自己的项目作出可信的决策。

20100331190311_33689.jpg

什么是许可证?

- 阅读剩余部分 -

[转]Unity 3D中的内存管理

unity-technologies-870x531.jpg
Unity3D在内存占用上一直被人诟病,特别是对于面向移动设备的游戏开发,动辄内存占用飙上一两百兆,导致内存资源耗尽,从而被系统强退造成极差的体验。类似这种情况并不少见,但是绝大部分都是可以避免的。虽然理论上Unity的内存管理系统应当为开发者分忧解难,让大家投身到更有意义的事情中去,但是对于Unity对内存的管理方式,官方文档中并没有太多的说明,基本需要依靠自己摸索。最近在接手的项目中存在严重的内存问题,在参照文档和Unity Answer众多猜测和证实之后,稍微总结了下Unity中的内存的分配和管理的基本方式,在此共享。

虽然Unity标榜自己的内存使用全都是“Managed Memory”,但是事实上你必须正确地使用内存,以保证回收机制正确运行。如果没有做应当做的事情,那么场景和代码很有可能造成很多非必要内存的占用,这也是很多Unity开发者抱怨内存占用太大的原因。接下来我会介绍Unity使用内存的种类,以及相应每个种类的优化和使用的技巧。遵循使用原则,可以让非必要资源尽快得到释放,从而降低内存占用。

Unity中的内存种类

- 阅读剩余部分 -

[转]Skinned Mesh原理解析和一个最简单的实现示例

讲述骨骼动画的资料很多,但大部分都是针对 DX8 或 DX9 的 SkinnedMesh 进行讲解。我觉得对于骨骼动画初学者增加了不必要的负担,还没有理解骨骼动画的实质就已被 DX 复杂的架构搞得晕头转向了。这篇文章把注意力集中在骨骼动画的基本组成结构和原理上,并实现了一个最简单纯手工的自定义骨骼动画例子帮助理解(使用最简单的 OpenGL 指令,甚至没有使用矩阵)。这篇文章在我学习理解骨骼动画的过程中逐步完善,是对这个技术的理解总结,属于学习笔记。学习过程中参考了很多资料,其中给我启发最大的是 Frank Luna 写的 ”Skinned Mesh Character Animation with Direct3D 9.0c” 。由于本人自身也是初学者,所以错误和不精确的地方在所难免,欢迎指正和讨论,请发邮件到happyfirecn@yahoo.com.cn

或加入3DGameStudy邮件列表:http://happyfire.googlepages.com/3dgamestudymaillist 。另外文本不涉及任何高级骨骼动画技术,也不涉及 DX 架构的 SkinnedMesh 技术和硬件加速,但本文中会引用 SkinnedMesh 中的约定俗成的名词,如 Transform Matrix , Bone Offset Matrix 等。

一) 3D 模型动画基本原理和分类

- 阅读剩余部分 -

Unity3D工程版本管理方案

Unity进行多人协作开发时必定会涉及资源、代码、配置的版本管理。这里介绍一下用SVN、GIT或其它版本管理系统进行Unity工程版本管理的方法。

新建一个Unity工程,目录结构基本是这样的:

  • Assets、Library、ProjectSettings目录
  • 运行时还会多出Temp目录
  • 如果用Monodevelop或VS打开过还会生成一堆工程文件

最终大约是这样:

- 阅读剩余部分 -