当前位置: 首页 > news >正文

盘锦网站建设高端网站优化公司

盘锦网站建设,高端网站优化公司,用Java或ssm做网站有什么区别,网站做装修效果图文章目录 前言一、排序图层二、sorting Group的使用三、树木排序设计方法一 代码控制方法二 拆分图片方法三 透视排序1. 普通物品排序2. TileMap瓦片排序设计 完结 前言 unity的排序问题其实之前分享的项目多多少少都有提到一点,但是没有单独拿出来说,所…

文章目录

  • 前言
  • 一、排序图层
  • 二、sorting Group的使用
  • 三、树木排序设计
    • 方法一 代码控制
    • 方法二 拆分图片
    • 方法三 透视排序
      • 1. 普通物品排序
      • 2. TileMap瓦片排序设计
  • 完结

前言

unity的排序问题其实之前分享的项目多多少少都有提到一点,但是没有单独拿出来说,所以这次特地做一次整理

本文主要解决几个问题:

  • 排序图层的作用?
  • sorting Group排序组的使用?
  • 树木排序问题,我们希望实现人物走到树前,人物遮挡树木,当人物走到树后,树又遮挡玩家

一、排序图层

排序图层应该是我们用的最多的,也是最简单的了
修改对应的排序图层或者图层顺序即可,图层顺序越大越靠前
在这里插入图片描述

二、sorting Group的使用

排序组通常用于解决一个物体由多个部分组合而成,比如多部位组成的角色,你可以简单的理解sorting Group就是把一个物品看作一个整体来排序,无论如何修改他的内部排序,都不会影响整体的sorting Group排序

比如在以下示例中,按照您希望角色的不同部分的出现顺序对这些部分进行排序。
在这里插入图片描述
配置排序组和排序图层之后,可以将角色另存为预制件,并根据需要进行多次克隆。

但是,预制件精灵全部具有相同的 Sorting Layer 和 Order in Layer 值,并且与其他预制件一起渲染到相同图层,这可能导致一个预制件角色的不同部分错误地相交和分层。
在这里插入图片描述
为了确保预制件的渲染顺序一致以便正确显示,请将 Sorting Group 组件添加到每个预制件的根游戏对象。并配置整体的Order in Layer排序
在这里插入图片描述

三、树木排序设计

我们希望实现人物走到树前,人物遮挡树木,当人物走到树后,树又遮挡玩家

如果我们直接修改图层排序方式肯定是不行的,玩家要么直接被遮挡,要么直接遮挡树木

方法一 代码控制

当然你可以通过代码的方式,动态的修改人物图层排序值

如果我们正常直接添加一些资源物体,会发现排序变得很乱
在这里插入图片描述
我们可以通过脚本来控制资源的排序,大致逻辑就是按物体的y轴来控制排序

using UnityEngine;public class SpritePositionSortingOrder : MonoBehaviour
{[SerializeField] private bool runOnce; // 是否只运行一次[SerializeField] private float positionOffsetY; // Y轴位置偏移量private SpriteRenderer spriteRenderer;private void Awake(){spriteRenderer = GetComponent<SpriteRenderer>(); // 获取当前对象的SpriteRenderer组件}private void LateUpdate(){float precisionMultiplier = 5f; // 精度乘数,可以根据需要调整// 根据当前对象的位置和Y轴偏移量计算出sortingOrder值,并将其赋给SpriteRenderer组件的sortingOrder属性spriteRenderer.sortingOrder = (int)(-(transform.position.y + positionOffsetY) * precisionMultiplier);if (runOnce){Destroy(this); // 如果设置了只运行一次,就在完成一次排序后销毁脚本组件}}
}

效果
在这里插入图片描述
显然这太麻烦了

方法二 拆分图片

最简单的方法就是将树叶和树根分开,树叶图层排序比人物高,树根图层排序比人物低,当然这样绘制会比较麻烦一些
在这里插入图片描述

效果
在这里插入图片描述

方法三 透视排序

使用透视排序。也就是“伪造”透视图。根据直觉,玩家希望角色在立方体前面时首先绘制角色,而角色在立方体后面时最后绘制角色。

如果用更技术性的语言来说,你需要做的是指示 Unity 根据游戏对象的 y 坐标来绘制游戏对象。屏幕上位置较低的游戏对象(y 坐标较小)应在屏幕上位置较高的游戏对象(y 坐标较大)之后绘制。这样将使位置较低的对象显示在上层。

要指示 Unity 根据游戏对象的 y 坐标来绘制游戏对象,请执行以下操作

选择 Edit > Project Settings。

在左侧类别菜单中,单击 Graphics

在 Camera Settings 中,找到 Transparency Sort Mode (透明度排序模式)字段。此字段决定了精灵的绘制顺序。使用下拉菜单将此设置从 Default 更改为 Custom Axis(自定义轴),修改Transparency Sort Axis(透明排序轴)为(0,1,0),告诉Unity y轴绘制精灵

在这里插入图片描述

1. 普通物品排序

找到树木的 Sprite Sort Point (Sprite 排序点)字段。目前,此字段设置为 Center,这意味着会使用精灵的中心点来决定这个游戏对象应该在另一个游戏对象的前面还是后面。将 Sprite Sort Point (Sprite 排序点)更改为 Pivot(轴心)
注意:记得树木图层排序顺序要和主角人物设置为一样

修改树木图片的轴心位置到树木根部
在这里插入图片描述

这样就实现了人物在树木轴心下面,先绘制树木,人物在轴心以上,先绘制角色
在这里插入图片描述

2. TileMap瓦片排序设计

在最右边的Tilemap Renderer:将Mode设置为Individual
在这里插入图片描述
把对应图片的轴心放在底部
在这里插入图片描述
为了使其更加准确,我们可以更改角色的轴心位置也在底部
在这里插入图片描述
并修改角色的精灵排序点为轴心
在这里插入图片描述
效果,可以看到,角色在栅栏上角色在后,角色在栅栏前角色在前
在这里插入图片描述

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,以便我第一时间收到反馈,你的每一次支持都是我不断创作的最大动力。点赞越多,更新越快哦!当然,如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,出于兴趣爱好,于是最近才开始自习unity。如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我可能也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

http://www.dinnco.com/news/66482.html

相关文章:

  • b2c网站是什么成人技能培训班有哪些
  • web开发是网站开发吗哪里可以学企业管理培训
  • 个体工商户怎么做网站seo发包排名软件
  • 网站年费如何做会计分录百度指数数据分析报告
  • 网站制作教程设计院四川seo多少钱
  • 无锡新吴区建设环保局网站阿拉善盟seo
  • it运维是什么意思宁波seo企业网络推广
  • 一般做网站都在什么网做搜索百度网址网页
  • 做网站以后的趋势中国营销传播网
  • wps文字可以做网站吗网站运营指标
  • wordpress安装后后台无cssseo搜索排名优化方法
  • 百度推广开户多少钱一个月北京seo网络优化师
  • 宁夏网站设计百度人工智能开放平台
  • 网站制作引擎小红书推广方式
  • 手机网站制作系统上热门最火标题
  • 上海造价信息网河北搜索引擎优化
  • 做红酒知名网站阿里云域名注册
  • 动态网站实训总结爱站工具包官网下载
  • wordpress禁用评论seo薪酬水平
  • 企业网站建设进什么科目核算长沙百度快速优化排名
  • php 网站调试好看的html网页
  • 北京企业建网站苏州百度关键词优化
  • 为什么别的电脑能打开的网站我的电脑打不开黑帽seo之搜索引擎
  • 广州网站优化快速提升网站排名百度查重工具
  • 广州手机网站建设公司哪家好最常见企业网站公司有哪些
  • 素材网站推荐手机免费建站app
  • 如何做阿里巴巴的网站少儿编程
  • 专业做包装的电商网站长春网站关键词排名
  • 网站做贷款许可证老客外链
  • 企业网站建设一条龙服务内容今日头条热搜榜前十名