Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2208.00元
UGUI_Canvas画布大小设置
homodeus发起了问答2018-12-26
10
回复
11496
浏览

如何设置canvas的width和height的值,之前学siki老师的UGUI时他没设置,我也没在意,就按默认大小做的,图片match的时候都压扁了,今天学校捕鱼达人案例的时候,发现老师的canvas初始大小是1280*720,我的是913*695,设置的区域是灰色的,要怎么设置画布大小

所有回复
  • 老师_Trigger 2018-12-26

    同学你好,在Transform往下看有个组件叫CanvasScaler,然后把UIScaleMode设置为ScaleWithScreenSize,最后把值设置为1024*768就可以了。

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • homodeus 2018-12-26

    设置为ScaleWithScreenSize后设置1280*720,width*height显示为1280*974,而不是1280*,是因为我屏幕的纵横比是固定的,所以确定了width后height就自动确定了吗?如果是,我要怎样设置我要的尺寸?

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 老师_Trigger 2018-12-27

    两个都要去设置的呀,按老师上边这个选中之后,下边有两个方框填上我们想要的比例。

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 老师_Trigger 2018-12-27

    然后游戏game窗口那里也要去设置成1280*720,如果没有可以自己创建一个然后添加上,这样在基础案例里都有哦,同学可以学习一下。

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • homodeus 2018-12-27

    鉴于老师的回答:

    1、在UIScaleMode设置为ScaleWithScreenSize的情况下

    2、1280*720我两个都设置了,canvas的rect transform 就是显示1280*974

    3、下面是Screen Match Mode,设置为Match Width Or Height:根据参考分辨率的高或宽,来缩放UI元素。

    4、再下面是

    (1)Match:  Width缩放参考Width。 此时拉伸Reference Resolution Y是无效的。

    (2)Reference Pixels Per Unity  100   Unity里的1单位大小代表100像素

     鉴于解释,这两个属性都是用来匹配我屏幕的分辨率的,所以无法准确设置为1280*720,因为这不是我屏幕的比例

    5、对于老师的第二条回答,我不是很明白,Game窗口指的是file=>build settings=>player settings=>resolution中的默认screen长宽的话,那我一开始就设置好了,如果不是,那game窗口指的是什么?

    6、canvas在world space模式下是可以随意在rect transform中设置长宽的,但我需要在Screen Space - Camera模式下设置

    7、老师说这些在基础案例中有,我不清楚哪个视频中有讲canvas大小的设置,如果真有还望指出,以下为我看过的UGUI案例,都没有讲过:

    (1)第一阶段:Unity初级案例 - 贪吃蛇(Unity2017.2.0)(其中老师的默认画布就是1280*720)

    (2)第二阶段:UGUI - Unity游戏UI学习教程4点6版本(其中老师说canvas是rect transform,所以大小不可修改,关于canvas的修改现阶段不用关注,怕影响对UGUI的学习)

    (3)第二阶段:UGUI - Unity 5.1强大的UI(其中第一个案例中,老师的canvas为767*669;第二个案例中为1397*949,后面image匹配canvas时,image明显被挤压了,两个案例都未涉及canvas)

    (4)第二阶段:Unity中级案例-铺鱼达人(其中老师的默认画布就是1280*720)

    以上为我学过的UGUI案例,其中都没有涉及到canvas的大小设置,不知道我漏了哪里,望老师指出,并将教学视频告知于我,如果没漏,麻烦老师用unity演示一遍设置,并截图给我,我百度了很多都没有找到解决方案,siki学院的提问系统的提问成本也挺高的,请老师回答的详细点,一次性解决问题,不要让我猜了,感谢

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 老师_Trigger 2018-12-27

    可能是同学没有听过老师的课程,老师初级案例的坦克大战跟消消乐都有说明的哦,很容易的操作,老师上边说的很清楚了:

    第一步:

    第二步:

    如果没有我们想要的分辨率,点上边红圈的加号,添加上我们想要的分辨率即可

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 老师_Trigger 2018-12-27

    加号的内容,

    在width和Hight后边的两个框框上填入我们想要的分辨率,如果是想要比例,那么就把第二行的type换成AspectRatio。根据同学要想要的分辨率那么我们应该填1280*720

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • homodeus 2018-12-28

    首先,感谢老师的回复,我已经解决这个问题了

    其次,很不好意思,我真的没学过老师出的这两个案例教学,因为我按A计划学习路线学习的,目前刚学到第二阶段的捕鱼达人(第16课),而老师的Unity初级案例 - 坦克大战(Unity2017.1)课程则排在了第二阶段的倒数第二课(第24课),至于消消乐的课程则没有出现在学习路线的文档中。

    siki学院的unity教学案例很多,我不想把时间花在挑选课程上,我真是零基础,既然A计划有完整的学习路线,索性就按路线上的学了。不过经历了这次提问,我发现有很多新出的课程是没有加到学习路线中去的,不管是免费的课程还是A计划的内部课程(A计划的内部课程总计37课,其中16课在学习路线中出现,21课还未入册)。

    不过这些都是废话,问题不在siki学院,显然是我学习一个知识后没有及时拓展,而且通往学会游戏开发的路线不止一条。

    在此提供给后来者一点学习的感悟,unity游戏开发看似是一条长达”四个阶段“、3000多个课时的遥遥无期的学习过程,但其实可以拆分为各种小的步骤,不是说按照A计划的学习路线的步骤,总结来应分为两步:

    1、游戏开发的流程(游戏从一无所有到玩家入手)

    2、具体的开发技巧

    第二个步骤又分为两大块:

    1、2D游戏开发

    2、3D游戏开发

    到了第二个步骤就是学习具体的开发技巧了,拿2D游戏来说,要学习各种2D游戏的GUI插件等等,到了这个阶段算是真正的学习开始了;

    如何轻松的学会呢?

    在此我参照斯科特*杨的书《如何高效学习》提出的整体性学习模型来说:

    学习一个技能的过程,无外乎:获取信息,理解信息,拓展信息,纠错,应用;

    如果你学习一个技能不是为了应用(实现目标),那这个过程将会是一个漫长且痛苦的过程,这里说的应用或者说目标,并不是指找个高薪的游戏开发工作之类的外在目标,而是我为什么要学习UGUI,因为我有个想法,我要做一个怎样的游戏;后者是一个内求目标,内丘目标不靠外部刺激给自己奖励,每靠学到的知识完成一点自己要做的游戏就会自发的产生愉悦感,这样的学习会很轻松愉快,而相较于前者,你需要在学会也不一定找得到工作的恐惧支配下学习,两种感觉截然相反。(内求目标和外在目标是《心流》中提出的概念,有兴趣的人可以自行学习)

    上面说,学习一个技能必先有一个内求目标,你会问,不是先从获取信息开始吗?那先得了解整体性学习的内在逻辑,其实是迭代,以学习UGUI为例:

    首先我想做一个2D游戏,我获取了Unity初级案例 - 坦克大战(Unity2017.1)这门课程,我觉得不错准备从这个案例入手,学习理解了一番后,我是直接开始下一个课程愤怒的小鸟吗?这就是我走过的坑了,当然不是,别忘了,你的目标是自己完成一个2D小游戏,可不是我又完成了一个课时的学习我真牛的外在目标。(很多游戏开发者都会走进这个红舞鞋陷阱,这里说的是作品,如王者荣耀,吃鸡,崩坏等等靠外部刺激过活的游戏,当游戏中的刺激逐渐被玩家适应,比如王者荣耀几分钟一次刺激,吃鸡几秒钟一次刺激,那下一个游戏呢,几毫秒吗?那游戏岂不是往神经刺激的生物学上去了,那跟精神鸦片有什么区别?别忘了,游戏从远古流传至今,可不是靠短期刺激。罗胖子说了一句大实话:现代社会的创新,就是用新办法解决老问题)

    此时你应该用自己手上现有的这一点知识,着手开发自己的游戏,在开发过程中你会发现,明明记住的东西忘记了,明明理解的东西模糊了,于是你再回到教学视频中,着重看自己忘记了和模糊了的地方,再回到自己的游戏中,循环往复,以至于这个视频中的知识已经不足以让你的游戏有更多的用处了,然后暂时抛弃这个视频案例,然后呢?愤怒的小鸟?当然不是!

    接下来你要进行拓展,不是因为你好学,而是因为你的游戏中还有很多功能没有实现,于是你做一个横向的拓展,在其他2D游戏中的案例中寻找自己需要的知识,然后重复上个循环,以至于完成了自己的游戏,至此,你就算完成UGUI的学习了。

    但完成了一个2D游戏并不是这次学习的终点,因为你只做了横向的拓展,那纵向的呢?2D游戏跟3D游戏有什么共通之处?他们的实现逻辑本质上是一样的,各种组件运用也是类似的,然后你打开一个3D游戏的学习案例,比如黑暗之光,在学习的过程中不断跟2D游戏的开发做对比,你会发现有些东西跟物理规律一样,在这里和那里都是一样的。

    由此我们发现,学习的路线因人而异,A计划的学习路线就相当于系统的默认主题,要不要换一个主题是由你说了算的,你当前不需要我的电脑,那就删除他的快捷方式就好,当你需要的时候,他就在那里,还是会被你找到,关键在于你要知道自己想做什么。A计划的教学视频不是用来仰视的,它是任你揉搓的,只为让你成就你自己。

    塔勒布说:读书人不能像个追星族一样整天仰望世界,俯视视角才是真的钻研学问

    PS:以此谨记这次UGUI反映出的问题,canvas的设置可不是个老师没有讲过,就代表其他老师没有讲的

     

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 老师_Trigger 2018-12-28

    哈哈,感谢同学实用真诚的分享,加油

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 燃烧的狒狒 2020-03-19

    想问一下如何在Render Mode为Camera的情况下修改画布的width和height 我改了之后一点击image他就变回原样

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!