Unity3D
_limmmm
这个作者很懒,什么都没留下…
展开
-
浅析Unity中的四元数
最近在将四元数的时候感觉有点乱,所以根据网上的一些四元数知识又整理了一下。什么是四元数:简单的理解就是旋转角度的另外一种表现方法,属于一种四维空间,在三维空间中旋转角度我们可以使用三个值(x,y,z),在Unity中我们叫做欧拉角,但是使用四元数旋转角度需要使用四个值(x,y,z,w)。为什么要使用四元数:当我们使用欧拉角描述角度旋转,在三维空间中控制物体的旋转的时候容易发生万向锁...原创 2020-03-18 15:57:02 · 945 阅读 · 0 评论 -
Unity动画系统-人形动画的导入
1.我们一般导入的动画模型会有很多,一般情况下名字都是***@***这种,@前面代表模型的名字,后面是模型存放的具体动作,这种动画一般都不是给我们用的,只是让我们更好的看效果,我们需要的是只有名字的模型,这种模型一般是不带动画的。我们将这个模型导入到场景中,我们会发现有三个部分前两个都是用来渲染的,分别渲染人物和武器,第三个空物体里面有很多的子物体,分别代表了人物的身体构造(胳原创 2017-01-08 23:37:57 · 7218 阅读 · 0 评论 -
Unity动画系统-配置Avatar
首先我们所有的人形动画的骨骼都大致相似,比如头,胳膊,腿等,唯一不同的可能是骨骼的数量不同。所以Unity为我们建立一套标准的骨骼,我们需要把自己的骨骼映射到标准骨骼中,这样我们就可以实现人形动画的重用(不同人物的动画通用)。点击Configure配置Avatarsense场景:绿色代表我们建模的骨骼的位置。右边属性栏:(骨骼设置和肌肉设置) 那么到原创 2017-01-09 19:43:18 · 36290 阅读 · 1 评论 -
Unity动画系统-Blend Tree
Blend Tree-动画混合树作用:将多个动画融合在一起,按条件触发。创建混合树:在动画状态机中:右键->Create->Blend Tree双击进入混合树,看右边的属性Blend Type:混合的类型,三种类型1D:一维混合 需要一个参数 (下面)2D:两个参数自由混合:多个参数1).通过1D混合融合人物的Idle、Walk、Run动作首原创 2017-01-16 23:41:01 · 16392 阅读 · 0 评论 -
SteamVR插件简介
关于怎么安装VIVE就不说了,今天主要说一下Steam VR这个插件的用处。 首先,导入插件,可以从网上下载,也可以在Unity Store里下载,不花钱的。导入以后,我们会发现有两个文件夹,Plugins里面主要是一些PAI相关东西,主要需要学习的就是SteamVR里的东西。这里面有一些为我们写好的场景,脚本,shader,预制体,材质等。一、制作VR Came原创 2017-01-17 23:40:10 · 27724 阅读 · 1 评论 -
Unity编辑器拓展<一>
一.什么是编辑器拓展Unity是一个编辑器,编辑器就是可以进行编辑的工具,比如我们的文本Text就是一个文本编辑器,那我们的Unity其实就是用来编辑游戏的,编辑的扩展就是对编辑器本身的功能进行添加。但是由于Unity是不开源的引擎,所以我们只能使用特定的功能去编辑。UNITY3D的IDE本身的强大,除了表现在其提供的强大功能外,更让人喜欢的,是它高度的可扩展特性。这也是一个项目开发中,必原创 2017-03-20 00:22:48 · 1249 阅读 · 0 评论 -
Unity编辑器拓展<二>
4.场景视图拓展新建两个文件夹Script,Editor,将我们的脚本都放在Script里,新建一个脚本ChangeObjInfor,再新建一个脚本SceneEditor让SceneEditor继承Editor类,在这里,我们要使用Editor类,就必须把脚本放在Editor文件夹中,才能驱动这个脚本。引用一下Editor的命名空间UnityEditor,我们需要在Scene场景中绘制原创 2017-03-22 10:36:32 · 648 阅读 · 0 评论 -
Unity中的持久化数据PlayerPrefs
1.Unity里提供了一种本地化存储的方式,能够简单的存一些比较小的数据。这个方法写在Unity的PlayerPrefs类中。根据API的介绍,可以理解为持久化储存,还可以理解为游戏存档, 玩RPG游戏的时候肯定会有游戏存档 存档中就会记录玩家以前游戏的过程,这些都是以数据的形式存在PlayerPrefs中的。一般情况下我们只能存储Int float 和String类型的数据原创 2017-05-23 23:51:09 · 5211 阅读 · 0 评论 -
Unity如何不使用开发者账号进行IOS的真机调试
好久没有写博客了,一个字 懒。。。最近研究了下IOS的打包,发展现在已经可以在不使用开发者账号的情况下进行真机调试了!曾几何时,IOS的测试是那些没有账号的开发者的一大难题~废话不多说,开搞首先,要进行苹果的打包与测试,我们首先需要准备一些东西:Mac电脑一台,或者Mac系统并且安装了XCode然后你需要有一个苹果手机。。。1.Unity方面的打包,和正常一样Build,只需要原创 2017-10-11 00:31:11 · 10551 阅读 · 5 评论 -
Unity动画系统-给人物添加动画
导入人物模型,模型是不会动的,因为没有添加动画首先给模型添加Animator组件有的模型上自带组件,是因为我们给他设置成了人形动画,如果是普通动画就需要自己添加。添加好组件以后,我们发现上面缺少了一个animator controller(动画控制器),我们需要添加一个拖进去。在controller里面添加动画剪辑。点击进入animator视图,找到文件中的Idle动画,拖进去。橘原创 2017-01-07 01:39:29 · 29463 阅读 · 0 评论 -
渲染管线流程
关于渲染管线将什么呢?无非就是在OpenGL的管道当中各个部分的功能以及如何在管道当中形成了我们想要的最终的一幅图.(像素).而管线当中的操作可分为以下几个部分: 阶段1. 指定几何对象. 如:点 线 三角形.等一些几何图元..OpenGL绘制几何图元的方法有以下三种: 一次一个顶点.即使用glBegin() glVertex() glEnd() 指定几转载 2016-09-21 10:49:49 · 4130 阅读 · 0 评论 -
Unity3D中 滑块、下拉选框、单选框的传值方法
我们在游戏的设置界面经常会添加一些控制游戏内容的按钮以三类按钮和设置为例:滑块、下拉选框、单选框分别实现游戏中的声音大小调节、游戏难度选择、是否全屏选择,大概界面如下没有什么素材,简单传神一下- 。- (灵魂画师)这些按钮都是可以通过NGUI来直接使用的,主要说一下怎么通过程序接受到这些值。1.首先要定义一些简单的变量。public enum GameGrade{ EA原创 2016-08-15 11:47:02 · 7627 阅读 · 0 评论 -
Unity入门系列||Unity中如何用脚本实现物体的循环移动和旋转
思路:通过对时间的计算,每隔一段时间让物体旋转,实现来回移动。 float TranslateSpeed = 0.02f; float TranslateSpeedTime = 0.1f; void Update () { TranslateSpeedTime += 0.1f; transform.Translate(Vecto原创 2016-08-04 17:30:59 · 13207 阅读 · 0 评论 -
Unity设置物体的自转和公转
正好要做一个天空的场景,想添加上行星和恒星的自转和公转,代码如下1.自转。public float _RotationSpeed; //定义自转的速度transform.Rotate(Vector3.down*_RotationSpeed,Space.World); //物体自转2.公转 public GameObject Axis; //物体需要公转的参原创 2016-08-30 14:27:19 · 27429 阅读 · 1 评论 -
Unity入门系列||在Unity中添加第一人称视角
一般在FPS游戏中都会用到第一人称视角,简单介绍一下如何在Unity中添加第一人称视角1.为摄像机添加角色控制器:conmponent->Physics->Character Controller2.为摄像机添加C#脚本代码如下://首先定义视角的移动速度和旋转速度public float speed=3.0f;public float rotateSpeed=3.0f原创 2016-08-08 22:12:01 · 17963 阅读 · 0 评论 -
Unity实现物体的动态生成与删除
当我们用Unity开发游戏的时候,怎么能动态的实现怪物的生成与删除。get到了一种用for循环的方法来实现首先定义一下生成需要的值public GameObject _enemyship;//接收需要加载的物体public int enemyCount;//定义生成的个数public float WaitTime; //定义一个时间,让怪物在游戏开始一段时间后才开始加载pu原创 2016-09-01 15:22:58 · 26934 阅读 · 2 评论 -
Unity中的协同函数
在学习unity3d的时候很容易看到下面这个例子:1 void Start () {2 StartCoroutine(Destroy());3 }4 5 IEnumerator Destroy(){6 yield return WaitForSeconds(3.0f);7 Destroy(gameObject);8 } 这个函数干的事情很简单:调用StartCorouti原创 2016-09-01 16:05:35 · 5463 阅读 · 1 评论 -
利用Unity和高通实现简单的AR功能
1.首先登陆高通网站注册自己的账号。(纯英文真难受。。。)https://developer.vuforia.com2.Download里下载对应的SDK3.选择Develop->Target Manager添加一张图片名生成以后点击创建的名字,create 添加图片 生成好选择下载图片,选择unity editor4.在license Manager里生成自己的一原创 2016-08-11 17:29:40 · 2451 阅读 · 0 评论 -
Unity动画插件DoTween使用总结(一)
研究了一下DoTween插件,简单记录一下学习心得。首先下载安装DoTween1.通过Dotween来实现物体的移动。首先有一种比较复杂的方法。在新脚本中,要先加上using DG.Tweening;才能调用DoTween函数 public Vector3 myValue = new Vector3(0, 0, 0);//定义一个带有三维向量的函数 public原创 2016-08-24 15:49:10 · 11096 阅读 · 0 评论 -
Unity动画插件DoTween使用总结(二)
DoTween动画中的几种函数。1.transform.DOLocalMoveX(5, 1).From(true);动画默认是从当前位置沿着X轴移动到x=5的位置。加上Form变为从X=5的位置移动到当前位置,from默认为false改成True 表示 从当前位置+5的位置 移动到当前位置。2.Tweener tweener= transform.DOLocalMoveX(0,原创 2016-08-24 16:02:28 · 5037 阅读 · 0 评论 -
Unity3D中通过NGUI实现的场景跳转
暂时想到两种跳转方式,有更好的办法再更新。1.在一个场景中制作两个画布,通过NGUI实现两个画布的位置移动。达到画面变化的效果,而实际上只是两个画面的位置移动(一个画面移出屏幕,另一个画面移入屏幕)首先要完成两个画面,并定义两个点击按钮,首先给两个画面定义动画,一个是飞进屏幕,一个是飞出屏幕。NGUI->Tween->Position然后在脚本里public TweenPo原创 2016-08-15 23:49:10 · 5919 阅读 · 0 评论