Unity3D
文章平均质量分 75
alistair_chow
这个作者很懒,什么都没留下…
展开
-
Unity3D自学笔记——脚本开发中的3D数学
向量概念向量:具有大小和方向的量。向量的大小常被称为向量的长度和模标量:只有大小没有方向的量如:位移和速度是向量,因为不仅包含大小还有方向,而距离和速率是标量,因为其不指明任何方向。向量的运算向量的模 若向量a = (a1, a2) 则N(a) = √(a1^2 + a2^2 )若向量a = (a1, a2, a3) 则N(a) = √(a1^2 + a2^原创 2016-09-29 17:41:03 · 897 阅读 · 0 评论 -
Unity3D自学笔记——架构应用(二)选择英雄界面
UGUI架构的应用案例——选择英雄界面效果展示原创 2016-10-31 21:43:50 · 3834 阅读 · 5 评论 -
Unity3D自学笔记——UGUI前台架构
UISingleton原创 2016-10-30 15:38:52 · 1485 阅读 · 0 评论 -
Unity3D自学笔记——架构应用(一)用户登录
UGUI架构的应用案例原创 2016-10-30 16:13:32 · 4024 阅读 · 8 评论 -
Unity3D自学笔记——有限状态机(一)框架搭建
框架搭建概念有限状态机(FSM),即在有限的状态里面进行状态的转移,并执行相应状态下的动作。状态机主要要素有当前状态当前状态下执行的动作切换到下一个状态的条件下一个状态 Animator就是一个状态机模型状态机架构对现有控制模式的改变拿角色移动举例现状 void Update() { // Move(-Input.GetAxis("Horizontal"),原创 2016-11-11 03:56:48 · 4617 阅读 · 1 评论 -
Unity3D自学笔记——UGUI 利用遮罩显示3D人物(物体)
UGUI 利用遮罩显示3D人物(物体)效果图实现步骤 创建你要显示的图片首先建立一个相机,然后一个背景,然后一个你要拍摄的对象,一个背景 新建一个Render Texture, 将他添加至相机Target Texture属性中,这里命名为Player,意思是相机所拍摄的图像将渲染显示在Player上面相机设置如下 选中相机,从预览图中已经看到你要生成的图片已经做好了,然后就是怎么放原创 2016-11-10 02:18:59 · 5664 阅读 · 0 评论 -
Unity3D自学笔记——UGUI背包系统(九)装备对HP影响的逻辑及使用药品
装备对HP影响的逻辑及使用药品装备对HP影响的逻辑 背包中有加血属性的装备穿戴在身上后,应该只影响角色最大血量,不影响当前血量 使用药品对当前属性的变更,切变更后的属性不能超过最大值。Status更改后,同样发起事件,通知监控对象,如头像面板进行值的改变,背包物品减少。 /// <summary> /// 使用药水 /// </summary> /// <param na原创 2016-11-10 01:54:32 · 1960 阅读 · 0 评论 -
Unity3D自学笔记——UGUI背包系统(八)物品的分类与整理
物品的分类与整理效果图全部 装备 药水 其他 实现功能1.全部显示背包的所有格子及所有物品 2.分类显示该类物品及该类物品个数的格子 3.不管是哪个面板的装备进行了更新,其余面板都应更新 4.数量显示当前格子数量和总数量例如 从装备Tab装备一个装备至角色身上 装备分页该装备要消失 并且在全部分页中也应该对应消失 实现逻辑1.有两个背包容器,一个为全部的物品原创 2016-11-10 01:40:01 · 9833 阅读 · 2 评论 -
Unity3D自学笔记——UGUI背包系统(七)物品的装备与卸下
物品的装备与卸下效果图装备 卸下 实现功能点击背包里的物品,属性弹出框将显示装备按钮点击角色身上的物品,属性弹出框显示卸下按钮点击装备后,所选物体将从背包中移除,角色相应装备栏将显示该装备,然后属性动态修改点击卸下,所选物体将从角色装备栏移除,并将装备添加至背包对象关系 背包物理关系 UIScene_Inventory 最外层 PnlGrid 背包格子的容器 Gri原创 2016-11-09 22:45:22 · 17752 阅读 · 1 评论 -
Unity3D自学笔记——Photon服务器的后台架构实现(二)
ALI.ARPG.Operations原创 2016-10-28 14:04:10 · 1734 阅读 · 0 评论 -
Unity3D自学笔记——Photon服务器的后台架构实现(五)
Client原创 2016-10-28 16:06:38 · 982 阅读 · 3 评论 -
Unity3D自学笔记——架构应用(四)JsonToEntity帮助类更新
JsonToEntity原创 2016-11-02 02:39:16 · 711 阅读 · 0 评论 -
Unity3D自学笔记——架构应用(六)角色创建
角色创建原创 2016-11-02 13:26:03 · 4369 阅读 · 0 评论 -
Unity3D自学笔记——有限状态机(二)角色行走控制
有限状态机(二)角色行走控制创建Statepublic enum FSMStateType{ None, Default, Idle, Move,}Idlepublic class IdleState : FSMState{ public override void Action(FSMBase fsm) { fsm.PlayAn原创 2016-11-14 13:12:00 · 3162 阅读 · 0 评论 -
Unity3D自学笔记——UGUI背包系统(三)物品弹出提示框
物品弹出提示框效果图利用Toggle实现物品选中效果 向背包里层pnlGrid添加一个Toggle Group 修改Item预制体,将其修改为Toggle 向Item添加Toggle组件 默认Is On不选中 其余的设置不变,多了一个Checkmark,即IsOn为True时会显示该图片,所以设置一张图片。预制体里不能设置Toggle的ToggleGroup,需要在代码里控制,原创 2016-11-07 15:37:53 · 10552 阅读 · 27 评论 -
ASP.NET ZERO 学习 —— (13) 应用开发Demo之页面呈现Person数据
使用 MVC Controller调用 GETPEOPLE 方法现在是时候使用PhoneBookController 来获取People数据并显示在视图上了。 public class PhoneBookController : AbpZeroTemplateControllerBase { private readonly IPersonAppService _per原创 2017-03-08 17:41:24 · 1617 阅读 · 0 评论 -
ASP.NET ZERO 学习 —— (12) 应用开发Demo之测试应用服务
单元测试如果你对自动化测试不感兴趣可以跳过本节。通过编写单元测试,我们可以不经过用户界面来直接测试 PersonAppService.GetPeople 方法。我们在.Tests项目中编写单元测试。首先我们先创建一个获取全部人员的单元测试: public class PersonAppService_Tests : AppTestBase { private reado原创 2017-03-08 16:50:09 · 1580 阅读 · 0 评论 -
ASP.NET ZERO 学习 —— (7) 开发手册之基础架构
动态Web API层SPA(单页面应用)和MPA(多页面应用)都使用AJAX来提供更好的用户体验,他们通过AJAX调用应用服务。因此有必要创建一个Web API Controller作为适配器(客户端通过AJAX调用Web API Controller的action,然后调用应用服务的方法)ABP框架使用应用服务接口定义自动创建动态Web API层,这里实际上没有Web API Controller原创 2017-02-28 16:28:48 · 3884 阅读 · 0 评论 -
Unity3D自学笔记——星际2技能系统分析(五)Effect(Damage)
星际2技能系统分析(五)Effect(Damage)星际2的技能还有一堆 如建筑,嘘唏,融合,变形等,就不一一看了,主要目的是为了分析ABE的逻辑,而不是实现,后面如有遇见再说。效果系统效果系统比较负责,因为前面也提到,它可以包含子效果,子行为是一个树状结构,并且可以多个效果集合成一个效果,或者根据条件去Switch效果。Effect的结构 CEffect:效果虚基类 CEffectR原创 2016-11-25 16:12:29 · 2241 阅读 · 0 评论 -
Unity3D自学笔记——星际2技能系统分析(四)Ability(Behavior)
Ability(Behavior) 套用行为的技能Ability除了可以直接调用Effect,也可以直接调用BehaviorCAbilBehavior 属性BehaviorArray : 从施法者身上添加或移除技能 CycleMode:假如当前技能等级有多个行为,这一设置会控制该技能循环行为的方案 XML定义<CAbilBehavior default="1"> <CmdBut原创 2016-11-25 12:56:17 · 1582 阅读 · 0 评论 -
Unity3D自学笔记——星际2技能系统分析(三)Ability(Effect)
星际2技能系统分析(二)Ability(Effect)技能施放的阶段技能被分为了7个阶段 Approach:接近 Wait:等待 Prep:准备 Cast:施放 Channel:引导 Finish:结束 Bail:保释AbilEffect效果技能基类 属性 好吧。。太多了 Arc:施法范围,若目标不在范围内,单位会自动调整至目标进入施法范围 Cost:技能消耗 AutoC原创 2016-11-24 22:21:35 · 3485 阅读 · 0 评论 -
Unity3D自学笔记——星际2技能系统分析(二)Ability(Move, Stop, Attack)
星际2技能系统分析(二)Ability(Move, Stop, Attack)人族机枪兵,有移动,停止,攻击及兴奋剂四个技能,对应类图如下 CAbil技能的虚基类,所有技能类都派生于它 属性 Name: 技能名称 SetId:唯一标识 Alignment:技能瞄准对象 TechPlayer:科技玩家 TechAliasArray:科技别名 SharedFlags:共享标签 X原创 2016-11-24 18:10:08 · 2065 阅读 · 0 评论 -
Unity3D自学笔记——星际2技能系统分析(一)
星际2技能系统分析最近一直在想设计一个易扩展的,可配置的技能系统框架。看了几个项目源码,可能自己功力不够,感觉类与类之间的套用很混乱,看的云里雾里的,然后网上到处找资料。对两个技能设计比较感兴趣,一个是Dota2 http://moddota.com/forums/discussion/14/datadriven-ability-breakdown-documentation 一个是星际2原创 2016-11-24 14:30:16 · 4525 阅读 · 1 评论 -
Unity3D自学笔记——架构应用(七)客户端识别角色是否已经创建
客户端识别角色是否已经创建原创 2016-11-02 16:00:39 · 1370 阅读 · 0 评论 -
Unity3D自学笔记——Photon服务器的后台架构实现(四)
ALI.ARPG.Domain原创 2016-10-28 15:42:49 · 998 阅读 · 0 评论 -
Unity3D自学笔记——Photon服务器的后台架构实现(一)
刚学完Photon环境的搭建,然后就一不小心走偏了,也走远了。 整个架构主要用到领域驱动设计,数据库为MySQL,ORM为NHibernate。 整个项目工程如下,(还没来得及加Cache Layer) 逻辑结构如下 ALI.ARPG.Operations: 用于和Unity3D进行数据传递(如状态枚举,数据对象等),由于Unity3D蛋疼的 Framework 2.0的限制,不敢加任原创 2016-10-28 02:08:57 · 3613 阅读 · 0 评论 -
Unity3D自学笔记——UGUI背包系统(六)角色换装及属性动态改变
角色换装及属性动态改变同样利用了Attribute设计,其实角色这里已经很简单了效果图白属性 装备剑, 攻击力+10 装备匕首,攻击力+8 装备三级匕首,攻击加24 同样角色属性的改变是通过之前写的PlayerStatus进行赋值大致示意图思路通过装备按钮,更改PlayerStatus的装备属性,并重新计算角色总属性,然后触发PlayerStatus的换装事件,通知角色属性面板刷原创 2016-11-08 12:49:33 · 3594 阅读 · 0 评论 -
Unity3D自学笔记——GUI组件的应用
GUI组件的应用原创 2016-10-01 16:17:43 · 1863 阅读 · 0 评论 -
Unity3D自学笔记——MonoBehavior常用函数
MonoBehavior常用函数原创 2016-10-01 01:24:54 · 2442 阅读 · 1 评论 -
Unity3D自学笔记——脚本开发的输入与控制
键盘的输入与控制public static bool GetButton(string buttonName); 当InputManager设置的buttonName键被按下返回true,若一直按着按键不放,则一直返回true。在项目中尽量使用GetButton,以免后期代码过多,导致按键混乱造成不必要的麻烦。Input.GetButton("Fire1")public static bool G原创 2016-09-30 18:26:03 · 1370 阅读 · 0 评论 -
Unity3D自学笔记——选择3D物体
效果图 思路给“建筑”物体添加刚体组件通过射线来判断物体是否被选中选中后执行物体的选中事件,出现魔法阵 实现 给物体添加Box Collider,并添加Building类 Building代码 public class Building : MonoBehaviour { p原创 2016-10-15 22:36:04 · 738 阅读 · 1 评论 -
Unity3D自学笔记——实现2D物体漂浮在制定3D物体上方
效果图:思路:1. 首先获取3D物体在屏幕上的坐标点2. 将2D图像放置于该坐标点的上方3. 判断物体在屏幕上的坐标是否改变,若改变则更新2D图像位置代码public class UIImageOnObject : MonoBehaviour { public Camera m_Camera; public GameObject m_Target;原创 2016-10-15 22:06:13 · 1881 阅读 · 0 评论 -
Unity3D自学笔记——碰撞检测示意图
参考链接 http://www.ceeger.com/Manual/Physics.html转载 2016-09-28 14:04:54 · 868 阅读 · 0 评论 -
Unity3D自学笔记——Transform
坐标系变量 Right 【X axis】Up 【Y axis】Forward 【Z axis】worldToLocalMatrixlocalToWorldMatrix函数方法 TransformPoint()【变换位置自身坐标到世界坐标】InverseTransformPoint()【变换位置自身坐标到世界坐标】TransformDirection()【从自身坐标原创 2016-09-28 15:19:24 · 1317 阅读 · 0 评论 -
Unity3D自学笔记——脚本开发基础数学
Timetime:从游戏开始到所用的时间 timeSinceLevelLoad:以秒计算到最后已经加载完的时间 deltaTime:以秒计算,最后一帧的时间 fixedTime:以秒计算游戏开始的时间 fixedDeltaTime:以秒计算时间间隔,在物理其他固定帧速率更新 maximumDeltaTime:一帧能获得的最大时间,物理其他帧速率 smoothDeltaTime:一个平滑淡原创 2016-09-29 13:36:21 · 789 阅读 · 0 评论 -
Unity3D自学笔记——架构应用(九)加载角色数据
加载角色数据原创 2016-11-03 17:19:32 · 3235 阅读 · 0 评论 -
Unity3D自学笔记——架构应用(八)人物移动与角色相机的跟随
人物移动与角色相机的跟随原创 2016-11-03 14:17:09 · 1186 阅读 · 0 评论 -
Unity3D自学笔记——代码调试与MonoDevelop的使用
MonoDevelop 的常用操作、设置与热键原创 2016-10-01 22:19:05 · 1461 阅读 · 0 评论 -
Unity3D自学笔记——UGUI背包系统(四)角色物品数据建立
角色物品数据建立ItemInfo 为游戏物品数据,背包中的信息应该是角色自身的物品,之前ItemInfo只是用于测试背包效果。UserItem对象表结构 相对于ItemInfo就简单多了,关联了userId 和 itemId,实现user 和 item的多对多关系。 一个User 可以拥有一个以上的相同Item 一个Item也可以被多个User拥有Lv 用来计算当前Item的属性 cou原创 2016-11-07 21:53:11 · 4727 阅读 · 0 评论 -
Unity3D自学笔记——UGUI背包系统(二)UI设计实现及数据绑定
UI设计实现及数据绑定目录结构背包UI创建pnlScrowView 背包的外层 背包的格子数量会超过UI的屏幕大小,所以需要进行滚动,UGUI创建滚动效果的界面是首先建立一个容器,容器需要一个不透明背景图片,然后添加一个ScrollRect,表示该区域是可以进行滚动操作的。再在该GameObject上添加Mask遮罩,用于隐藏超过该背景的物体。pnlGrid 背包的里层 当背包的里层的原创 2016-11-06 21:08:23 · 7602 阅读 · 0 评论