Unity
文章平均质量分 63
amcp9
这个作者很懒,什么都没留下…
展开
-
Unity中实现Camera缩放旋转
先上效果图:把缩放和旋转分开说吧缩放:原理很简单:1.先保存相机与玩家的的位置偏移offset2.获取用户输入(滚轮)3.将滚轮输入乘一个合理的系数,也可以称为缩放速度啦4.将offset数值更新ps:第四步用到了vector3.normalized,首先获取到offset的单位向量,再将它放大pps:可以使用vector3.magnitude获取偏移向量offset的模(向量长度),通过模来限制...原创 2018-03-16 02:32:17 · 4872 阅读 · 0 评论 -
Unity3D利用Invoke() 方法制造冷却时间
利用一个bool变量可以实现简单的冷却时间效果如:public bool cd = true;void update() {if(input.getkeydown(keycode.R)){if(cd){cd = false;//释放技能 Invoke("refreshcd", 10f);//参数为字符串,函数名字,10秒后重置CD}}原创 2017-03-11 20:50:43 · 720 阅读 · 0 评论 -
Lua学习笔记
标识符规范:mohd zara abc move_name a_123myname50 _temp j a23b9 retVal不推荐以下划线接大写字母如:_NAME,Lua中某些保留字也是这样的关键字:andbreakdoelseelseifendfalseforfunctionifinlocalnilnotor...原创 2018-07-09 21:06:32 · 236 阅读 · 0 评论 -
个人开发Unity3d游戏中常用API函数
1.Instantiate原型:public static Object Instantiate(Object original, Vector3 position, Quaternion rotation);作用:生成对象实例。可用于新生成子弹/炮弹/物体,也可用于刷新敌人注:1)该函数返回值在monodevelop中查看返回值为GameObject,官方api手册中为Objec原创 2017-03-10 23:32:25 · 7776 阅读 · 0 评论 -
Unity3D---查找某游戏物体与父子游戏物体相关详解
1.添加tagGameObject obj = GameObject.FindWithTag("Player");仅适用于tag场景中只有一个player tag时,若场景中有多个player tag,也只返回一个(场景中你最后创建的那个游戏物体)注意:无论运行该函数的游戏物体处于哪个父子层级,也无论目标tag处于哪个父子层级均能正常找到(遍历所有游戏物体)2.GameObject.FindGam...原创 2018-05-21 16:37:00 · 2929 阅读 · 0 评论 -
Unity-----关于委托、事件与泛型单例模式的应用
关于泛型单例参考这篇文章在unity中不乏需要用到单例模式的架构,同时unity中也不乏需要用到委托事件的场景,下面针对“鼠标点击”展开说明关于鼠标举个例子有3种常见的事件:1、鼠标左键点击某物体2、鼠标右键点击某物体3、鼠标悬停某物体(常见于UI,悬停某装备图标显示详细说明)我们只需要在鼠标管理单例(发布者)中添加相应的委托和事件、同时在需要响应交互的游戏物体(订阅者)(如NPC,掉落的装备)注...原创 2018-03-21 20:26:25 · 871 阅读 · 0 评论 -
Unity3D---模块划分(一)对话系统的简单实现
最终实现效果,一个使用UGUI实现的简单的对话框信息,点击npc出现对话框,点击Continue跳转下一句,直到最后一句点完对话框消失主要实现思想:定义一个interactable基类,用于表示响应用户鼠标的点击事件,在interaceable类中注册所有的鼠标管理单例中的事件(鼠标管理单例在上上篇博文中有讲述)所有可交互的物体都继承这个基类,基类定义一个虚方法interace()表示互动,具体的...原创 2018-03-29 20:19:57 · 5059 阅读 · 0 评论 -
Unity中BUG:SetDestination can only be called on an active agent that has been placed on a navmesh 的处理
SetDestination can only be called on an active agent that has been placed on a navmesh 最近遇到这个BUG意思就是他找不到navmesh上的目标,但是我发现有些新刷新的敌人是能够找到我来追我的,有些就不能我将新敌人刷新在了离水平地面还有一定距离的高度,导致怪物本体没有位于mesh上后来调整了下刷怪的高度解决方法:...原创 2017-03-11 20:44:43 · 7551 阅读 · 0 评论 -
解决NGUI中使用键盘按键导致鼠标居中的问题
只要在场景中创建了NGUI在游戏中按某个键盘超过一定时间就会使鼠标居中查了好久最后发现只要关了UI ROOT就没了,原因其实就是UI ROOT下的camera一个名为UI Camera脚本导致的只需要把event sources下的controller取消勾选就OK...原创 2018-03-17 21:13:04 · 404 阅读 · 0 评论 -
unity给localRotation赋值
transform.localPosition和transform.localScale都是直接赋值三元数,给旋转赋值需要用 方法一: xxx.transform.localEulerAngles = new Vector3 (0.0f,0.0f,0.0f); 方法二: xxx.transform.rotation=Quaternion.Euler(0.0f,0.0f,0.0f...转载 2018-03-16 21:00:52 · 3418 阅读 · 0 评论 -
Unity3D---AssetBundle打包
一、AssetBundle概述用处:用于压缩包括model,texture,material,prefabs,甚至整个scene的资源,在游戏运行时再加载出来AssetBundle(简称AB)打包特点:1.保存资源之间相互依赖的关系2.AB压缩算法分为:LZMA算法和LZ4算法,也可以不压缩3.可以把下载内容放到AB包中,减少安装包的大小二、AB打包使用流程:1.在Unity中指定资源的AB属性2...原创 2018-07-07 17:56:51 · 368 阅读 · 0 评论