2015-10-23 15:51:55 a117653909 阅读数 4323
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    348 人正在学习 去看看 洪青霞

我觉得要真正地理解四元数是把Unity3D里四元数函数都上手测试一下其功能。
四元数在Unity3D中的作用就是拿来表示旋转。

AngleAxis
创建一个旋转,绕着某个轴旋转,返回结果是一个四元数。
跟ToAngleAxis实现的是相反的功能。

Angle
返回两个旋转值(四元数)之间的角度,返回值是float类型的角度值。
(不知道这个值算出来后有什么用)

Dot
点乘,我也不太理解其意义。
参见

eulerAngles
返回表示旋转的欧拉角度(Vector3 即3个值)
(如果调用的是某个物体,则表示该物体当前位置是从原始位置怎么旋转过来的,
其实就是Inspector里的Rotation的3个值)

Euler
感觉跟eulerAngles是相反的操作(经测试,确实是)
输入的是欧拉角的3个值,返回的是一个旋转(四元数)

FromToRotation
参数是两个Direction(Vector3),返回一个Quaternion
我觉得主要是用在要把A物体的朝向转成跟B物体的朝向一样时所需要的旋转值(Quaternion)
然后再调用Transform.Rotate就可以把A旋转成跟B一样了。

identity
可以理解为单位四元数

Inverse
就是一个旋转的反旋转,其实就是把刚才的那个旋转转回去。

Lerp
插值,可以理解为可以把一个物体的朝向转向跟另一个物体一样,跟时间配合可以慢慢地旋转。

LookRotation
可以让A物体一直朝向B物体。
参照下面这篇文章的做法,导入ThirdPersonController
http://blog.csdn.net/lijing_hi/article/details/7272089

Quaternion
构造函数,参数是4个float值

RotateTowards
跟Slerp类似

SetFromToRotation
跟FromToRotation功能一样,只是调用方式不一样。

SetLookRotation
跟LookRotation功能一样,只是调用方式不一样。

Slerp
旋转一个角度从from到to。

this[int index]
像数组那样调用x, y, z, w,感觉还不如直接用.x来调用。
可能是为了循环方便。

ToAngleAxis
把一个rotation 转成 angle-axis 形式。跟AngleAxis实现的是相反的功能。
用引用的方式传入 angle和 axis 。
这跟transform.localEulerAngles很类似。
输入:transform.localEulerAngles=(0,0,0);
输出:angle=0, axis=(1,0,0);
输入:transform.localEulerAngles=(0,90,0);
输出:angle=90,axis=(0,1,0);
输入:transform.localEulerAngles=(270,0,0);
输出:angle=90,axis=(-1,0,0)

ToString
格式化成一个字符串

参考:http://blog.csdn.net/yustarg/article/details/8623687

2020-02-14 13:31:12 CSDN_ONION 阅读数 28
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    348 人正在学习 去看看 洪青霞

本文转自Unity Connect博主 北京琳云信息科技有限责任公司
学习模型合理导入 Unity3D 引擎

    相信在游戏中,模型相当于游戏必要的元素,例如游戏的一个人物角色,我们可以称它为一个模型,今天和小编一起学习一下,导入 Unity 3d 模型,我们应该注意哪些细节!当然我们知道常用的模型都可以通过 Maya/3D Max 等三维动画软件制作的。

官方学习文档:https://docs.unity3d.com/Manual/FBXImporter-Model.html

1、模型自身规范:

    1.0 所有的模型在原点创建,没有具体的特定要求下,需要以物体对象中心为轴心;

    1.1 模型面数:移动端( 300-1500 个多边形达到比较好的效果) PC端( 1500-4000 比较适宜)正常的单个物体最好控制在 1000 面以下,所有的物体面数不超过20000 个三角面;

    1.2 模型大小:模型文件做到最大的优化,对于看不到的面,我们可以采用直接删除,合并断开的点,移除孤立的点;

    1.3 模型命名:命名最好做到规范化,模型在给绑定之前必须做一次重置变换;

    1.4 模型复制:如果物体可以复制的话,就尽量复制;例如一个 500 面的物体,烘培好之后复制出去 50 个,那么他所消耗资源基本和一个物体消耗的资源基本是一样;

    1.5 模型单位:在建模型之前设定好单位,在 Unity3d 中用到的单位设置必须要一样,模型和模型之间的比例要正确,和程序导入的单位要一致,如果到程序中单位需要缩放也尽可能统一调整缩放比例,统一单位为米;

2、模型导入中的规范:

    2.0 模型使用的材质,首先在 3d Max 和 Maya 中,不是所有的材质在 Unity3d 中都可以支持使用,只有 Standard(标准材质)和 Multi/Sub-Object(多维/子物体材质)被 Unity3d 软件所支持。

    2.1 模型贴图格式和尺寸:常用的图片格式是 .tga 和  .png (带透明通道) 、不带通道为 .jpg ,贴图的尺寸最好为 2 的 N 次方,最大的贴图尺寸不能超过 1024X1024 ,当然特定的要求,尺寸可以根据具体的需求而定。

    2.2 模型贴图其他注意点:

          2.2.0 贴图命名不要有中文字命名,并且不能有重名;

          2.2.1 材质命名和物体名称最好保持一致,易于整理,材质球的父子层级的命名尽可能一致;

          2.2.2 同种贴图可以使用同一个材质球;

          2.2.3 带Alpha 通道贴图图片格式最好为 tga 和 png 格式,在命名可以加 _al 加以区分;

          2.2.4 模型需要通过通道处理时,在制作通道纹理,最好将透明部分改成模型的主色,这样渲染可以使有效边缘部分大颜色正确,通道纹理在程序渲染占用的资源同尺寸大普通纹理要多,通道命名也最好以 _al 结尾;

    2.3 Unity资源导入:

    对于游戏中资源导入可以导入图片,网格等,Project 面板右键( Import New Asset )。

          2.3.0 图片设置:

          TextureType:贴图类型。

          AlphafromGrayscal :使用灰度创建 Alpha,当需要unity为贴图创建一条 alpha 通道,使用它转换得到的灰度值来渲染透明度,可以开启它。

          WrapMode:所谓的包裹模式,决定贴图会无限次平铺还是只绘制一次。Repeat 就是重复平铺。Clamp 会让贴图的边缘拉升并在改变大小时候填满任何缝隙。

          FilterMode:所谓的图像过滤模式,在拉伸时候对贴图过滤,比如 [Point] 点过滤,在很近看贴图时候,可能感觉不均。Bilinear 它会时近看贴图显得模糊。Trilinear 它会在不同 mipmap 层次之间模糊。

          AnisoLevel:设置各项异性过滤器的级别,同属的可以理解为当你从一个比较陡的角度来看,贴图现实的可以有多细腻,渲染的等级越高,越占内存。想要确定贴图页面会占用多大内存,可以长X宽,再乘以他的位深度 [bpp,每像素位数] ,如果贴图包含 mipmap ,还需要扩大 1.33 倍。

          2.3.1 网格设置:

          网格就是那些 Maya ,C4D,3DSMAX,C3D,LW 等软件导出的文件。比如导入一个 .fbx 文件。选中后,在Inspector面板中,我们能看到下面的属性:

          ScaleFactor:缩放系数,使用这个属性在导入资源后设置其大小,调整资源在场景现实过大,或者过小的问题。

          MeshCompression:网格压缩的比例( Off,Low,Medium,High )不可否认,压缩时可以节约内存的。

          OptimizeMesh:为提高 GPU 性能记录网格顶点和索引。

           GenerateColliders:是否在场景中让网格对象具有碰状体表现,通俗的说就是实心的,不可以穿体而过。

          SwapUVs:交换 UV ,当你导入一个网格对象时候,着色器可能会使用错误的 UV 通道,如果发现资源异常(比如带光照图时候),可以选中这个复选框。

          Generate Lightmap UVs:为UV2生成光照贴图。

          Normals&Tangents:该项设置计算法线切线

          Normals:计算法线,import 表示使用导入的网格法线,Calculate 表示从新计算网格法线。

          Tangents:计算切线,import 表示使用导入的网格切线,Calculate 表示从新计算切线。

          Smoothing angle:法线平滑角度,告诉引擎在角度值为多少时候把一个边缘视为硬边缘。

          Split Tangents:是否分离切线,如果模型在场景渲染后现实 UV 缝隙,要开启它。

          Materials:

          Import Materials:是否导入材质,默认选中。

          Material Naming:材质名字生成模式。

          Material Search:材质搜索方案。

3、模型在制作软件中具体设置:

    3.0 贴图烘培设置:在进行Completemap 烘培方式,贴图通道和物体 UV 坐标通道必须为1 通道。

    3.1 lightingMap 烘培设置时,和 completemap 设置有些不同,贴图通道和物体 UV 坐标必须为 3 通道,烘培时灯光的阴影方式为 adv.raytraced 高级光线跟踪阴影,背景色要改白色,可以避免黑边的情况,主要物件的贴图 UV 必须手动展开;

    3.2 模型绑定及动画

          3.2.0 骨骼必须为 IK 、CAT、BIP 三类,Unity 不认虚拟动画,单个物体骨骼数量不超过 60 个;

          3.2.1 动画帧率、帧数的控制,一般情况下每秒 10 帧,一个动画尽量控制 1 秒内完成;

    3.3 模型导出

          3.3.0 将烘培材质改为标准材质球,通道为 1 ,自发光 100% ;

          3.3.1 合并顶点,删除多余的材质球(不重要贴图缩小);

          3.3.2 物体名称、材质球名、贴图名保持一致;

          3.3.3 按要求导出的 .fbx (检查是否要按组导出,导出 fbx 后,再重新导入 3D Max/Maya 中动画是否正确) 

             .....

    上面虽然没有图片的展示,但是属于实践中的文字总结,希望能帮助到小伙伴们。

原文链接:https://connect.unity.com/p/unity3d-shi-yong-ji-qiao-kuai-su-xue-hui-mo-xing-he-li-dao-ru-unity3d-yin-qing?app=true

欢迎大家戳上方原文链接,下载Unity官方技术社区app,在线技术答疑,发现更多干货~

2018-09-14 14:51:20 luoyikun 阅读数 291
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    348 人正在学习 去看看 洪青霞

这里写图片描述
这里写图片描述
unity3d:背景根据字缩放,往一个方向

2016-08-11 13:41:23 ios_song 阅读数 1529
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    348 人正在学习 去看看 洪青霞

【uGUI】基本布局_Unity3d 开发技术

  本节我们来学习如何相对 Canvas 和其他元素来布局我们的 UI。我们可以先创建一个 Image 用来测试,在 GameObject 菜单中选择 UI -> Image 来创建。

Rect 工具

  每个 UI 元素都会用一个矩形表示,这样方便布局。在工具栏中选择 Rect 工具之后,我们就能在 Scene 视图中操作这个矩形。Rect 工具既能用于 Unity 中的 2D 物体和 UI 系统,对 3D 物体也同样能够使用。

 

选择工具栏中的 Rect 工具

  Rect 工具能够移动、缩放、旋转 UI 元素。一旦选择了一个 UI 元素,我们就可以点击矩形内任意位置进行拖拽,来移动 UI 元素。我们也可以点击并拖动矩形的边界或者四个角,来调整元素的大小。把鼠标停留在稍微远离矩形的四个角的位置,鼠标光标会变成一个旋转的图标,然后我们可以单击并拖拽,进行任意方向上的旋转。

  和其他工具一样,Rect 工具需要使用当前元素的中心点和局部坐标,我们需要在工具栏中进行设置。当我们需要对 UI 进行操作时,最好先设置成 Pivot Local

在工具栏中设置 Pivot 和 Local

 

RectTransform 组件

  RectTransform 是一个新的 Transform 组件,它用于所有的 UI 元素,和常规的 Transform 组件不一样。


RectTransform 组件

  RectTransform 拥有常规 Transform 中的 PositionRotation Scale 属性,也拥有一个 Width Height 属性,用于确定矩形的大小。

1、调整尺寸或比例

  当我们使用 Rect 工具改变对象大小时,对于 2D 精灵和 3D 对象来说,会改变对象的 LocalScale,但是当它用于一个 RectTransform 对象时,会直接改变宽度和高度,保持 LocalScale 不变。这样就不会影响字体大小、Sliced 图片的边界等。

2、Pivot - 枢轴点

  Pivot 的位置会影响旋转、大小调整和缩放的效果。当我们在工具栏中设置为了 Pivot 模式时,就可以在 Scene 视图中移动 RectTransform Pivot


绕 Pivot 旋转

3、Anchors - 锚点

  RectTransform 引入了锚点这个布局概念。锚点在 Scene 视图中显示为四个小三角形手柄,并且锚点的信息会在 Inspector 视图中显示。

  如果 RectTransform 的父对象也是一个 RectTransform,子对象可以以各种方式锚定到父对象。例如,将子对象锚定到父对象的中心,或者某个角。


UI 元素的锚点设置在父对象的中心之后,该元素距离中心保持固定的偏移量


UI 元素锚定到父对象的右下角,该元素距离父对象的右下角保持固定的偏移量

  锚定了之后,子对象也可以随着父对象宽高的变化一起伸缩。矩形的每个角到对应的锚点都有固定偏移量,也就是说,矩形的左上角到左上方锚点的偏移量是固定的。这样,矩形的不同角就能够锚定在父矩形中的不同点。


UI 元素左边的角锚定在父对象的左下角,右边的角锚定在父对象的右下角,该元素的每个角到各自的锚点都是固定的距离

  锚点在父矩形宽高方向上的位置定义出了一个百分比,0% 对应左侧或底部,50% 对应中间,100% 对应右侧或顶部。但锚点并不只限定于两边或中间,它们可以锚定在父矩形内任意一点。


UI 元素将左侧顶点锚定到距离父对象左边某个百分点,右侧顶点锚定到距离父对象右边某个百分点

  我们可以分别拖动每一个锚点,或者,如果它们在一起的话,我们可以点击并拖拽它们的中间整体移动他们。如果我们拖拽锚点的同时按下 Shift 键,UI 元素矩形上相应的角会一起移动。

  锚点另外一个方便的功能就是,他能够和 UI 元素同级的矩形锚点自动对齐,方便精确定位。

4、Anchor Presets - 预设锚点

  Inspector 视图中,我们可以点击 RectTransform 组件左上角的预设锚点按钮打开预设锚点。里面包含了一些最常用的锚点选项,我们可以选择一个快速设置锚点。我们可以将锚点设置到父对象的边上或者中心,或者随着父对象的大小变化进行伸缩。可以分别设定水平方向和垂直方向的锚点。


预设锚点

  预设锚点面板会显示当前所选的锚点预设值,如果当前的锚点设置在面板中存在的话。如果锚点在水平轴和垂直轴上的位置同预设位置都不一样,会显示为自定义锚点。

5、Inspector 视图中的锚点和位置属性

  Inspector 视图中我们能够找到锚点的属性设置,如果没有的话,点击 Anchor 前的扩展箭头展开属性。Min 属性对应的是场景视图中锚点的左下方,Max 属性对应的是右上方。

  Position 属性的显示会根据锚点位置的不同而发生变化,如果锚点都在一块会产生固定的宽度或高度,如果锚点分开会使矩形随父矩形一起伸缩。


RectTransform 组件

  当所有的锚点在一起时,会显示 PosXPosYWidth Height 属性。PosX PosY 的值是 Pivot 相对于锚点的位置。

  当锚点分开时,属性会有一部分变为 LeftRightTop Bottom,这些属性根据锚点定义出矩形的大小和位置。锚点被水平分离时会出现 Left Right 属性,垂直分离时会出现 Top Bottom 属性。

  需要注意的是,改变 Anchor Pivot 属性的值通常将反向调整 Position 的属性值,这样能够使矩形停留在原本的位置上来改变锚点或 Pivot。如果我们希望在改变属性值的时候矩形也会同步发生变化,那么我们可以选择 Raw 模式(选中右边的 R 按钮),在 Raw 模式下会使锚点和 Pivot 的值在改变时不会改变其他属性的值,而是会使矩形本身的位置和大小发生变化。

2014-11-26 17:40:31 jingjingcrystal 阅读数 498
  • 丑小鸭历险记——趣味玩转unity2d游戏开发(下)

    故事简介 丑小鸭生来就很丑,谁都不喜欢它,从小被其他鸭子欺负。它无奈离开了妈妈,拿上一把猎枪,独自流浪,风餐露宿。每当遇到各种怪物而子弹不够用时,丑小鸭只能通过自己的血肉之躯踩死怪物。路上只能靠水果和蔬菜维持体力,无聊时也能抬头数星星。翻山越岭,逢水架桥,勇闯空中栈道和独木桥,踩过蹦床,躲过电锯,钻过加农炮,坐过火箭,穿过枪林弹雨,在极度艰苦的条件下大战终极BOSS。最终,丑小鸭占领了一座豪华城堡,里面住着它心仪的白富美(其实也是个丑小鸭),它在夜色降临之前,轻轻关上门,打开灯,结束了流浪生涯,此时天空绽放绚烂的烟花,拉开幸福生活的序幕...... 这个故事告诉我们:只要你肯奋斗,我命由我不由天 时长 课程分为上下两部,共64节课(21.1小时) 其中,上部29节课(8.5小时),下部35节课(12.6小时) 课程特色 * 对初学者友好,初次遇到新技术会详细讲解 * 全程直播,坚决不在直播外偷偷修改 * 展示所有细节,手把手教学 * 游戏元素完整丰富,共3张地图18个关卡 * 代码和文档开源,github托管地址 https://github.com/sailings/DuckAdventure * 完善的售后支持 涵盖实战中常用的知识点 * Physics,刚体,碰撞,弹簧体 * Mecanim,动画状态机,动画融合,动画层 * Animation,动画编辑与录制 * 单例模式 * 协程 * Dotween * 粒子特效 * 射线检测 * 键盘和移动端输入 * Cinemachine相机跟随,Confiner扩展 * UGUI常见控件,HUD * 屏幕自适应 * 地图与关卡解锁 * 关卡滑动 * 背景滚动 * 子弹轨迹计算 * 音效管理 * 场景编辑 * 数据及上下文存储 大纲 丑小鸭历险记——趣味玩转unity2d游戏开发(下)   1.背景设置原理解析 2.背景设置以及云彩,山,树的滚动 3.游戏状态菜单 4.暂停、恢复、重新开始 5.主菜单的状态切换,地图选择 6.地图解锁 7.关卡列表展示 8.关卡列表左右滑动 9.关卡进入,解锁,关卡的最佳成绩设置 10.通关界面UI设计以及显示 11.通关界面的数值更新、加载下一关 12.通关界面动画效果 13.移动端输入控制 14.音效(上) 15.音效(下) 16.场景整理与规划,总分计算,地形编辑 17.关卡W1-1(丛林) 18.关卡W1-2 19.关卡W1-3 20.关卡W1-4 21.关卡W1-5 22.关卡W1-6 23.关卡W1-7 24.关卡W1-8 25.关卡W1-9 26.关卡W1-10 27.关卡W1-11 28.关卡W1-12 29.关卡W2-1(荒漠) 30.关卡W2-2 31.关卡W2-3 32.关卡W3-1(冰雪) 33.关卡W3-2 34.关卡W3-3 35.游戏打包、课程总结

    348 人正在学习 去看看 洪青霞
unityunity3d,unity教程,更多更精彩的unity3d知识在这里哦
1:定义1个含有6个元素的一维数组(1,1/3,1/5,1/7,1/9,1/11),求和
     思路:这道题有两种方法可以解
              (1)首先定义一组数组,静态数组和动态数组都可以;然后定义和sum为double类型;然后循环数组元素,定义sum的求和公式;最后输出sum。
                 
                (2)首先定义一组数组,静态数组和动态数组都可以;然后定义和sum为double类型;然后循环数组元素,定义sum的求和公式;最后输出sum。
                   
2:输入一个含有10个元素的一维数组,求和和平均数值。
     思路:先定义和和平均值,和为整数,所以为整型,平均值可能有小数,所以为浮点型;然后定义一维数组;然后为了方便输入数组,所以要用引用类型,来实现一串字符的输入;然后输出和和平均值。
             
更多精彩内容请关注:http://www.gopedu.com/

声控Unity3D动画

阅读数 48

没有更多推荐了,返回首页