使用Unity制作“饥荒”风格的俯视角2.5D游戏

作者: 奥飒姆_Awesome分类: 野生技能协会 发布时间: 2021-01-27 12:23:01 浏览:227770 次

使用Unity制作“饥荒”风格的俯视角2.5D游戏

别离或雪:
找老好久2.5如何实现,终于发现了[大哭]

【回复】饥荒那种视角的关键还是up在10:00开始讲的“让物体保持朝向摄像机”的技术,一般又叫广告牌(billboard)
【回复】回复 @幽暗城没有欢笑 :和广告牌有一点区别,广告牌是直接朝向摄像机的,视频里是相当于朝向摄像机所在的平面[牛年]
【回复】回复 @奥飒姆 :有透视和没透视的区别?
阿斯弗Ultra:
我觉得你能火 先入个股 以后我也是老粉丝了[热词系列_妙啊]

【回复】回复 @奥飒姆_Awesome :老粉+1
【回复】回复 @奥飒姆 :老粉丝+1[脱单doge]
平胸奈奈子:
视频里那个transform.right+transform.up没有看明白,UP能简单解释一下吗~原谅我文科生不学高数,对向量的部分一窍不通

【回复】相机的观察角度变了但是人物还是按照标准的速度在移动,所以人物的速度也得“旋转”一下,人物也是跟着相机旋转的,所以乘上自身的坐标系就可以达到旋转速度的效果了
【回复】两个圆圆的东西我先放到这里了,谢谢UP
账号已注销:
请问up可以出一期随机地图的制作方法嘛!?谢谢up[给心心]

【回复】我觉得可以,下回试着做一下[脱单doge]
【回复】M_Studio这个麦扣有 我tm直接看懵!
【回复】回复 @奥飒姆 :哦豁 多谢大佬!
积分君今天没有写bug:
讲的很棒很精炼。点赞。 想请教一下,我理解实现思路是把sprite倾斜着正对摄像机,那人物还会正常的碰撞么? 比如在2d场景,player左边有一棵树,玩家往左边走的时候,会碰撞到树。现在变成2.5d之后,玩家往左边走还能碰撞到树么?

【回复】会撞,只是改变视角,不改变碰撞器
bili_3839532402:
在携程中每次new同一个变量WaitForFixedUpdate并不是太合适,会产生不必要的内存垃圾,我更推荐使用下面的方法[藏狐] WaitForFixedUpdate delay = new WaitForFixedUpdate(); while(!isComplete) { yield return delay; }

-子何:
为什么我在运动的时候他没有执行相应的动画 一直在执行向后走的动画 [大哭][大哭][大哭][大哭][大哭][大哭]

【回复】这个视频不适合零基础人学习,很多步骤都跳过了,对于有点Unity基础的人,也出现这个问题,调了半天没找到问题。动画出问题,就从动画器入手。视频里的动画器做的idle静止动画,视频里没有展示,是另外的4个静止动画,需要重新做idle上下左右的静止动画,放到动画器idle上下左右里就可以了。
【回复】9:03这里传给动画器的“InputX”要与之前动画器设置的参数一致,看是“InputX”还是“inputX”,否则动画器的参数一直没变,(0,0)一直默认执行第一个动画
山鸟与鱼不同蕗:
希望up能出一期视频讲讲怎么在Visual Studio上写c语言并且能够输入输出 我一直都弄不好[大哭][大哭][大哭]

【回复】这个网上很多教程,不用特意找我吧[笑哭]
【回复】很简单的 你需要在vs下载里边的c语言插件
质鸢:
为啥我世界上的物体会跟着摄像机一起运动

【回复】我也是,我动的时候,树子也会小幅度地跟着挪动
【回复】回复 @废材蜘蛛 :解决了,你需要在assets里把素材放进场景中,而不是创建精灵加图片,不然地图和素材不在一个平面
【回复】回复 @白天么么哒晚上哈哈哈 : 精灵随着相机的移动的问题解决了,在Assets里,把素材Sprite mode = Single 的Pivot 改成Bottom,素材Sprite mode = Multiple 的 去 Sprite Editor 里把 Pivot 改成 Bottom Center
方为鲲上堃:
绘制地图那里这么快是生怕我学会吗😂

【回复】你搜,unity tile绘制2d地图,那边有详细教程
CircularSheep:
大佬 如果 是建筑 和 房子 那种 如果旋转镜头 会有一种违和感,那要怎么处理呢,还是只能老实的换3D了吗[笑哭]

【回复】这种应该不适合太大的场景物体
【回复】地面上来个长方形大房子。这种伪3D就原形毕露了。
苦竹夭009:
大佬,请教一下,这种摄像头下如何通过屏幕获取世界坐标,ScreenToWorldPoint

【回复】回复 @奥飒姆 :Camera.ScreenPointToRay当时我测试了很多代码,这个好像比那个代码好一点,但是由于我们是45度看下去,因此就会偏差摄像头的高度。一般是10,坐标加减10就是正确坐标了,但是我门又加入了旋转摄像头,旋转后加减值又变化
【回复】回复 @奥飒姆 :有空我测试一下,要添加是指什么需要添加3d碰撞体?如果我是要转化鼠标位置呢?
【回复】回复 @杀夭人匕十 :也可以用Camera.ScreenPointToRay,用射线获取接触点位置,不过要添加3d的碰撞体
鸭灭骡Amuro:
大佬,请问一下,如果在瓦片地图下实现多种条件通过的地块,什么做法比较好呢,我个人一开始用的tilemap collider,然后重叠盒来识别碰撞器所属tile的tag,可是这个tilemap collider经常出现错误,每次都需要手动取消再重启,考虑到未来可拓展,并不打算每个地块都手拉碰撞,您怎么看

【回复】回复 @奥飒姆 :嗯嗯,现在用的就是层级检测,然后按块找碰撞,是我之前检测圈的位置画错了,坐标没换算——因为是相对于角色坐标的,我忘了一开始我就调整了精灵中心点。不过还是觉得自己2d上实现3d的纵深好吃力啊,好多次都在想是不是走3d会比较好,用正交摄像头和简单的面片+几何碰撞体
【回复】不知道具体是什么错误,换成层级检测会不会好一点呢

知识分享官 视频教程 UNITY 游戏开发 UNITY3D 教程 编程 野生技术协会 经验分享 制作过程

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!