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

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.mzph.cn/news/711465.shtml

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

相关文章

RTCA DO-178C 机载系统和设备认证中的软件注意事项 - 目录

本文为DO-178C标准目录,可点击以下对应章节直接跳转至具体内容。 1.0 介绍 INTRODUCTION 2.0 软件开发的系统相关性 SYSTEM ASPECTS RELATING TO SOFTWARE DEVELOPMENT 3.0 软件生命周期 SOFTWARE LIFE CYCLE 4.0 软件计划过程 SOFTWARE PLANNING PROCESS 5.0 …

selenuim[1]($x(‘xpath语法’)、WebDriverWait())

文章目录 初学selenuim记录1、执行driver webdriver.Chrome()后很久才打开浏览器2、浏览器多元素定位 $x(‘xpath语法’)3、打开浏览器driver.get("网址")执行了很久才开始定位元素:等待(1)driver.set_page_load_timeout(t)&#…

超越CPU和GPU:引领AI进化的LPU

什么是CPU CPU(Central Processing Unit)是由数十亿个晶体管构成的,可以拥有多个处理核心,通常被称为计算机的“大脑”。它对所有现代计算系统至关重要,因为它执行计算机和操作系统所需的命令和进程。CPU在决定程序运…

【Linux C | 网络编程】gethostbyaddr 函数详解及C语言例子

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

JavaSE面试——hashcode和equals

对象调用 hashCode 方法后,会返回一串 int 类型的数字码 java 规定: 1. 两个对象的 hashCode() 相等,那他们的 equals() 不一定相等 2. 两个对象的 equals() 相等,那他们的 hashCode() 必定相等 3. 重写 equals() 方法时一定要…

三天学会阿里分布式事务框架Seata-SpringCloud Alibaba分布式基础案例搭建

锋哥原创的分布式事务框架Seata视频教程: 实战阿里分布式事务框架Seata视频教程(无废话,通俗易懂版)_哔哩哔哩_bilibili实战阿里分布式事务框架Seata视频教程(无废话,通俗易懂版)共计10条视频&…

日志到filebeat-->logstash-->elastic-->kibana

1、日志到filebeat。 cat /etc/filebeat/filebeat.yml filebeat.inputs: - type: syslog format: rfc3164 protocol.udp: host: "0.0.0.0:514" output.logstash: hosts: ["localhost:5044"] 验证方式: tcpdump -i 网卡名称 udp port 514 2、…

NLog条件配置——实现将包含某个特定字符串日志写入指定文件

需求产生缘由 在开发中为了了解程序在运行的内存状态并记录下来,以便出问题时判断是不是与内存相关。于是实时采集了开发程序需要的内存信息。但采集的内存信息在存储时,以NLog中的Trace级别来存储的话,会与程序其它Trace级别的日志都记录在…

瑞吉苍穹外卖如何拓展?已经经过不同公司多轮面试。项目中会问到哪些问题?以及问题如何解决?

别催了,别催了,先收藏吧。 作者大大正在加班加点完成。 文章会尽快发布,关注收藏,尽请期待。 想要加入并查阅作者的知识库可以联系作者 不要白嫖,通过后,附上关注和收藏截图。 已有众多小伙伴加入 目前…

QtCreator报Failed to parse qmlimportscanner output解决

错误如下: 定位错误位置 增加错误信息打印 打印执行命令 执行打印输出的命令,成功返回JSON 但输出的JSON对象不是json格式,而是命令 增加$$成功输出JSON 使用QtCreator12编译一次后,再使用QtCreator13成功编译通过,问题解决

初学者如何使用QT新建一个包含UI界面的C++项目

文章目录 一、下载并安装QT51、下载安装包2、注册/登录账号3、安装qt6 二、新建QT Widget项目1、新建项目并且运行2、易错点:可能运行成功得到UI界面但是会报错(原因是使用了中文路径) 一、下载并安装QT5 1、下载安装包 进入下载网址 Windo…

C语言系列16——C语言标准库深度揭秘:探索其内核与应用

目录 写在开头1.C语言标准库概览1.1 定义与组成1.2 历史发展简述1.3 C标准库与C标准库的关系 2.标准库的核心组件2.1 输入输出库(stdio.h)2.1.1 定义与作用2.1.2 核心函数和用法2.1.3 常见问题与解决方案 2.2 字符串和字符处理(string.h &…

面试经典150题【41-50】

文章目录 面试经典150题【41-50】49.字母异位词分组1. 两数之和202.快乐数219. 存在重复元素II128.最长连续序列228. 汇总区间56.合并区间(华为面试题)57.插入区间452.用最少的箭引爆气球20.有效的括号 面试经典150题【41-50】 49.字母异位词分组 用这种…

今日话题:---自卑

自卑是一种普遍存在的心理现象,它可能源于个人对自身能力、外貌、社会地位等方面的不满意或不自信。自卑感可能会导致消极的情绪和行为,如焦虑、抑郁、逃避现实等。然而,适度的自卑感也可能激发个人努力提升自己,从而实现自我成长…

TensorBoard的使用,add_image()的使用。

在TensorBoard中,add_image()函数用于将图像数据添加到可视化中。它可以用于显示模型输入、输出、中间特征图等图像数据,以帮助开发者理解模型的运行情况。 add_image()的用法: 使用ctrl点击add_image() 注意:图片类型要求为 t…

机器学习笔记 YOLOv9模型相关论文简读

一、YOLOv9简述 自 2015 年 Yolov1 推出以来,已经出现了多个版本。 基于Darknet的YOLOv2、YOLOv3和YOLOv4 YOLOv5 YOLOv8 基于 Ultralytics。 SCALED-YOLOv4 使用 Pytorch 而不是 Darknet。 YOLOR是YOLOv4的改进。 YOLOX是YOLOv3的改进。 YOLOv6专注于工业应用。 YOLOv7 来自 …

【实战-08】 flink自定义Map中的变量的行为

场景 自定义Map或者别的算子的时候,有时候需要定义一些类变量,在flink内部高并发的情况下需要正确理解这些变量的行为 代码 package com.pg.function;import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.common…

哇去,有了这篇文章,项目中引入了再多的字体包,我都不怕了!!!

通常情况下,我们在开发一个新项目的时候,项目那边通常都会提供一些项目所需的字体包,来满足项目对字体展示的特殊需求。 这部分大家都比较熟悉,就不详细讲了,直接上代码: /* 引入字体包 */ font-face {fo…

异常处理(黑马学习笔记)

当前问题 登录功能和登录校验功能我们都实现了,下面我们学习下今天最后一块技术点:异常处理。首先我们先来看一下系统出现异常之后会发生什么现象,再来介绍异常处理的方案。 我们打开浏览器,访问系统中的新增部门操作&#xff0…

GEE高阶应用python wxee——MODIS气象数据可视化处理(2022年3-9月葡萄牙为例)以及可视化地图加载

MODIS wxee 是专为处理气象数据而设计的,但它在遥感数据方面也很有用。在本示例中,我们将了解 wxee 如何处理 MODIS 传感器的数据,以及如何利用 xarray 对象创建彩色复合图。 安装和设定 #!pip install wxeeimport ee import wxeeee.Authenticate() wxee.Initialize(proje…