unity 玩家和炸弹切线计算方式
脚本挂在炸弹上!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class TargetDetaction : MonoBehaviour
{private Transform PlayerTF;private Transform bomb;private float radius;private string Player = "Player";void Start(){bomb = this.gameObject.transform;GameObject PlayerGO = GameObject.FindWithTag(Player);PlayerTF = PlayerGO.transform;SphereCollider capsuleCollider = PlayerGO.transform.GetComponent<SphereCollider>();radius = capsuleCollider.radius;}private Vector3 LeftTarget, RightTarget;/// <summary>/// 计算切点/// </summary>private void CaculateTarget(){//向量加减的位置在原点位置Vector3 PlayertoExplosionBomo = this.transform.position - PlayerTF.position;// Debug.DrawLine(Vector3.zero, PlayertoExplosionBomo);// Debug.DrawLine(Vector3.zero, this.transform.position);// Debug.DrawLine(Vector3.zero, PlayerTF.position);//归一化后* 半径 获取 人物到炸弹的半径向量Vector3 PlayertoExplosionBomoDircetion = PlayertoExplosionBomo.normalized * radius;//归一化// Debug.DrawLine(Vector3.zero, PlayertoExplosionBomoDircetion*3,Color.cyan); //math.acos 求反余弦 (临边/chang) 弧度值-> 弧度转角度float angle = Mathf.Acos(radius / PlayertoExplosionBomo.magnitude) * Mathf.Rad2Deg;//向量旋转一个指定的欧拉角LeftTarget = PlayerTF.position+ Quaternion.Euler(0, -angle, 0) * PlayertoExplosionBomoDircetion;RightTarget = PlayerTF.position+ Quaternion.Euler(0, angle, 0) * PlayertoExplosionBomoDircetion;Debug.DrawLine(Vector3.zero, Quaternion.Euler(0, -angle, 0) * PlayertoExplosionBomoDircetion * 2, Color.cyan);Debug.DrawLine(Vector3.zero, Quaternion.Euler(0, angle, 0) * PlayertoExplosionBomoDircetion * 2, Color.cyan);Debug.DrawLine(Vector3.zero, PlayerTF.position, Color.cyan);Debug.DrawLine(Vector3.zero, LeftTarget);}private void Detchtion(){CaculateTarget();Debug.DrawLine(this.transform.position, LeftTarget, Color.red);Debug.DrawLine(this.transform.position, RightTarget, Color.blue);Debug.DrawLine(this.transform.position, PlayerTF.position, Color.yellow);}// Update is called once per framevoid Update(){Detchtion();}
}

相关文章:
unity 玩家和炸弹切线计算方式
脚本挂在炸弹上! using System.Collections; using System.Collections.Generic; using UnityEngine;public class TargetDetaction : MonoBehaviour {private Transform PlayerTF;private Transform bomb;private float radius;private string Player "Play…...
【MySQL】MySQL中的函数之REGEXP_LIKE
在 MySQL 中,REGEXP_LIKE() 函数用于检查一个字符串是否与正则表达式匹配。不过需要注意的是,REGEXP_LIKE() 并不是所有版本的 MySQL 都支持的函数。这个函数是在 MySQL 8.0 版本中引入的。 基本语法 REGEXP_LIKE(str, pat [, match_type ])str: 要测试…...
跟着尚硅谷学vue2—进阶版4.0—Vuex1.0
5. Vuex 1. 理解 Vuex 1. 多组件共享数据-全局事件总线实现 红线是读,绿线是写 2. 多组件共享数据-vuex实现 vuex 不属于任何组件 3. 求和案例-纯vue版 核心代码 1.Count.vue <template><div><h1>当前求和为:{{ sum }}</h1&…...
深度学习服务器租赁AutoDL
省钱绝招 #AutoDL #GPU #租显卡...
excel常用技能
1.基础技能 1.1 下拉框设置 a. 选中需要设置的列或单元格,数据 ---》 数据验证 b.验证条件 ---> 序列(多个值逗号隔开) 1.2 进度条百分比显示设置 开始 ---> 条件格式 --->新建规则--->编辑规则 1.3 相对引用和绝对引用…...
Mac电脑中隐藏文件(即以 . 开头的文件/文件夹)的显示和隐藏的两种方法
方法一:使用电脑快捷键,步骤如下: 1、点击一下桌面,用来激活 Finder ; 2、同时按下 Command Shift 点,即 【Command Shift . 】; 3、 打开可能包含此类文件的文件夹,比如磁盘…...
【Linux】:进程信号(信号概念 信号处理 信号产生)
✨ 眼里有诗,自向远方 🌏 📃个人主页:island1314 🔥个人专栏:Linux—登神长阶 ⛺️ 欢迎关注:👍点赞 👂&#…...
Flink运行时架构以及核心概念
1.运行构架 1.提交作业后启动一个客户端进程,客户端解析参数(-d -t 等等),后进行封装由Actor通信系统提交,取消,更新任务给JobManager。 2.JobManager(进程)通信系统一个组件叫分发…...
用 Python 从零开始创建神经网络(五):损失函数(Loss Functions)计算网络误差
用损失函数(Loss Functions)计算网络误差 引言1. 分类交叉熵损失(Categorical Cross-Entropy Loss)2. 分类交叉熵损失类(The Categorical Cross-Entropy Loss Class)展示到目前为止的所有代码3. 准确率计算…...
[CKS] K8S RuntimeClass SetUp
最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于RuntimeClass创建和挂载的题目。 专栏其他文章: [CKS] Create/Read/Mount a Secret in K8S-CSDN博客[CKS] Audit Log Policy-CSDN博客 -[CKS] 利用falco进行容器日志捕捉和安全监控-CSDN博客[CKS…...
【Python爬虫实战】轻量级爬虫利器:DrissionPage之SessionPage与WebPage模块详解
🌈个人主页:易辰君-CSDN博客 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、SessionPage (一)SessionPage 模块的基本功能 (二)基本使…...
计算机网络-2.1物理层
文章目录 通信的基础概念信源、信宿、信号、信道码元、速率、波特带宽(Hz) 奈奎斯特采样定律和香农采样定律编码&解码,调制&解调常用的编码方法常用的调制方法 传输介质1. 导向型传输介质2. 非导向型传输介质物理层接口的特性 物理层…...
纯血鸿蒙系统 HarmonyOS NEXT自动化测试实践
1、测试框架选择 hdc:类似 android 系统的 adb 命令,提供设备信息查询,包管理,调试相关的命令ohos.UiTest:鸿蒙 sdk 的一部分,类似 android sdk 里的uiautomator,基于 Accessibility 服务&…...
C 语言标准库 - <errno.h>
目录 1.errno 变量 2.宏 1.errno 变量 errno.h 声明了一个 int 类型的 errno 变量,用来存储错误码(正整数)。 如果这个变量有非零值,表示已经执行的程序发生了错误。 #include <errno.h> #include <stdio.h> #in…...
Golang自带的测试库testing的使用
testing是golang自带的测试库。 testting规则: 在待测试功能所在文件的同级目录中创建一个以_test.go结尾的文件。 测试函数名必须是TestXxxx这个形式,而且Xxxx必须以大写字母开头,另外函数带有一个*testing.T类型的参数。 // 单元测试&am…...
29.电影院售票系统(基于springboot和vue的Java项目)
目录 1.系统的受众说明 2 论文背景 2.1 国内研究现状: 2.2 国外研究现状: 2.3 所用技术 3 系统需求分析 3.1 需求分析 3.2 可行性分析 3.2.1技术可行性分析 3.2.2市场可行性分析 3.2.3经济可…...
大学生就业平台微信小程序
随着计算机技术的成熟,互联网的建立,如今,PC平台上有许多关于大学生就业方面的程序,但由于使用时间和地点上的限制,用户在使用上存在着种种不方便,而开发一款大学生就业平台微信小程序,能够有效…...
Redis 缓存击穿
目录 缓存击穿 什么是缓存击穿? 有哪些解决办法? 缓存穿透和缓存击穿有什么区别? 缓存雪崩 什么是缓存雪崩? 有哪些解决办法? 缓存预热如何实现? 缓存雪崩和缓存击穿有什么区别? 如何保…...
初探鸿蒙:从概念到实践
一、鸿蒙开发的环境准备 开发工具:使用 DevEco Studio,支持 ArkTS 语法。 系统要求:确保计算机符合 DevEco Studio 的最低系统需求。安装步骤:下载 DevEco Studio,安装合适的 SDK 和模拟器 二、鸿蒙应用可以…...
PHP API的路由设计思路
PHP API的路由设计是构建高效、可维护API的关键环节。以下是一套完整的PHP API路由设计思路: 一、明确设计原则 使用统一资源标识符(URI):通过URI来标识资源,确保每个资源都有一个唯一的地址。使用HTTP方法ÿ…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
goreplay
1.github地址 https://github.com/buger/goreplay 2.简单介绍 GoReplay 是一个开源的网络监控工具,可以记录用户的实时流量并将其用于镜像、负载测试、监控和详细分析。 3.出现背景 随着应用程序的增长,测试它所需的工作量也会呈指数级增长。GoRepl…...
EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势
一、WebRTC与智能硬件整合趋势 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...
