Unity 精准伤害检测

using System;
using UnityEngine;
public class TestGameAnimEevnt : MonoBehaviour {
[Range(0,1)]
public float timeScale = 1;
public Transform[] checkPointsTrans;
public Vector3[] checkPointsOld;
public bool check;
private RaycastHit[] raycastHit = new RaycastHit[16];
void Start() {
checkPointsOld = new Vector3[checkPointsTrans.Length];
}
void FixedUpdate() {
Time.timeScale = timeScale;
if (check) {
for (int i = 0; i < checkPointsTrans.Length; i++) {
Check(checkPointsOld[i], checkPointsTrans[i].position);
Debug.DrawLine(checkPointsOld[i], checkPointsTrans[i].position, Color.red);
checkPointsOld[i] = checkPointsTrans[i].position;
}
}
}
private void Check(Vector3 startPoint, Vector3 endPoint) {
Vector3 dir = endPoint - startPoint;
var lineDistance = dir.magnitude;
Array.Clear(raycastHit, 0, raycastHit.Length);
// 射线检测
int hits = Physics.RaycastNonAlloc(startPoint, dir.normalized, raycastHit, lineDistance);//障碍物层级
for (int i = 0; i < hits; i++) {
Debug.Log(raycastHit[i].collider.gameObject.name);
}
}
// 开启检测
public void TestEventOpen() {
for (int i = 0; i < checkPointsTrans.Length; i++) {
checkPointsOld[i] = checkPointsTrans[i].position;
}
check = true;
}
// 关闭检测
public void TestEventClose() {
check = false;
}
}
Unity 精准伤害检测的更多相关文章
- Unity - Raycast 射线检测
本文简要分析了Unity中射线检测的基本原理及用法,包括: Ray 射线 RaycastHit 光线投射碰撞信息 Raycast 光线投射 SphereCast 球体投射 OverlapSphere ...
- Unity运行时检测Altas使用情况
UI贴图在游戏中内存大小中占的分量非常非常大,尤其对于前期对UI没有规划的项目,无论是包量还是内存大小都是需要花费很多时间去优化.如果涉及到战斗场景和逻辑场景的情况下,常用的做法就是把两个场景使用的a ...
- 关于Unity中物理检测的准备
1.要确定每个物体的碰撞类型,是有碰撞效果的碰撞还是没有碰撞效果的碰撞(is trigger),带不带刚体. 2.给每个物体分层,再设置哪些层会发生碰撞,哪些完全不产生碰撞. 3.给每个物体设置标记, ...
- 【Unity笔记】检测当前的运行平台
// 判断当前运行平台为Android平台时 if (Application.platform == RuntimePlatform.Android) { if (Input.GetKeyDown(K ...
- unity 扇形范围检测目标
第一种 代码方法 传入目标点测试即可 private float ScopeDistance = 2f;//扇形距离 private float ScopeJiaodu = 120;//扇形的角度 / ...
- Unity射线检测的用法总结
RayCast 射线检测 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心 ...
- unity射线检测
unity中射线检测时非常实用也经常实用的一种手段.下面讲解一下射线检测问题. 1)Ray 根据射线端点和射线的方向定义一条射线 Ray ray= new Ray(transform.position ...
- 日常小节----unity小坑记(射线检测固定层级)
unity中射线检测需设定所需层级时,必须加上距离!!! //一条从主相机到屏幕点击点的射线 Ray ray = Camera.Main.ScreenPointToRay(Input.mousePos ...
- Linux内核漏洞精准检测如何做?SCA工具不能只在软件层面
摘要:二进制SCA工具要想更好的辅助安全人员实现安全审计.降低漏洞检测的误报率,必须向更细颗粒度的检测维度发展,而不仅仅停留在开源软件的层面,同时对漏洞库的要求也需要向细颗粒度的精准信息提出的挑战. ...
- Unity性能优化(3)-官方教程Optimizing garbage collection in Unity games翻译
本文是Unity官方教程,性能优化系列的第三篇<Optimizing garbage collection in Unity games>的翻译. 相关文章: Unity性能优化(1)-官 ...
随机推荐
- N+1查询:数据库性能的隐形杀手与终极拯救指南
title: N+1查询:数据库性能的隐形杀手与终极拯救指南 date: 2025/05/06 00:16:30 updated: 2025/05/06 00:16:30 author: cmdrag ...
- 接口测试策略(一、概念&流程&范围)
接口测试概要 接口测试概念 什么是接口测试? 维基百科对接口测试的定义如下: API testing is a type of software testing that involves testi ...
- 自制体积不到 2kb 的代码编辑器,areaEditor.js,增强 textarea 标签的代码编辑体验
目录 起因 缩进功能 缩进类型 自动补全括号 犯难 自动补全 阻止补全 编辑框抖动 在空行按下删除键,清空 封装代码 怎么压缩 JavaScript 代码 更多的功能? 起因 前两天我搞的那个在线 H ...
- (Pytorch第三天)复制官网教程程序遇到的一系列报错
先说一下,我之前没学过Python,但是鉴于我是一名c语言高手(雾),我决定现学现用. 首先是https://pytorch.org/tutorials/beginner/basics/optimiz ...
- C#反射报错之System.Reflection.AmbiguousMatchException:“Ambiguous match found.
.NET6 Type t = typeof(double).GetMethod("TryParse").GetParameters()[1].ParameterType; Cons ...
- .NET外挂系列:2. 了解强大的 harmony 注解特性
一:背景 1. 讲故事 上一篇我们简单的聊了下harmony外挂的基本玩法,让大家宏观上感受到了外挂在 .NET高级调试 领域的威力,这一篇我们从 注解特性 这个角度继续展开. 二:harmony 注 ...
- Spring AI 1.0 正式发布!核心内容和智能体详解
在经历了八个里程碑式的版本之后(M1~M8),Spring AI 1.0 正式版本,终于在 2025 年 5 月 20 日正式发布了,这是另一个新高度的里程碑式的版本,标志着 Spring 生态系统正 ...
- RabbitMQ单机&可能遇到的问题
1.Deployments 1 kind: Deployment 2 apiVersion: apps/v1 3 metadata: 4 name: rabbitmq-deployment 5 spe ...
- EasyExcel读取多个sheet表数据,自定义监听器
接口 /** * 导入 * * @param file * @return */ @PostMapping("/waitimport") public Result waitImp ...
- VLFeat库实现KD-Tree算法
VLFeat库实现KD-Tree算法 K-D树(K-Dimensional Tree,即K维二叉树),K=1时,即是一棵普通的二叉树.常被用于高维空间中的搜索,比如范围搜索和最近邻搜索.考虑这样一种情 ...