首页 > 其他分享 >Unity 精准伤害检测

Unity 精准伤害检测

时间:2023-08-15 18:03:07浏览次数:40  
标签:checkPointsOld void Vector3 raycastHit public Unity checkPointsTrans 伤害 精准

 

 

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;
}
}

标签:checkPointsOld,void,Vector3,raycastHit,public,Unity,checkPointsTrans,伤害,精准
From: https://www.cnblogs.com/sanyejun/p/17632022.html

相关文章

  • 【Unity开发】Unity 学习网址 资源 收藏整理大全
    Unity相关网站整理大全众所周知,工欲善其事必先利其器,有一个好的工具可以让我们事半功倍,有一个好用的网站更是如此!但是好用的网站真的太多了,收藏夹都满满的(但是几乎没打开用过......
  • Unity3d - 触摸屏幕手指控制物体移动(跟随手指移动)
    最近工作中的新需求,手指触摸屏幕选中物体跟随手指移动的任务,开发完成后便记录下来,大家共勉publicclassTouchTest:MonoBehaviour{  publicTransformcurrTouchObj;  privateCameramainCamera;  privatevoidAwake()  {    mainCamera=C......
  • UnityExcel数据查看以及文件导入
    需要插件EPPlus.dll、Excel.dll///<summary>///读取Excel表并返回一个DataRowCollection对象///</summary>///<paramname="_path">Excel表路径</param>///<paramname="_sheetIndex">读取的Sheet索引。Excel表中是有多个......
  • unity中Input.GetAxis()用法
     学习笔记:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassTransformPointTest:MonoBehaviour{publicTransformCube;voidFixedUpdate(){//vector3.clampMagnitude(vector,maxlength)......
  • unity中Input.GetAxis()用法
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassTransformPointTest:MonoBehaviour{publicTransformCube;voidFixedUpdate(){//vector3.clampMagnitude(vector,maxlength)//返回原向......
  • unity学习笔记------游戏对象和脚本
    创建工程在开始使用Unity编辑器之前,我们需要首先创建一个项目。打开UnityHub,这个是Unity的启动程序和安装程序应用程序,你可以在其中创建或打开项目,安装Unity版本以及执行其他操作。创建新项目时,可以选择其Unity版本和模板。创建之后,它将添加到项目列表中,并在相应版本的Unity编......
  • Burp Suite Professional / Community 2023.9 (macOS, Linux, Windows) - Web 应用安
    BurpSuiteProfessional/Community2023.9(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:https://sysin.org/blog/burp-suite-pro-2023/,查看最新版。原创作品,转载请保留出处。作者......
  • Unity的AssetPostprocessor之Model之动画:深入解析与实用案例 3
    UnityAssetPostprocessor的Model的动画相关的函数修改实际应用在Unity中,AssetPostprocessor是一个非常有用的工具,它可以在导入资源时自动执行一些操作。其中,Model的动画相关的函数修改可以帮助我们在导入模型时自动修改动画相关的函数,从而提高我们的工作效率。本文将介绍如何使......
  • 【Unity3D】素描特效
    1非真实渲染​法线贴图和凹凸映射中讲述了普通光照的渲染原理,实现的效果比较贴近真实世界(照相写实主义,Photorealism),非真实渲染(Non-PhotorealismRendering,NPR)在照相写实主义的基础上添加了一些风格处理,如:卡通、水彩、素描等风格。​本文完整资源见→Unity3D素描特效。......
  • 【Unity3D】Bloom特效
    1Bloom特效原理​Bloom特效是指:将画面中较亮的区域向外扩散,造成一种朦脓的效果。实现Bloom特效,一般要经过3个阶段处理:亮区域检测、高斯模糊、Bloom合成。​本文完整资源见→Unity3DBloom特效。​1)亮区域检测​根据亮度阈值检测亮区,如下从原图中提取......