自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

脚踏实地,给自己一个更好的生活

写来以后要用的时候能方便高效点

  • 博客(49)
  • 收藏
  • 关注

转载 Unity绘制线条的几种方式比较

好文章:https://blog.csdn.net/ldy597321444/article/details/78031284/

2018-12-26 18:33:50 10112 1

转载 Unity 图标绘制插件

描述unity图表绘制Graph Maker 1.5.7 要求Unity 4.6.3或更高版本.Unity 4.6.3 - 5.0.0 = Graph Maker 1.4。Unity 5.0.1+ =最新的图形制作工具。 Graph Maker - 拖放即可使用图表,并在运行时进行高度自定义/更改。 功能  - 在运行时自定义数十个视觉方面- 高度优化性能- 折线图,条形图,堆积条形图- 堆积...

2018-12-26 18:21:53 1537

转载 Unity实现画线条功能

废话不多说,今天实现一个用LineRender组件实现画图的功能。网上已有相关博文,感觉步骤有些模糊,今天就整理出来供大家学习第一步:创建一个空对象,为其添加LineRender组件。注意:将材质的着色器改为颗粒/添加剂,否则在代码里面控制颜色不起效。二再创建一个新的对象,来挂载脚本脚本如下。: [csharp]  查看普通 副本使用UnityEngine;   使用...

2018-12-26 17:45:59 2775

转载 unity 判断触摸坐标是否落在ui上

1.触摸坐标转ui的GameObject的localPositionVector3 uiPosGet(Vector3 pos,RectTransform rect) { Vector2 pos2D; RectTransformUtility.ScreenPointToLocalPointInRectangle(rect, pos, can.worldCamera,

2016-11-14 10:25:42 3428

转载 【Unity3D】【NGUI】点击按钮没反应

原文地址:点击打开链接以下是经常发现会遇到的问题。1、设置正确的Camera的Culling Mask;设置正确的UICamera的Event ReceiverMask。这两个要保证就是你的UI那个Layer。2、你的Button上面,需要有Box Collider(size也要正确,可以通过alt+shift+c来快速调整size);Button的layer需

2016-11-12 08:51:26 5146

原创 Unity中的观察者模式

看视频的时候讲到了观察者模式,感觉比较有用,这里引用别的博客的描述:观察者模式:1. 概述  有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。2. 解决的问题  将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一

2016-11-11 18:34:40 2995

转载 NGUI事件系统、相关变量、控件等的直接用法

一、 NGUI的直接用法1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加。(注:用Component添加无效)。2. Attach an Anchor:表示为该物体添加了UIAnchor脚本,作用是避免像素偏移的问题3. Attach UIStretch:表示为该物体添加了UIStretch脚本,提供缩放功

2016-11-03 09:31:37 748

原创 游戏登录背景的白云生成脚本

最近看了泰斗破坏神的视频,自己写了个生成云的脚本。我把云做成了预制。上面有个Cloud脚本,Cloud脚本主要控制云的透明度变化,移动方向,尺寸和速度,云在漂浮的时候会随机发生透明度变化。当云运动到了某一位置或者到了规定的生存时间就会透明度逐渐减小,看不见的时候自动消失。然后在UIRoot上面放了个CreateCloud脚本,用来控制云的数量和生成速度。看下CreateClou

2016-11-02 10:47:23 766

转载 unity3d关节物体连接方式 Joint 简介

Hinge Joint     链条连接   (圣典百科) 他可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力。想想两个物体间连个链条,大家就理解了。  Fixed Joint    固定连接  (圣典百科) 他模拟了两个物体间存在一根杆子,固定了两个物体的相

2016-10-26 22:19:52 11146

原创 3D世界宠物围绕主角旋转飞行的脚本

这个脚本的功能主要是宠物围绕角色不定期的顺逆时针交替旋转,交替的过程是宠物自身旋转,围绕主角旋转的同时宠物在一定范围内上下浮动,脚本里面用到了比较多的协程,不懂的同学可以看下这里点击打开链接。在比较复杂的运动中,“分而治之”是一个很重要很有用的解决方案。之前把前面所述的几种运动都集合在脚本中,用代码进行控制,结果发现他们之间的运动有好多是有冲突的,于是各种鬼畜现象就出现了。

2016-10-26 16:11:13 880

转载 Unity3D控制人物移动跳跃,处理CharacterController的isGrounded总是返回false问题

在Unity3D中控制人物移动的方法很多,可以使用transform.Translate方法,但为了不穿越其他物体,需要使用刚体rigidbody。还可以使用角色控制器,角色控制器是自带刚体Rigidbody和碰撞器Collider的,移动可以使用CharacterController组件。在使用CharacterController组件实现跳跃时,需要检测人物是否在地面上,Charact

2016-10-20 22:40:35 7513

原创 打雷脚本

using UnityEngine;using System.Collections;public class Thundering : MonoBehaviour{ public Transform ground; float groundWidth, groundlength; Light thunderLight; public fl

2016-10-19 19:26:14 720

原创 控制角色转身之后进行运动以及使角色转弯

很多游戏中,我们通过向前移动来控制角色到达目的地,这要求我们的控制角色要直面目的地,当角色没有面对目标,我们需要旋转过后再往前走,简单的往前可以是LookAt(),然后直接往前走。有过程的旋转可以通过 Vector3 forwardDir = targetGameObject.transform.position - transform.position;

2016-10-15 15:06:02 4184

转载 Unity3D Vector3.Dot 点乘 与 Vector3.Cross 叉乘

一、点积(又称“数量积”、“内积”)    1、理论知识   在数学中,点积的定义为a·b=|a|·|b|cos 【注:粗体小写字母表示向量,表示向量a,b的夹角,取值范围为[0,π]】。从定义上,我们知道向量的点积得到的是一个数值。而不是向量(这点大家要注意了!要与叉积进行区别)。另外点积中的夹角没有顺序可言,即=(或a·b=b·a)。所以我们可以通过点积得到两个向量之间的夹角。

2016-10-14 20:57:57 1609

转载 Unity3D中Animation的常见属性及方法

Animation.Play播放function Play (mode : PlayMode = PlayMode.StopSameLayer) : boolfunction Play (animation : string, mode : PlayMode = PlayMode.StopSameLayer) : boolPlay()将开始播放名称为animation

2016-10-12 21:04:46 9532

原创 多个对象同时使用一个对象的同步问题

写了段代码,主要部分如下: public void OnMouseOver() { hovering = true; //使用 } public void OnMouseExit() { hovering = false; } void Update() { if (hoveri

2016-10-06 09:29:48 1451

原创 NGUI的物品拖拽

这里记录下NGUI实现拖拽的脚本,首先脚本继承UIDragDropItem,然后如果要写Start函数,记得要写base.Start(),函数的参数Surface表示的是要释放鼠标时拖拽的物品下面的物品。最后在UIDragDropStart,UIDragDropRelease写你想要的功能。下面是脚本,看懂个大概思路即可:using UnityEngine;using Syste

2016-10-05 11:18:14 3415

原创 Unity设置鼠标指针图片

下面是程序中动态变化鼠标图片的代码。using UnityEngine;using System.Collections;public class CursorManage : MonoBehaviour { static CursorManage _instance; public static CursorManage Instance {

2016-09-27 17:57:05 7894

原创 RPG类游戏主角移动的代码

本来RPG类游戏主角移动的代码没什么特别,这里要指出的是在使用character.simpleMove(moveSpeed * transform.TransformDirection(new Vector3(0, 0, 1)))来移动,但是当角色在斜坡上由于角色角度的变化而会出现方向改变不能直接到达目的地的问题。这个问题我尝试了好多方法,但是由于自己判断不准确,好久都没有解决。所以找

2016-09-27 10:27:11 4136 1

原创 角色选择界面角色与鼠标的旋转交互

这里的脚本要实现的功能是在角色选择界面,人物3D模型自动旋转,然后鼠标在角色身上向左拖拽,角色往左旋转;向右拖拽,角色向右旋转,拖拽后角色旋转方向与退出拖拽时,鼠标的移动方向一致。单击人物则停止旋转。下面是脚本,这里不作过多解释:using UnityEngine;using System.Collections;public class OnCharacterClick

2016-09-24 23:03:52 1587

转载 unity学习之鼠标事件

unity学习,希望我的博客能给喜欢unity的朋友带来帮助今天完成了游戏的第一个关卡,觉得和别的组不同之处之一就是按钮的不同,登录注册等按钮我没用GUI的Button来做,而是用GUITexture来做,做出来的效果就是当鼠标没在按钮上时是一个状态,当鼠标移动到按钮上是又是另一个状态,当鼠标点击按钮时,又会变另一状态,这不是特效,其实是定义了一组照片和用鼠标事件来做的。下面就让我

2016-09-24 22:05:46 3373

原创 在Unity快速修改方向控制键位

游戏有时候会有两个玩家一起玩的时候,如果这时两个玩家都使用同一个移动控制脚本。我们通常会在脚本中定义相应的KeyCode来进行不同的移动控制,但这显得很繁琐,这里简单介绍一种用unity软件界面来直接设置不同玩家的不同键位。首先,两个玩家的代码中都有下面这段代码: Input.GetAxis("Horizontal"); Input.GetAxis("Vertic

2016-09-23 20:43:19 8961 1

转载 Unity3D协程介绍 以及 使用

在Unity中,协程(Coroutines)的形式是我最喜欢的功能之一,几乎在所有的项目中,我都会使用它来控制运动,序列,以及对象的行为。在这个教程中,我将会说明协程是如何工作的,并且会附上一些例子来介绍它的用法。  协程介绍Unity的协程系统是基于C#的一个简单而强大的接口 ,IEnumerator,它允许你为自己的集合类型编写枚举器。这一点你不必关注太多,我们直接进入

2016-09-22 09:30:17 960

原创 Unity设置物体与屏幕成一定关系

我们做手游很多时候要考虑到屏幕适配的问题,比如有些屏幕很长,有些屏幕相对较短。当我们的一些2D游戏初始化的时候位置设置如果就没有和屏幕达到一定的关系,则有时候在一些手机上运行时会出现游戏开始时主要物品等不在屏幕内的bug。有时我们按照剧情在3D世界里面初始化物体的时候,也要和屏幕达成一定比例,比如闯过一个关卡,然后界面后面的3D世界放起了烟花,烟花也是要与屏幕成比例的。否则虽然

2016-09-21 20:49:20 2245

原创 开枪效果的制作

开枪的时候通常会有一条火舌以及光和声音,这里讲一下在游戏中的开枪效果的制作。首先你的枪口或是其他设计物体的开火口出要有一个物体,空物体也行,用来定位特效位置,这样比较方便。然后该物体持有特效子物体、light和LineRenderer组件以及AudioSource组件,这些组件要设置相应的参数,这里引用一下介绍LineRenderer组件的网页:点击打开链接。下面是该物体的脚本

2016-09-17 16:14:21 2556 1

原创 简单的实现两个物体在摄像机视野内的代码

这个方法是看视频得到的,有些游戏可能会用到,有点记录意义。首先说一下,这个方法适用于摄像机镜头角度相对于地面来说有了一定倾斜程度的情况下(如图一),如果摄像机镜头接近于垂直地面(如图二),则不能保证两个物体都在摄像机视野内,这个方法不奏效,图一图二然后这个方法是用在摄像机的正交镜头,透视镜头则不适用,这里用到的是正交的size属性,大小和

2016-09-12 18:48:37 746

转载 unity3d摄像机参数

1. Clear Flags:清除标记。决定屏幕的哪部分将被清除。一般用户使用对台摄像机来描绘不同游戏对象的情况,有3中模式选择:  Skybox:天空盒。默认模式。在屏幕中的空白部分将显示当前摄像机的天空盒。如果当前摄像机没有设置天空盒,会默认用Background色。  Solid Color:纯色。选择该模式屏幕上的空白部分将显示当前摄像机的background色。  Depth

2016-09-12 15:42:27 560

转载 关于unity中的update、Lateupdate和FixedUpdate

MonoBehaviour.Update 更新        当MonoBehaviour启用时,其Update在每一帧被调用。        MonoBehaviour.FixedUpdate 固定更新        当MonoBehaviour启用时,其 FixedUpdate在每一帧被调用。        处理Rigidbody时,需要用FixedUpdate代替Up

2016-09-12 10:33:58 9756

转载 C#性能优化总结

1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。 1.1.1.1 避免循环创建对象 ★ 如果对象并不会随每次循环而改变状态,那么在循环中

2016-09-11 11:12:42 5675

转载 Unity常用的函数和遇到的C#的知识整理

看Unity的视频也有一段时间了,把视频里面遇到的东西稍微记录一下,这些东西也算是Unity常用的,整理方便日后要用的的时候来搜索查看,好记性不如烂笔头,以后会不定期更新。Invoke("functionName",time)   功能:在time时间之后执行函数functionName(),这里这句话和functionName()在同一个脚本,至于调用其他脚本的函数好像不

2016-09-10 19:02:32 3629

原创 Physics2D.Linecast的使用注意事项

今天做2D游戏使用了Physics2D.Linecast函数,为了使物体不会撞进墙。RaycastHit2D hit = Physics2D.Linecast(targetPosition, targetPosition + new Vector2(x, y));x,y值不是1就是-1,因为使用这个函数的脚本所在的物体本身也使用了BoxCollider2D所以在检测的时候把自己也给检测了,

2016-09-10 11:54:08 8423 1

原创 NGUI名字跟随、伤害显示、血条和miss效果的制作

这里讲一下类似于魔兽争霸里面的血条、伤害和miss效果的制作,这个涉及到了NGUI里面的HUDText,它是NGUI的扩展,有效的只有两个脚本。其中一个是UIFollowTarget、另外一个是HUDText。UIFollowTarget脚本所在的物体在编辑器会出现四个选项:Target表示的是你所要跟随的3D物体,一般是跟随在该物体正中心,所以为了

2016-09-02 07:33:47 2972

原创 Unity3d读取文本文档中文不显示的问题

游戏的一些数据需要我们固定保存,文本文档是一种方式。在项目的Asset目录下存储的文本文档的中文在读取之后会显示不了中文。解决办法是吧文本文档的编码方式改为UTF-8将原文本文件另存为,然后选择编码方式,保存在原文档目录下并替换即可

2016-08-31 12:49:41 3204

原创 NGUI添加鼠标事件监听方法

我们的游戏有时候需要在鼠标移动至物品栏某项物品的时候能够显示该物品的详细信息。Unity有好多种方法。其中一种是在该物品上面添加组件UI Event Trigger和UI Event Listener。注意要成对使用,否则单独使用UI Event Trigger可能会使该物体的GetComponentInChildren()语句出现报错,即找不到GetC

2016-08-30 10:27:48 3194

原创 游戏中自动攻击最近目标、二次连击和群体攻击的大体代码思路

通常我们玩GTA系列,暗黑血统系列,虐杀原形等电脑打斗游戏时,都是主角跟着鼠标转向来攻击的。这意味着要我们自己去寻找目标。但是移动设备不像laptop或者座机那样操作方便,所以最近目标攻击在移动设备是很常用的。下面给出攻击最近目标的主要代码和部分解释: public float attackRange = 30; public float attac

2016-08-27 14:42:48 3771

原创 NGUI和可视化添加按钮注册事件效果相同的代码

这篇博客可能不那么重要吧,暂时没想到什么情况需要用到。只是作为初学者的我想把一些对自己比较生疏的知识记下来。以后要用能够找到。我们可视化手动添加按钮的点击事件一般需要先指定一个继承了MonoBehavior类的GameObject然后再指定其脚本里面的方法下面的代码可以实现相同的功能: EventDelegate RedAttackEvent = n

2016-08-26 21:26:03 887

原创 Unity的摄像机拉近拉远和旋转脚本实现

摄像机是Unity3d里面一定要用到的。所以熟悉摄像机的使用也是能掌握unity3d的基础。这里详细介绍一个摄像机脚本,脚本的功能类似与魔兽争霸的鼠标滚轮拉近拉远以及按住右键移动鼠标旋转视野。涉及到部分Unity部分原生函数,所以很多时候,想实现的功能也许在原生函数就已经有了。只是还不知道不会想到取用。学习Unity很重要的是把Unity的基础知识掌握好,以后会进阶时会觉得自己游刃有余

2016-08-26 09:26:17 9958

转载 unity Animator 怎么判断一个动画播放结束

关于unity Animator 怎么判断一个动画播放结束这里有几种方法。希望对大家有帮助。还有其他办法的可以分享一下     第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了?     第二种方法:试试animator上面那个 exit time     第三种方法:                           //获取动

2016-08-25 16:31:50 49595

转载 在Unity3D中控制动画播放

原文链接:点击打开链接用Unity3D也算是好久了,但是每次做项目总还是能学到新的东西。这次做一个TPS的项目就遇到了这样一个问题,如何同时在上下半身播放不同的动画?解决方法其实是很简单,但由于对于动画资源的了解不足导致问题不断,最后是彻彻底底的研究了一遍Unity3D的动画系统(Legacy),虽然4.0出了新的动画控制系统,使用了一下功能相比原来确实强大不少,但还是将这次对

2016-08-25 10:52:34 1557

原创 NGUI的ScrollView以及Grid的使用

最近几天用到了NGUI的ScrollView以及Grid来实现上滑下滑的功能,编辑时结构图如下:界面如下:游戏运行时的时结构图如下:界面如下:在ScrollView下面放置一个子物体Grid是因为Grid有自动排序功能,使每一个技能item能够整齐排列。ScrollView默认是水平滑动的,记得在inspector面板选择垂直滑动。要使得Sc

2016-08-22 09:12:07 8450 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除