Unity 设置碰撞器之间不碰撞
发表于|更新于|GameEngineUnity
|总字数:190|阅读时长:1分钟|浏览量:
前言
做游戏时,有时候需要让同一个地图的两个敌人不互相碰撞,但是两个人都有碰撞器,能站在地上。这个功能是如何实现的呢?答案就是设置 layer。
正文
当点击 Hierarchy 窗口中的某个对象时,在 Inspector 窗口就可以看见 Layer 选项

你可以修改或创建该对象的 Layer,使得某两个对象的 Layer 相同或不同,比如,我可以设置两个敌人都在 Enemy 的 Layer 中,这时候再进入:Edit->Project Settings…->Physics 2D(3D 项目选择 Physics)可看到如下窗口选项:

只要把 Enemy-Enemy 之间的那个勾取消掉,即可使同在 Enemy 中的对象互不碰撞:

to be continued…
文章作者: Tamsiree
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Tamsiree!
相关推荐

2020-06-06
Unity 宏定义
前言Unity 包含一个称为 Platform Dependent Compilation 的功能。这包含一些预处理器指令,可让您对脚本进行分区,以便为受支持的平台之一专门编译和执行一段代码。 你可以在 Unity 编辑器中运行这个代码,这样你就可以专门为你的目标平台编译代码并在编辑器中测试它! 正文宏123456789101112131415161718192021222324252627UNITY_EDITOR 编辑器调用 UNITY_STANDALONE_OSX 专门为 < span class="function">Mac OS( 包括 Universal,PPC 和 Intelarchitectures)平台的定义。UNITY_DASHBOARD_WIDGET Mac OS Dashboard widget (Mac OS 仪表板小部件 )。UNITY_STANDALONE_WIN Windows 操作系统UNITY_STANDALONE_LINUX Linux 操作系统UNITY_STANDALONE 独立的平台 (Mac,Windows 或 Linux)UNITY_...

2021-12-27
Shader 学习笔记
前言这里是前言介绍。 正文一口气解决 RenderQueue、Ztest、Zwrite、AlphaTest、AlphaBlend 和 Stencil** 知道吗,如果只是想要实现 Xray 效果的话,其实并不难。** 实现上图的效果,原理就是对角色画两次。第一次是被遮挡住的效果(半透明、单色),第二次是正常的效果(为了简化这里使用 unlight 只显示贴图) ** 这两个 pass 最大的区别,在于使用不同的 Ztest(深度测试)。但是这一次我决定不仅仅只写关于 Ztest 的问题。反正我已经决定对抗懒癌晚期,那就干脆一口气把 RenderQueue、Ztest、Zwrite、AlphaTest、AlphaBlend、StencilTest 这些烂七八糟的东西都拎出来写一遍, 因为这些东西有很多地方都是相通的,一起说明白反而省些力气。** ** 不过说实话,这些东西确实是有点麻烦。我尽自己最大的努力去把这些东西说明白。但是鉴于个人能力实在有限,如果有哪里说得不对或者不清楚,还请见谅。** 如上图,现在有三个多边形分别是红色盒子绿色盒子和蓝色盒子,在镜头里红色的盒子在最...

2022-01-17
Unity 自定义 PackageManager 服务器
前言这里是前言介绍。 正文** 本文会实现以下几个需求 ** ** 搭建自己的 PackageManager 服务器 ** 安装 nodejs 安装 npm 部署 verdaccio ** 将自己写的插件发布到 PackageManager 服务器上 ** 配置自己的 Package 注册 Verdaccio 服务器账号 登陆 Verdaccio 服务器 发布 Package 到 Verdaccio 服务器上 ** 让项目可以使用 Verdaccio 服务器上的所有 Package** 修改项目的 manifest.json ** 修改 Unity 编辑器的项目模板,让每个新建的 Unity 项目都可安装自己服务器上的插件 ** 修改 Unity 编辑器项目模板的 mainfest.json 使用 peazip 重新压缩为. tgz 文件 ** 本文需要用到的工具 ** Unity Editor 云服务器 Windows PowerShell PeaZip ** 参...

2020-06-19
AssetBundle
前言这里是前言介绍。 正文AssetBundle 的定义和作用1,AssetBundle 是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载;2,AssetBundle 自身保存着互相的依赖关系;3,压缩包可以使用 LZMA 和 LZ4 压缩算法,减少包大小,更快的进行网络传输;4,把一些可以下载内容放在 AssetBundle 里面,可以减少安装包的大小; 什么是 AssetBundle可以归为两点:1,它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹,里面包含了多个文件。这些文件可以分为两类:serialized file 和 resource files。(序列化文件和源文件)serialized file:资源被打碎放在一个对象中,最后统一被写进一个单独的文件(只有一个)resource files:某些二进制资源(图片、声音)被单独保存,方便快速加载 2,它是一个 AssetBundle 对象,我们可以通过代码从一个特定的压缩包加载出来的对象。这个对象包含了所有我们当初添加到这个压缩包里面的内容,我们可以通...

2020-01-11
Unity 的 Canvas 组件
CanvasCanvas 组件在 Unity UI 系统中表示画布,任何 UI 元素都是基于这一张画布,通过不同的 UI Widget 组合,设计出一个漂亮的 UI。下面我们来认识这一组件。 Render ModeUnity4.6 发布的 New GUI 有三种渲染模式,下面一一介绍: ScreenSpace-Overlay 通常这种模式下,我们不需要相机,也可以讲 UI Widget 渲染在屏幕上面。它好像在我们的摄像机上面添了一层薄薄的膜,也就是说,在这种模式下,当场景中存在其他物体时,首先看到的将是 UI 上面的 Widget。 ScreenSpace-Camera 通常在这种模式下,我们可以使得 3D 场景中的物体夹在摄像机 和 我们的 UI 之间,这样我们可以将场景中的物体,比如一些特效之类的渲染在 UI 的上面,使得画面更炫。当我们设置为 Camera 模式时,我们需要指定一相机,这样 Unity 系统会通过该相机来渲染与之相关的 UI 和场景中的 GameObject. 另外,我们发现相机 和 我们的 Canvas 保存固定的相对位置,当改变 Camera 位置...

2022-11-03
Unity 粒子特效的适配
前言最近在工作中使用粒子特效是发现了两个问题 1. 美术提供的粒子特效没有根据屏幕分辨率自适应调整大小 2. 粒子特效的层级比较奇怪 正文粒子特效自适应在 Unity 编辑器开发中,使用的是 1080*1920 的分辨率,粒子特效大小看起来完美契合。 在打包运行在手机上时,因为手机的分辨率为 1440*2960, 粒子特效就明显大于了 UI 界面。 解决办法: 将粒子特效的 Scaling Mode [缩放模式] ,改为 Hierarchy [跟随父节点缩放]。 注意,改变了缩放模式之后,运行时会发现粒子变得特别小,这是因为 Unity 重置了该粒子特效的大小,只需要重新调整大小即可。 因为我是在 FGUI 的基础上穿插使用粒子特效,因为 FGUI 与 Unity 的比例不一致,比例为 1:100,所以粒子特效需要将缩放比放大 100 倍。 Scaling Mode 为 Local 时不会有 FGUI 的比例问题,但是会有分辨率不适配问题,两害取其轻,所以选用 Hierarchy 模式。 1effect.transform.localScale = Vector3...
评论
公告
只有用心灵才能看得清事物的本质,真正重要的东西是肉眼无法看见的。