Unity | 渡鸦避难所-2 | 搭建场景并添加碰撞器

1 规范项目结构

上期中在导入一系列的商店资源包后,Assets 目录已经变的混乱不堪

开发过程中,随着资源不断更新,遵循一定的项目结构和设计规范是非常必要的。这可以增加项目的可读性、维护性、扩展性以及提高团队协作效率

这里先做下简单的目录结构调整:资源包放入 ArtRes 目录,根据业务模块名称创建 Shelter 目录,在该目录下创建 Scenes、Scripts 等目录,分别存放对应的资源

2 场景搭建

1 创建场景并放置资源

在 Shelter/Scenes 下新建场景,将 ArtRes/Pure Poly/Free Low Poly Nature Pack/Scenes/Demo_01 场景中的 Free_Forest 对象复制到业务场景中

在场景中观察到,地形的 X 轴正方向与 Unity 中 X 轴正方向相反,这里可以将地形的根对象沿 Y 轴旋转180度

拖入角色的预制体,放置到地形入口处。考虑到模型需要增加刚体、血条等各种状态,为了便于控制,在 Hierarchy 中选中对象 > 右键 > Create Empty Parent,命名为 PlayerController

2 添加碰撞器

最终目标是控制角色在森林中行走,但由于碳基生物的设定,角色并不能无视石头、树木等障碍物。因此需要给角色和障碍物增加碰撞器

常见的碰撞器中,符合人体形状的,非胶囊碰撞器莫属,添加胶囊碰撞器后,调整尺寸以贴合模型:

障碍物在资源包导入时,已经添加了网格碰撞器:

可以看到 Mesh Collider 中 勾选了 Convex 属性

启用该选项后,Unity 会将网格模型简化为一个凸包(Convex Hull)。凸包是一个包含所有网格顶点的最小凸多面体。凸形状的碰撞检测计算比非凸形状的计算要快得多,所以可以提高游戏的性能

但凸包可能无法完全匹配原始网格模型的形状,特别是对于那些有凹面的模型,凸包可能会大大简化它们的形状。如果需要更精确的碰撞检测,应该将 Convex 属性设置为 false

当 Convex 属性被设置为 true 时,Mesh Collider 可以与其他类型的碰撞器(包括其他的 Mesh Collider)进行碰撞检测。但是当 Convex 属性被设置为 false 时,Mesh Collider 只能与简单的碰撞器(如 Box Collider、Sphere Collider 等)进行碰撞检测,不能与其他的 Mesh Collider 进行碰撞检测

当两个对象碰撞时,可能会发生许多不同的脚本事件,具体取决于碰撞对象的刚体配置

以下图表详细列出了根据附加到对象的组件来调用的事件函数。某些组合仅会使两个对象之中的一个对象受到碰撞的影响,但一般规则是物理特性不会应用于没有附加刚体组件的对象

因此,为了能够让角色和障碍物发生碰撞,还需要为其添加刚体:

3 调整摄像机位置

简单调整下摄像机的位置和角度,让角色保持在视野中心

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/241103.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【BigDecimal类—常用API系列】解决java浮点计算精度损失问题

文章目录 Java浮点计算精度损失问题BigDecimal进行精确运算的解决方案 Java浮点计算精度损失问题 BigDecimal它是干什么用的呢?什么是java浮点计算精度损失问题?我们先看一段代码,看这个代码有什么问题?再说BigDeimal这个类是干什…

【机器学习】亚马逊云科技基础知识:以推荐系统为例。你知道机器学习的关键所在么?| 机器学习管道的各个阶段及工作:以Amazon呼叫中心转接问题为例讲解

有的时候,暂时的失利比暂时胜利要好得多。 ————经典网剧《mao pian》,邵半仙儿 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客之星人工智能领域TOP

深入了解—C++11特性

目录 一、 C11简介 二、初始化列表 2.1 C98中{}的初始化问题 2.2 内置类型的列表初始化 2.3 自定义类型的列表初始化 2.3.1. 标准库支持单个对象的列表初始化 2.3.2. 多个对象的列表初始化 三、变量类型推导 3.1 为什么需要类型推导 3.2 decltype类型推导 3.2.1. 推…

方法-PC端远程调试分布式训练

本专栏为深度学习的一些技巧,方法和实验测试,偏向于实际应用,后续不断更新,感兴趣童鞋可关,方便后续推送 简介 一些简单的代码我们使用Pycharm本地调试就能运行成功,但在诸如使用GPU进行分布式训练和推断等场景中,由于我们本地的电脑没有GPU或者没有多…

慢SQL的治理经验

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、慢SQL导致的后果 二、可能导致慢SQL的原因 三、如何发现慢SQL 3.1 JVM Sandbox 四、识别高危SQL 4.1 阿里的重点强制SQL规…

docker容器-compose单机容器编排

yaml文件:是一种标记语言,以竖列的形式展示序列化的数据格式,可读性高 类似于json格式,语法简单 yaml通过缩进来表示数据结构,连续的项目用-减号来表示 yaml文件使用的注意事项 1、大小写敏感 2、通过缩进表示层级…

VUE3语法--toRefs与toRef用法

1、功能概述 ref和reactive能够定义响应式的数据,当我们通过reactive定义了一个对象或者数组数据的时候,如果我们只希望这个对象或者数组中指定的数据响应,其他的不响应。这个时候我们就可以使用toRefs和toRef实现局部数据的响应。 toRefs是…

AntDB数据库致力降本增效的某省高速清分结算实践——优势总结和推广意义

中国正处于数字化转型的关键时期,高速公路正朝着智慧高速的建设迈进。不论是传统的传统高速卡口,诸如“数据采集、数据上传”和“数据处理”的基础建设1.0时代,还是不久将来即将实现的具备“车辆协同智能”、“边缘控制中心”及“智慧高速云控…

vue+element项目中页面多个接口异常,只提示一次异常信息

有时候一个页面会同时调多个接口,但是多个接口异常,需要做提示,那么提示的时候会弹出很多的提示信息,这无疑让体验感降低很多。 所以针对这种情况,我们配合element UI统一做一个异常状态的处理,只能显示一…

MATLAB实现图像变换和滤波

MATLAB实现图像变换和滤波方法对具有不同特征的灰度图像进行处理 图像变换方法包括:DFT及IDFT,DCT及IDCT 图像滤波方法包括低通滤波和高通滤波 图像变换 DFT/IDFT 图像一般是二维的,根据二维离散傅里叶变换公式DFT,可以将图片…

多线程案例-定时器(附完整代码)

定时器是什么 定时器是软件开发中的一个重要组件.类似于一个"闹钟".达到一个设定的时间之后,就执行某个指定好的代码. 定时器是一种实际开发中非常常用的组件. 比如网络通信种,如果对方500ms内没有返回数据,则断开尝试重连. 比如一个Map,希望里面的某个key在3s之后过…

视频播放插件ckplayer

地址:https://www.ckplayer.com/demo.html 效果图

events.out.tfevents文件信息提取

深度学习训练数据有时候是记录在log文件中,文件名类型为events.out.tfevents.xxx.king,当然这些文件可以通过tensorbord工具可视化,这里提供一些events.out.tfevents文件信息提取的方法。 (1)events.out.tfevents多个文件可视化 …

UniGui使用CSSUniTreeMenu滚动条

有些人反应UniTreeMenu当菜单项目比较多的时候会超出但是没有出滚动条,只需要添加如下CSS 老规矩,unitreemeu的layout的componentcls里添加bbtreemenu,然后在css里添加 .bbtreemenu .x-box-item{ overflow-y: auto; } 然后当内容超出后就会…

反射篇笔记

反射的本质:加载类。 把某个类的字节码文件加载到内存中。并允许以变成的方式解剖类中的各种成分(成员方法,变量,构造器)。 例如在使用IDEA时,他的提示,就是利用反射,提前将类中的…

AMEYA360:海康存储PCIe4.0固态硬盘A4000介绍

海康存储即将发布PCIe4.0固态硬盘新品A4000,搭载全新定制主控及高品质3D NAND闪存颗粒,最大顺序读取速度达7100MB/s,提供五年质保服务。 2022年,海康存储开始在PCIe 4.0固态硬盘领域全面发力,推出C4000 ECO、C4000等多…

将自己的django项目部署到云服务器(腾讯云centos)

最近自己买了个云服务玩,突然就想把自己写的小项目部署到云服务器上,这样就可以实现公网访问了。以下是整个部署过程和遇到的各种问题的解决方案,有想自己部署自己功能的,可以参考着进行哦。 1、设置好腾讯云的远程登录代码 先给…

yarn历史日志_配置文件

yarn历史日志yarn配置文件yarn执行任务 1.3. YARN的历史日志 1.3.1. 历史日志概述 我们在YARN运行MapReduce的程序的时候,任务会被分发到不同的节点,在不同的Container内去执行。如果一个程序执行结束后,我们想去查看这个程序的运行状态呢…

接口芯片选型分析 四通道差分驱动可满足ANSI TIA/EIA-422-B 和ITU V.11 的要求 低功耗,高速率,高ESD

四通道差分驱动可满足ANSI TIA/EIA-422-B 和ITU V.11 的要求 低功耗,高速率,高ESD。 其中GC26L31S可替代AM26LS31/TI,GC26L32S替代AM26LS32/TI,GC26E31S替代TI的AM26LV31E
最新文章