Unity(第十八部)物理力学,碰撞,触发、关节和材质

news2024/9/21 4:32:49

1、重力

刚体组件

英文中文描述
RigidBody刚体组件physics->rigidbody ,刚体组件使一个物体有了质量,重力等。,use gravity 勾选后,物体才会受到重力,会自动下落,取消勾选就不会。,,is kinematic 表示运动学刚体,此时物体质量为0,就不会受重力的影响。
 1. 质量
 2. 阻力
 3. 角阻力
 4. 使用重力(取消后,只是不受重力影响,阻力等还是受影响的)
 5. Is Kinematic(是运动学的,勾选后,不受物理影响)
 6. 插值(一般不用修改,插值是按照上一帧做插值,外推是按照下一帧做插值)
 7. 碰撞检测(离散的节省性能非连续检测高速物体检测不到,持续和连续动态是相对的快速的物体是连续动态不动的选择持续比较好但是浪费性能,没有翻译的Co...是连续检测性能低于持续和连续高于离散)
 8. Constraints(冻结位置是值某个方向不能运动,冻结旋转同理) 

2、碰撞的产生和监听

在这里插入图片描述

英文中文描述
Mesh Collider网格碰撞器
Sphere Collider球体碰撞器
  1. 碰撞中心(修改了碰撞中心会发生偏移)
  2. 碰撞半径(大了会间隔碰撞,下了会穿透一部分)

碰撞组件实际碰撞发生的是碰撞线框
碰撞条件

  1. 至少有一个物体有刚体组件
  2. 只有物体都有碰撞器的时候才会发生碰撞
//设置一个爆炸的预设体
public gameObject Prefab;
//监听发生碰撞
 private void OnCollisionEnter(Collision collision)
    { 
    	//创建一个新的爆炸物体
    	Instantiate(Prefab, transform.position, Quaternion.identity)
    	//销毁自身(火焰物体) 
		Destroy(gameObject); 
        //碰撞到的物体信息
        Debug.Log(colision.gameObject.name);
        Debug.Log("碰撞发生!");
    }
//持续碰撞中
 private void OnCollisionStay(Collision collision)
    { 
        Debug.Log("持续碰撞中!");
    }
//结束碰撞
 private void OnCollisionExit(Collision collision)
    { 
        Debug.Log("结束碰撞!");
    }

3、触发

触发条件 和碰撞器一样
在这里插入图片描述

  1. 至少有一个物体有刚体组件
  2. 只有物体都有碰撞器的时候才会发生碰撞,只是其中一个碰撞器设置成触发器;一般触发器设置成看不见的

可移动的游戏物体脚本

	void Update()
		{
			//水平轴
			float horizontal = Input.GetAxis("Horizontal");
			//垂直轴
			float vertical = Input.GetAxis("Vertical");
			//创建成一个方向向量
			Vector3 dir = new Vector3(horizontal, 0, vertical);
			//朝向量方向移动Translate是平移,*Time.dalteTime是指每秒
			transform.Translate(dir*Time.dalteTime);
		}

触发器物体的脚本
物体Cube (1)是墙壁,触发后执行的物体,下面代码是触发后Cube (1)墙体消失

    private void OnTriggerEnter(Collider other)
    {
        GameObject cube = GameObject.Find("Cube (1)");
        if (cube != null)
        {

            cube.SetActive(false);
        }
    }
    private void OnTriggerStay(Collider other)
    {
    }
    private void OnTriggerExit(Collider other)
    {

    }

4、物理关节(铰链,弹簧等)

添加组件的时候搜索关节,会有很多,
在这里插入图片描述

铰链关节

可以做固定轴旋转
Anchor 是轴的位置
轴是轴的方向
Use Motor 自动
在这里插入图片描述

弹簧关节

需要两个物体链接,在a物体加弹簧组件,把b物体拖入刚体Connected Body 就链接了,其他属性不细说了
在这里插入图片描述

固定关节

和弹簧类似, 需要两个物体链接,在a物体加弹簧组件,把b物体拖入刚体Connected Body 就链接了,其他属性不细说了
但是性质不同,就会固定在一个物体上,无法移动等;类似胶水,可以设置断开力,到达足够力时就断开链接

其他关节暂时不讲

5、物理材质

不同材质有不同的效果、如冰面和土地的摩擦力不同;
新建-》物理材质,可以设置摩擦力弹力等;
给物体添加材质

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初学JavaScript总结

0 JavaScript html完成了架子,css做了美化,但是网页是死的,需要给他注入灵魂,所以接下来需要学习JavaScript,这门语言会让页面能够和用户进行交互。JavaScript又称为脚本语言,可以通过脚本实现用户和页面的…

1.1为什么需要对数值类型的特征做归一化?

01 知识点:特征归一化(第一章 特征工程) 摘要: 为什么需要对数值类型的特征做归一化? 简要回答:对数值类型的特征做归一化,使得各指标除以同一个数量级,以便进行分析。 场景描述 为…

AI时代来临:解锁大模型的神秘面纱!

在AI时代的黎明,大模型技术的发展不仅仅是科技进步的一个标志,更是人类文明新篇章的开启。这篇文章旨在揭开大模型的神秘面纱,探索其对未来社会的深远影响。 大模型,作为人工智能领域的一个重要分支,其核心在于构建能…

内网搭建mysql8.0并搭建主从复制详细教程!!!

一、安装mysql 1.1 mysql下载链接: https://downloads.mysql.com/archives/community/ 1.2 解压包并创建相应的数据目录 tar -xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local cd /usr/local/ mv mysql-8.2.0-linux-glibc2.28-x86_64/ mysql mkdir…

Pytorch学习 day01(Jupyter安装、常用函数、三种编辑器的对比)

Jupyter 安装过程中遇到的问题: Anaconda的base环境会自动安装Jupyter,但是如果我们要在其他环境中安装Jupyter,就需要注意,该环境的python版本不能高于3.11,且用以下代码安装: conda install nb_conda_…

迭代模型:让项目管理更加高效与灵活

迭代模型:让项目管理更加高效与灵活 在当今快速变化的市场环境中,项目管理面临着前所未有的挑战。传统的瀑布模型已无法满足不断变化的需求,而迭代模型则以其灵活性和适应性成为了项目管理的新宠。本文将详细介绍迭代模型的概念、特点、应用…

基于vue3 BIMFACE 单楼层平滑切换

模型加载 vue3使用hooks实现模型的加载 hooks文件: useBimLoad.js import { getAccessToken, getViewToken } from "/api/bimface";//获取accessToken和viewToken,自行编写 import { toRefs } from "vue";export function useBimLoad(props)…

Android Tombstone 分析

1.什么是tombstone Tombstone是指在分布式系统中用于标记数据已被删除的记录,通常包含删除操作的时间戳和相关信息。 当一个动态库(native程序)开始执行时,系统会注册一些连接到 debuggerd 的signal handlers。当系统发生崩溃时…

浪潮服务器使用ARCCONF查看RAID配置信息

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、获取ARCCONF二、使用步骤1.Windows Server 20221.查看RAID控制器2.查询控制器属性3.查询虚拟磁盘属性4.查询物理硬盘属性 2.Ubuntu-22.043.CentOS7 三、配置…

精益工程师3000工资与30000工资的区别!

在同一职场征程中,为何有的精益工程师月入仅三千,而另一些则能达到三万?这一差距,远超薪酬数额的简单对比,它深刻反映了专业能力、工作态度和个人品质的全面差异。 首先,对于刚踏入职场的精益工程师而言&a…

1.3 vue ui框架-element-ui框架

1 前言 ElementUI是一套基于VUE2.0的桌面端组件库,ElementUI提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。 ElementUI官网 https://element.eleme.io 2 安装 运行命令 cnpm i element-ui -S -S表示只在该项目下安装,不是全局安…

Springboot配置定时任务

介绍SpringBoot集成定时任务的过程。 目 录 1、引入相关依赖 2、启动类添加注解 3、定时任务类添加注解 4、cron表达式 5、总结 1、引入相关依赖 SpringBoot自带定时任务配置,只要引入springboot相关类即可。 2、启动类添加注解 在启动类上添加注解EnableSch…

【学习心得】Python调用JS的三种常用方法

在做JS逆向的时候,一种情况是直接用Python代码复现JS代码的功能,达成目的。但很多时候这种方法有明显的缺点,那就是一旦JS代码逻辑发生了更改,你就得重写Python的代码逻辑非常不便。于是第二种情况就出现了,我直接得到…

CDN CloudFlare 接入 OCI 对象存储

在当今数字化时代,网站性能和可用性是业务成功的关键。为了提供快速且可靠的访问体验,许多组织正在寻找有效的内容分发网络(CDN)解决方案。CloudFlare作为业界领先的CDN提供商,其强大的全球网络基础设施能够加速网站内…

UE学习笔记--解决滚轮无法放大蓝图、Panel等

我们发现有时候创建蓝图之后,右上角的缩放是1:1 但是有时候我们可能需要放的更大一点。 发现一直用鼠标滚轮像上滚动,都没有效果。 好像最大只能 1:1. 那是因为 UE 做了限制。如果希望继续放大,我们可以按住 Ctrl 再去…

Excel常用公式总结非常实用

16个最实用的Excel万能公式 1、多条件判断 IF(And(条件1,条件2..条件N),条件成立返回值) IF(or(条件1,条件2..条件N),条件成立返回值) 2、多条件查找 Lookup(1,0/((条件1*条件2*...条件N)),返回值区域) 3、多条件求和 Sumifs(值区域,判断区域1,条件1,判断区域2,条…

hive报错:FAILED: NullPointerException null

发现问题 起因是我虚拟机的hive不管执行什么命令都报空指针异常的错误 我也在网上找了很多相关问题的资料,发现都不是我这个问题的解决方法,后来在hive官网上与hive 3.1.3版本相匹配的hadoop版本是3.x的版本,而我的hadoop版本还是2.7.2的版本…

opencv VideoCapture

videocapture顾名思义视频捕捉,主要是从视频文件、摄像头或网络摄像头获取视频流数据,并将其作为一系列帧进行处理。 我们这里主要实现了获取项目文件夹下的1.mp4视频文件,然后经过灰度变化、均值滤波、边缘检测然后将视频显示出来 #include…

MySQL的索引和B+tree结构

目录 0.关于索引的常见面试题 1.什么是索引? 索引的优缺点 2.索引的数据结构,为什么InnoDb引擎使用Btree作为索引的数据结构? 分析怎样的索引才是好的 二插搜索树 红黑树 B-Tree BTree 哈希 为什么 InnoDB 存储引擎选择使用 Btree 索…

初学HTMLCSS——盒子模型

盒子模型 盒子:页面中所有的元素(标签),都可以看做是一个 盒子,由盒子将页面中的元素包含在一个矩形区域内,通过盒子的视角更方便的进行页面布局盒子模型组成:内容区域(content&…