setsetsetset setsetsetsetsetset setsetsets etsetsets etsetsetset setsets etsetset setsetsets etsetsetse tsetsetset setsetsets etsetsetse tsetsetsetset setsetsetsetsets etsetsetsets etset
代码改变世界

将博客搬至CSDN

2014-04-02 11:25 by Mr.Raindrop, 142 阅读, 0 推荐, 收藏, 编辑
摘要:rt, 搬家到http://blog.csdn.net/rurouni 阅读全文

UnityGUI:在限定区域中自动滚动文字

2013-03-17 10:34 by Mr.Raindrop, 2044 阅读, 0 推荐, 收藏, 编辑
摘要:帝都今天下的雨不小,貌似西土城路再次内涝了。大下午的天就跟黑了似的,于是一个人呆在实验室里吹着空调写着代码,也很惬意。周六有一整天的空闲时间,可以花很多心思去构思和实验,感觉一天下来收获不少。今天对项目做了一些分析,自己提了一大堆新的功能需求,要完成这些恐怕不是几个周六就能搞定的,好在这个东西就是用来打发闲暇时光的,没有老板整天跟在屁股后面催,所以我也不着急,慢慢一个一个实现。所以对于这个游戏到底什么时候能完成的问题,我也没个大概估计,走一步算一步吧,最重要的是从开发过程中切实学到东西。我们都知道GUILayout的强大,自动化的排版让我们更快速更省心的开发GUI,但是很多时候需要结合GUI中 阅读全文

浅谈Unity中的rotation和Quaternion的乘法

2013-03-17 10:32 by Mr.Raindrop, 2595 阅读, 0 推荐, 收藏, 编辑
摘要:动手写游戏以后一个比较切身的体会,就是实际操作能检验很多语言的细节,也许平时看API文档,或者看一些教程的时候并没有深刻的体会,因为大多情况下你只知道了该怎么做,却不知道为什么要这么做,或者怎么想到这么做的,有没有其他的作法?在项目中我要用到一个摄像机环绕的脚本,我发现官方Asset里已经有这样的一个脚本了,打开看它的代码很简单,区区十几行,其中比较关键的一行代码,用摄像机的rotation控制摄像机的 position,这个方法非常巧妙:position = rotation*Vector3(0.0, 0.0, -distance) + target.position;Unity定义Quat 阅读全文

关于Unity的一些概念和语法

2013-03-17 10:29 by Mr.Raindrop, 469 阅读, 0 推荐, 收藏, 编辑
摘要:最近一直在利用空闲时间看Unity的API,看的比较细但是实际操作的比较少,昨天有一整天的空闲时间,再加上有了一个还不错的想法,想要把它实现出来,因为用到的模型并不复杂,不需要用到建模软件,也不用到处去搞素材,贴图就随手从收集的图片里做点筛选和剪切的工作,一切看上去很容易搞定,于是开始着手写代码。我从基本的GUI开始写,登陆框,主菜单,这是进入游戏的基本途径,然后NEW GAME进入游戏的第一关,这里好戏才刚刚开始。我花了不少时间在挑选贴图和尝试不同的shader上,这些不是重点,当我写到用户输入字符检测的时候傻眼了,我在Unity Answer上面搜到一些代码,有加载System.Regul 阅读全文

Unity学习笔记6:多人游戏进阶篇

2013-03-17 10:26 by Mr.Raindrop, 336 阅读, 0 推荐, 收藏, 编辑
摘要:这篇笔记学习三个问题:多人游戏的level loading,连接测试以及带宽优化。一.关卡装载。必须了解的函数:1.RequireComponent()//JavaScript实例// Mark the PlayerScript as requiring a rigidbody in the game object.//指定此script绑定的对象必须包含rigidbody组件,没有则自动添加@script RequireComponent(Rigidbody)function FixedUpdate() { rigidbody.AddForce(Vector3.up);}//C#实例[... 阅读全文

Unity学习笔记5:多人游戏基础

2013-03-17 10:23 by Mr.Raindrop, 737 阅读, 0 推荐, 收藏, 编辑
摘要:1.总览。多人游戏基本结构:Clent/Server,分为Authoritative Server和Non-Authoritative Server两种,前者客户端发送消息,服务器端反馈结果,好处是有效防止客户端作弊,并统一不同客户端之间的物理表现和互动状况,缺陷是存在网络延时,很有可能每发出一个命令要过一段时间才能接收到反馈。解决方法是client-side prediction客户端预测,客户端预测服务器的反馈,但不能做出关键性事件的预测,比如某个怪物的死亡。关于client-side prediction技术可以到网上查阅相关资料,这里不赘述。Non-Authoritative Seve 阅读全文

Unity学习笔记4:声音和用户界面

2013-03-17 10:21 by Mr.Raindrop, 284 阅读, 0 推荐, 收藏, 编辑
摘要:Edit->Project Settings->Audio可以设置Audio Manager的各项参数,比较简单。Reverb Zone:混响区,在混响区内的audio listener接收到的声音都要经过混响处理。可以通过component->Audio->Audio Reverb Zone添加。Audio effects的设置需要PRO版本的Unity。Audio Listener在每个场景只有一个,一般设置在主摄像头上,也可以设置在主角身上。Audio Source的属性设置:Bypass Effect:开/关Audio effect(各种滤波器等)Play On 阅读全文

Unity学习笔记3:随机数和动画脚本

2013-03-17 09:57 by Mr.Raindrop, 481 阅读, 0 推荐, 收藏, 编辑
摘要:Random的几个典型应用介绍如下。1.随机数的获取:Random.Range(0,array.Length);在0到array.Length-1之间随机取一个数。在数组(比如说,物品数组)myArray中随机取一个数(随机取一件物品):var index = Random.Range(0, myArray.Length);myArray[index];2.不同概率随机数的获取:function Choose(probs: float[]) { var total = 0; for (elem in probs) { total += elem; } ... 阅读全文

Unity学习笔记2:物理引擎和碰撞

2013-03-17 09:53 by Mr.Raindrop, 717 阅读, 0 推荐, 收藏, 编辑
摘要:本小节主要是Unity物理引擎,刚体碰撞方面的散记。Character Controller的一些特性:本身不受physics影响,需要接受外力作用时,使用onCharacterColliderHit().Skin width:最好设置为radius的10%,防止角色经常卡住。step offset:对于2meter高的Character最好设为0.1到0.4min move distance设为0即可。Rigidbody的属性设置:Is Kinematic:打开后物体不受物理引擎影响,只受transform的控制。比如制作一个上升的平台,本身是rigidbody,且不受物理引擎影响,打开Is 阅读全文

3D图形学专业术语

2013-03-17 09:48 by Mr.Raindrop, 718 阅读, 0 推荐, 收藏, 编辑
摘要:3D API (3D应用程序接口)Application Programming Interface(API)应用程序接口,是许多程序的大集合。3D API能让编程人员所设计的3D软件只要调用其API内的程序,从而让API自动和硬件的驱动程序沟通,启动3D芯片内强大的3D图形处理功能,从而大幅度地提高了3D程序的设计效率。几乎所有的3D加速芯片都有自己专用的3D API,目前普遍应用的3D API有DirectX、OpenGL、Glide、Heidi等。Direct 3D微软公司于1996年为PC开发的API,与Windows 95 、Windows NT和Power Mac操作系统兼容性好, 阅读全文
setestssetse tsetsets etsetsetse tsetsetsets etsetsetse tsetsetsets e tsetsetset setsetsets etsetsetset setsetsetset setsetsetse tsetsetsetse tsetsetsetse tsetsetsetsetse tsetsetsets etset setset setsets etsets etsetsetsetset