Unity3D
文章平均质量分 71
攻城狮一叶秋
这个作者很懒,什么都没留下…
展开
-
Transform类
Rotate 绕某一向量旋转public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);public class ExampleClass : MonoBehaviour { void Update() { transform.Rotate(Vector3.right * Time.d原创 2016-09-12 14:58:51 · 2709 阅读 · 0 评论 -
Ugui Image控件绘制多个动态图
我们用一个Image控件,绘制多个动态图,效果如下先说一下主要思路我们创建一个Image控件会看到有个CanvasRenderer的组件,这个组件是负责渲染的。首先我们准备一个图集关于如何打图集,请参考我的上一篇文章然后我们创建一个SpriteGraphicHelper.cs脚本这个脚本中主要有我们自定义的一个Mesh,我们将用这个mesh中的数据渲染图原创 2016-12-29 19:32:19 · 3124 阅读 · 0 评论 -
Unity 打图集Atlas
这一节我们来写一下怎么用代码吧很多图片打到一个图集中(也就是一个大图片中)在Unity中我们可以设置图片的Packing Tag来制定图片所属的图集,Unity运行的时候会把相同图集的图片合批,我们自己来实现一个这样的功能.假如我们有下面这些图片打成图集之后的效果如下然后我们就可以像这样来使用Sprite[] sprite = Resources.L原创 2016-12-27 17:54:54 · 10770 阅读 · 1 评论 -
UGUI雷达图
雷达图的实现主要是通过函数OnPopulateMesh,关于函数OnPopulateMesh的用法在上一节中介绍的很清楚了。先看一下效果图我们有五个属性攻击,防御,闪避,穿透,治疗。雷达图的制作思路是:首先我们放五个Text控件,控件上写上对应属性的名字,然后把控件的位置移动到你想要的雷达图形状的位置。我们在OnPopulateMesh函数中设置五个顶点,这五个顶点的信原创 2016-12-25 23:27:59 · 2233 阅读 · 0 评论 -
OnPopulateMesh函数
主要写一下OnPopulateMesh函数的使用方式OnPopulateMesh函数当一个UI元素生成顶点数据时会调用OnPopulateMesh(VertexHelper vh)函数,我们可以在这个函数中修改顶点的数据或者获取顶点的数据。VertexHelper结构UI元素的顶点数据会填充这个数据结构,我们可以修改这个数据结构里面的数据从而影响到顶点的一些属性。在原创 2016-12-25 22:33:57 · 14517 阅读 · 2 评论 -
UGUI RectTransform
主要来写一下RectTransform组件中的Pivot,Anchors,offsetMin,offsetMax,sizeDelta属性的作用我们创建一个Image会看到一个圆圈和一个菊花,圆圈的那个就是Pivote,菊花的那个就是AnchorsPivot中心点,范围是0-1,Pivote的值和我们创建的Image控件关系如下Anchors锚点 用于限制UI控件原创 2016-12-24 19:09:39 · 661 阅读 · 0 评论 -
动画位移的控制
动画位移的控制有两种,一种是动画本身带有位移,第二种是没有位移的动画。对于没有位移的动画,即Root Motion为0的动画,想让动画运动的时候有位移,我们可以使用动画曲线加脚本的形式来控制,也可以单独使用脚本来控制动画的位移。假如我们有一个跑动的动画run,这个动画没有位移我们点击run动画中的Curves选项加曲线,使曲线的y轴为1,这个值作为动画位移的原创 2016-10-31 19:03:16 · 2422 阅读 · 0 评论 -
使用ScriptableObject进行序列化
原文地址 http://blog.sina.com.cn/s/blog_647422b90101d73s.html如果你想创建不需要附加到游戏物体的对象,就可以使用ScriptableObject这个类。ScriptableObject一般用来存储u3d无法打包的对象(object),利用它可以将对象打包为assetbundle或者.assets文件以供后续使用。总体来看这也是一个很好的序转载 2016-10-27 16:27:41 · 2422 阅读 · 0 评论 -
Matrix4x4类
MultiplyPoint3x4 矩阵变换public Vector3 MultiplyPoint3x4(Vector3 v);通过指定的矩阵来变换向量v下面的代码是通过矩阵m来变换vvoid Start () { Matrix4x4 m = Matrix4x4.identity; Vector3 v = Vector3.one;原创 2016-09-08 17:39:45 · 4570 阅读 · 0 评论 -
Mathf类
属性:Mathf.Deg2Rad 表示从角度到弧度转变的常量值,其值为(2*Mathf.PI)/360Mathf.Rad2Deg 表示从弧度到角度转变的常量值,其值为360/(2*Mathf.PI)方法:Clamp 返回有限范围值public static float Clamp(float value, float min, float max);原创 2016-09-08 11:47:58 · 4761 阅读 · 0 评论 -
摄像机目标渲染纹理targetTexture
Camera的属性targetTexture作用是可以吧某个摄像机A的视图作为Renderer Texture,然后添加到一个Material对象形成一个新的材质。首先我们创建一个材质Material修改名字为TargetMaterial,然后创建一个Render Texture 修改名字为TargetRenderTexture把材质TargetMaterial的Shader修改为Te原创 2016-09-04 12:03:49 · 26422 阅读 · 2 评论 -
射线Physics.Raycast
这一节我们做一个鼠标悬停在某一个物体上后,打印出该物体的标签tag首先我们创建两个物体立方体Cube和球Sphere,并把立方体的tag设置为Cube,球体的tag设置为Sphere然后我们创建脚本Raycast.ca并挂在主摄像机上代码如下public class Raycast : MonoBehaviour { // Update is called once per f原创 2016-09-04 01:20:31 · 960 阅读 · 0 评论 -
摄像机按层渲染Camera.cullingMask
摄像机Camera的属性cullingMask用于按层(即GameObject)有选择性的渲染场景中的物体。我们先在Layer中加两个层 Cube和Sphere层 分别是第8和第9层我们在场景中创建两个物体,一个立方体Cube,一个球体Sphere。把立方体的Layer设置为Cube,把球体的Layer设置为Sphere,然后加两个按钮分别控制显示球体和立方体原创 2016-09-03 23:14:27 · 4622 阅读 · 0 评论 -
摄像机层剔除距离Camera.layerCullDistances
Camera.layerCullDistances属性用来设置摄像机基于层的消隐距离。摄像机可以通过基于层(GameObject.layer)的方式来设置不同层物体的消隐距离,但这个距离必须小于或等于摄像机的farClipPlane才有效。我们同样是在layer中加两个层Cube和Sphere层,分别属于第8层和第9层创建一个立方体和一个球体,并把立方体的Layer原创 2016-09-04 00:13:49 · 6363 阅读 · 0 评论 -
摄像机按层响应事件Camera.eventMask
Camera.eventMask属性可以设置拿个层的物体响应鼠标事件如果使物体响应鼠标有三个条件1.物体在摄像机的视野范围内2.eventMask与物体的layer进行与运算&后结果仍为物体的layer值,比如现在有两个物体,他们的layer值分别为1和3,则当eventMask与9(因为2^0+2^3=9)进行与运算后若结果仍为9,则这两个物体都会响应鼠标事件。3.物体的Ig原创 2016-09-03 23:48:39 · 2012 阅读 · 0 评论 -
使用UGUI为角色添加血条
可以参考这篇文章转载 2016-09-03 13:12:16 · 590 阅读 · 0 评论 -
Quaternion类
Eulerpublic static Quaternion Euler(float x, float y, float z);public static Quaternion Euler(Vector3 euler);功能: 返回Quaternion对应的欧拉角例子:public class ExampleClass : MonoBehaviour { pu原创 2016-09-09 16:36:34 · 2082 阅读 · 0 评论 -
物体在指定距离处绕另一个物体旋转
我们来写一个例子,让Cube物体在距离Sphere 2米处绕Sphere旋转代码:public class t_Distance : MonoBehaviour { public Transform target; //旋转距离 public float targetDistance = 2.0f; //是否到达旋转的距离 private bool原创 2016-09-12 15:34:36 · 1469 阅读 · 0 评论 -
Unity3D 中 protobuf-net
本节主要写一下在unity中是怎样用protobuf-net 来序列化和反序列化数据的我上传了protobuf-net 地址http://download.csdn.net/detail/jk823394954/9026241也可以从http://code.google.com/p/protobuf/ 下载最新的protobuf-netprotobuf-net下载后的目原创 2015-08-19 23:27:22 · 1348 阅读 · 5 评论