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

刚体的力+射线相关知识点+延迟函数

AddForceAtPosition

cube0.AddForceAtPosition(Vector3.forward*5,target.transform.position);

force:给cube0一个力,控制cube0的移动;

position:cube0和所给点的连线力得大小,这个力跟移动方向有夹角,会造成cube0旋转;

     

cube0.AddRelativeForce(Vector3.forward);

//以cube0自身坐标系来进行移动,比如向前运动,就是向自身的正前方运动;

cube1.AddForce(Vector3.forward);

//以世界坐标系为参考系运动,比如向前运动,就是向世界的z轴方向运动;

射线

new Ray(cube0.transform.position,Vector3.forward);

射线 :      第一个参数是射线的起始点;    第二个参数是射线的方向

Physics.Raycast(myray)

物理射线检测:返回值是bool类型,根据返回值只能确定当前射线有没有碰撞到其他碰撞体。

RaycastHit hit;

Physics.Raycast(myray,out hit)

返回值只能返回是否碰撞到其他碰撞体;但是out出来一个hit值,这个hit值是我们需要的;

当我们射线碰撞到一个游戏物体的碰撞体后,返回一个hit值,这个对象包含信息部分如下:

public Collider collider{get;}   //碰撞体
public float distance{get;set;}  //碰撞体和射线起始点的距离
public Vector3 normal{get;set;}      //碰撞点所在平面的法向量
public Vector3 point{get;set;}      //实际碰撞到的点的世界坐标位置
public Rigidbody rigidbody{get;}    //碰撞到的游戏物体的刚体
public Transform transform{get;}    //碰撞到的游戏物体的Transform组件

Physics.Raycast(Ray ray,out RaycastHit hit,float maxDistance,int layerMask);

//该API可用于测试射线多层检测的情况,注意参数layerMask,当实际用于射线多层检测时,其参数最好写成1<<LayerMask.NameToLayer("layerMaskName")以避免出现计算机实际检测多层情况与预期检测多层情况不符,使用该API示例如下:

Physics.Raycast(myray,out hit,100,(1<<LayerMask.NameToLayer("Cube3"))+(1<<LayerMask.NameToLayer("Cube2"));

延迟函数

Destroy(object,float time);     //time时间之后销毁object类型

Invoke 延迟执行函数,通过方法名延迟调用对应函数;

        注意:当此脚本或者当前脚本所在的游戏物体失活,延迟函数依然会执行;

        但是当前脚本或者游戏物体被销毁,延迟函数就不会执行。

Invoke("TestInvoke",2);   

void TestInvoke(){

        Debug.Log("Awake TestInvoke");

}                                             //2秒之后唤醒TestInvoke方法

取消延迟函数:CancelInvoke();

        如果不传参数,那么就会取消当前代码内的所有延迟函数;

        如果传参数,就是取消对应函数延迟调用;

例:

if(Input.GetKeyDown(KeyCode.D)){CancelInvoke("TestInvoke");
}      //按下D键,取消TestInvoke函数的延迟调用

延迟重复调用    InvokeRepeating(string methodName,float time,float repeatRate);

    time时间后调用methodName方法,每隔repeatRate秒后再调用一次;

例:InvokeRepeating("TestInvoke",2,1);  //2秒之后调用TestInvoke方法,每隔1秒后再调用一次

该系列专栏为网课课程笔记,仅用于学习参考。 

相关文章:

刚体的力+射线相关知识点+延迟函数

AddForceAtPosition cube0.AddForceAtPosition(Vector3.forward*5,target.transform.position); force:给cube0一个力&#xff0c;控制cube0的移动&#xff1b; position&#xff1a;cube0和所给点的连线力得大小&#xff0c;这个力跟移动方向有夹角&#xff0c;会造成cube0…...

集合家族详情

一、Java集合框架全景图 1.1 核心接口层次结构 graph TDA[Iterable] --> B[Collection]B --> C1[List]B --> C2[Set]B --> C3[Queue]C1 --> D1[ArrayList]C1 --> D2[LinkedList]C2 --> E1[HashSet]C2 --> E2[TreeSet]C3 --> F1[PriorityQueue]G[M…...

go语言简单快速的按顺序遍历kv结构(map)

文章目录 需求描述用map实现按照map的key排序用二维切片实现用结构体实现 需求描述 在go语言中&#xff0c;如果需要对map遍历&#xff0c;每次输出的顺序是不固定的&#xff0c;可以考虑存储为二维切片或结构体。 假设现在需要在页面的下拉菜单中展示一些基础的选项&#xff…...

【竞技宝】LOL-LPL:EDG3-0零封LNG

北京时间2月12日,英雄联盟LPL2025正在如火如荼的进行之中,昨日迎来LNG对阵EDG,以下是本场比赛的详细战报。 第一局: EDG:杰斯、赵信、维克托、女枪、芮尔 LNG:猴子、猪妹、飞机、韦鲁斯、布隆 首局比赛,EDG在蓝色方,LNG在红色方。阵容方面,EDG点出了杰斯、赵信、维克托、女枪…...

在fedora41中安装钉钉dingtalk_7.6.25.4122001_amd64

在Fedora-Workstation-Live-x86_64-41-1.4中安装钉钉dingtalk_7.6.25.4122001_amd64.deb 到官网下载钉钉Linux客户端com.alibabainc.dingtalk_7.6.25.4122001_amd64.deb https://page.dingtalk.com/wow/z/dingtalk/simple/ddhomedownload#/ 一、直接使用dpkg命令安装deb包报错…...

看期货用的指标,可以提示买卖点和K线转折变颜色的主图指标源码下载

A:MA(CLOSE,17)ABS(MA(CLOSE,17)-REF(MA(CLOSE,17),1)); B:MA(CLOSE,17)MA(CLOSE,17)-REF(MA(CLOSE,17),1); 分界线:IF(MA(CLOSE,17)<B,B,MA(CLOSE,17)),COLORFF00FF,LINETHICK2; 操作线:分界线-(EMA(C,3)-分界线),COLOR00FFFF,LINETHICK2; GUP:MA(C,5),COLORWHITE,LINE…...

【PS 2022】Adobe Genuine Service Alert 弹出

电脑总是弹出Adobe Genuine Service Alert弹窗 1. 不关掉弹窗并打开任务管理器&#xff0c;找到Adobe Genuine Service Alert&#xff0c;并右键进入文件所在位置 2 在任务管理器中结束进程并将文件夹中的 .exe 文件都使用空文档替换掉 3. 打开PS不弹出弹窗&#xff0c;解决&a…...

计算机网络知识速记:HTTP1.0和HTTP1.1

计算机网络知识速记&#xff1a;HTTP1.0和HTTP1.1 1. 基本概念 1.1 HTTP1.0 HTTP1.0是1996年发布的第一个正式版本&#xff0c;主要用于客户端与服务器之间的简单请求和响应交互。它的设计理念相对简单&#xff0c;适合处理一些基本的网页服务。 1.2 HTTP1.1 HTTP1.1是HTT…...

30天开发操作系统 第 20 天 -- API

前言 大家早上好&#xff0c;今天我们继续努力哦。 昨天我们已经实现了应用程序的运行, 今天我们来实现由应用程序对操作系统功能的调用(即API, 也叫系统调用)。 为什么这样的功能称为“系统调用”(system call)呢&#xff1f;因为它是由应用程序来调用(操作)系统中的功能来完…...

蓝桥杯(B组)-每日一题(求最大公约数最小公倍数)

题目&#xff1a; 代码展现&#xff1a; #include<iostream> using namespace std; int main() {int m,n,x,y;cin>>m>>n;//输入两个整数int b;bm%n;//取余数xm;//赋值yn;while(b)//当余数不为0的时候{xy;//辗转相除求最小公约数yb;bx%y;}cout<<y<&…...

【DuodooBMS】开源软件:利他也能赚钱,开源MES就是好例子

引一&#xff1a;“开源与商业化”并不矛盾&#xff0c;关键在于为用户提供真正价值&#xff01; 引二&#xff1a;“永远年轻&#xff0c;永远热泪盈眶。” 当你试图放弃一个你知道是正确的事情的时候&#xff0c;希望你能再看看这句话。 在数字时代&#xff0c;开源软件就像…...

LeetCode3. 无重复字符的最长字串(滑动窗口)

题目概述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长…...

Redis 内存回收机制

Redis 是一个基于内存的键值存储系统&#xff0c;为了避免内存耗尽&#xff0c;Redis 提供了多种内存回收机制。以下是 Redis 内存回收的主要方式&#xff1a; 1. 过期键删除 Redis 支持为键设置过期时间&#xff0c;过期后会自动删除键以释放内存。 1.1 设置过期时间 SET key…...

arduino扩展:Arduino Mega 控制 32 个舵机(参考表情机器人)

参考&#xff1a;表情机器人中使用22个舵机的案例 引言 在电子制作与自动化控制领域&#xff0c;Arduino 凭借其易用性和强大的扩展性备受青睐。Arduino Mega 作为其中功能较为强大的一款开发板&#xff0c;具备丰富的引脚资源&#xff0c;能够实现复杂的控制任务。舵机作为常…...

DeepSeek提问技巧总结

DeepSeek提问技巧总结 1.聚焦核心&#xff0c;细化问题&#xff1a; 提问时应精准明确&#xff0c;避免过于宽泛或模糊。例如不要问“如何学习机器学习&#xff1f;”而应问“零基础如何机器学习”。对于复杂问题&#xff0c;可将其拆解为多个小问题&#xff0c;逐一提问。比…...

基于51单片机的门禁刷卡器proteus仿真

地址&#xff1a;https://pan.baidu.com/s/1j0KAmH5pVGWZWRpT6p5hBg 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectron…...

mapbox进阶,添加绘图扩展插件,裁剪线

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️MapboxDraw 绘图控件二、🍀添加绘图扩…...

19.4.6 读写数据库中的二进制数据

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 需要北风数据库的请留言自己的信箱。 北风数据库中&#xff0c;类别表的图片字段在【数据表视图】中显示为Bitmap Image&#xff1…...

PlantUml常用语法

PlantUml常用语法&#xff0c;将从类图、流程图和序列图这三种最常用的图表类型开始。 类图 基础语法 在 PlantUML 中创建类图时&#xff0c;你可以定义类&#xff08;Class&#xff09;、接口&#xff08;Interface&#xff09;以及它们之间的关系&#xff0c;如继承&#…...

MapReduce到底是个啥?

在聊 MapReduce 之前不妨先看个例子&#xff1a;假设某短视频平台日活用户大约在7000万左右&#xff0c;若平均每一个用户产生3条行为日志&#xff1a;点赞、转发、收藏&#xff1b;这样就是两亿条行为日志&#xff0c;再假设每条日志大小为100个字节&#xff0c;那么一天就会产…...

Winform自定义控件与案例 - 构建炫酷的自定义环形进度条控件

文章目录 1、控件效果2、案例实现1、代码实现2、代码解释3、使用示例 4、总结 1、控件效果 2、案例实现 1、代码实现 代码如下&#xff08;示例&#xff09;&#xff1a; using System; using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; …...

【SpringBoot苍穹外卖】debugDay03.5

1、AOP面向切面编程 1. Target(ElementType.METHOD) 作用&#xff1a;指定自定义注解可以应用的目标范围。 参数&#xff1a;ElementType 是一个枚举类&#xff0c;定义了注解可以应用的目标类型。 ElementType.METHOD 表示该注解只能用于方法上。 其他常见的 ElementType 值…...

分享在职同时准备系统分析师和教资考试的时间安排

&#xff08;在职、时间有限、同时备考系统分析师考试和小学信息技术教资面试&#xff09;&#xff0c;以下是详细的备考计划&#xff0c;确保计划的可行性和通过性。 一、总体安排 时间分配&#xff1a; 每周周末&#xff08;2天&#xff09;用于系统分析师考试备考。工作日晚…...

flink实时集成利器 - apache seatunnel - 核心架构详解

SeaTunnel&#xff08;原名 Waterdrop&#xff09;是一个分布式、高性能、易扩展的数据集成平台&#xff0c;专注于大数据领域的数据同步、数据迁移和数据转换。它支持多种数据源和数据目标&#xff0c;并可以与 Apache Flink、Spark 等计算引擎集成。以下是 SeaTunnel 的核心架…...

视频理解新篇章:Mamba模型的探索与应用

人工智能咨询培训老师叶梓 转载标明出处 想要掌握如何将大模型的力量发挥到极致吗&#xff1f;叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具&#xff08;限时免费&#xff09;。 1小时实战课程&#xff0c;您将学习到如何轻松上手并有效利用 Llama Facto…...

分形几何表明数学一直存在有首、末的无穷序列

分形几何表明数学一直存在有首、末的无穷序列。一有穷长直线段S可变为锯齿状图形G而由无穷多无穷短直线段连接而成。G和S一样有左、右两个端点。...

DeepSeek 的 API 服务引入 WPS Office

以下是将 DeepSeek 的 API 服务引入 WPS Office 的通用集成教程。以调用 DeepSeek 的 AI 功能&#xff08;如文本生成、数据分析&#xff09;为例&#xff0c;假设你需要通过 WPS 的宏或插件调用外部 API&#xff1a; 准备工作 注册 DeepSeek 账号并获取 API Key 访问 DeepSe…...

Python接口自动化测试—接口数据依赖

一般在做自动化测试时&#xff0c;经常会对一整套业务流程进行一组接口上的测试&#xff0c;这时候接口之间经常会有数据依赖&#xff0c;那又该如何继续呢&#xff1f; 那么有如下思路&#xff1a; 抽取之前接口的返回值存储到全局变量字典中。初始化接口请求时&#xff0c;…...

C++ 实践扩展(Qt Creator 联动 Visual Studio 2022)

​ 这里我们将在 VS 上实现 QT 编程&#xff0c;实现如下&#xff1a; 一、Vs 2022 配置&#xff08;若已安装&#xff0c;可直接跳过&#xff09; 点击链接&#xff1a;​​​​​Visual Studio 2022 我们先去 Vs 官网下载&#xff0c;如下&#xff1a; 等待程序安装完成之…...

分布式系统知识点总结

一、一致性协议 &#xffe5;1. CAP理论 CAP理论是分布式系统设计中的一套指导原则&#xff0c;它指出在网络分区的情况下&#xff0c;一个分布式系统最多只能同时满足以下三点中的两点&#xff1a; 一致性&#xff08;Consistency&#xff09;&#xff1a;所有节点在同一时…...