Unity格斗游戏,两个角色之间互相锁定对方,做圆周运动

1,灵感来源

今天手头的工作忙完了,就等着服务器那边完活,于是开始研究同步问题。

正好想到之前想做的,两个小人对线PK,便有了这篇文章。

2,要实现的效果

如图所示,两个小人可以互相锁定,模拟真实对战,视线一直不离开对方。

最终实现效果:

套皮之后的效果:

3,基本实现原理

LookAt :保持一直看着对面

RotateAround:绕着XX物体旋转

Translate:绕着某个方向前进后退

4,基本实现方法

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class test : MonoBehaviour
{public Transform targetTrans;public float spd = 180f;public float spd2 = 0.02f;public bool isOne = true;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){transform.LookAt(targetTrans);if (isOne){if (Input.GetKey(KeyCode.A)){this.transform.RotateAround(targetTrans.position, Vector3.up, spd * Time.deltaTime);}if (Input.GetKey(KeyCode.D)){this.transform.RotateAround(targetTrans.position, Vector3.up, -spd * Time.deltaTime);}if (Input.GetKey(KeyCode.W)){transform.Translate(spd2 * Vector3.forward * Time.time, Space.Self);}if (Input.GetKey(KeyCode.S)){transform.Translate(-spd2 * Vector3.forward * Time.time, Space.Self);}}else{if (Input.GetKey(KeyCode.RightArrow)){this.transform.RotateAround(targetTrans.position, Vector3.up, spd * Time.deltaTime);}if (Input.GetKey(KeyCode.LeftArrow)){this.transform.RotateAround(targetTrans.position, Vector3.up, -spd * Time.deltaTime);}if (Input.GetKey(KeyCode.UpArrow)){transform.Translate(spd2 * Vector3.forward * Time.time, Space.Self);}if (Input.GetKey(KeyCode.DownArrow)){transform.Translate(-spd2 * Vector3.forward * Time.time, Space.Self);}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/48488.shtml

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

相关文章

CARLA源码编译避坑指南

文章目录 前言一、CARLA官方编译教程二、无法拉取Unreal Engine Carla分支三、无法下载CARLA地图包四、osm2odr安装错误五、bdist_wheel错误六、编译结果 前言 之前也搭建过这个CARLA源码编译环境,很多坑,但是没记录下来,这次再搭建还是一样…

Spring Web MVC(一篇带你了解并入门,附带常用注解)

一,什么是Spring Web MVC 先看一下官网怎么说: 也就是Spring Web MVC一开始就是包含在Spring框架里面的,但通常叫做Spring MVC。 也可以总结出一个信息,这是一个Web框架。后面我就简称为Spring MVC了。 1.1MVC MVC也就是Mode…

防火墙--内容安全

目录 概述 IAE引擎流程 DPI深度包检测 基于特征字的检测技术 基于应用网关的检测技术 基于行为模式的检测技术 DFI深度流检测 基于数据流进行识别检测的技术 DPI和DFI对比 IDS(入侵检测) IPS(入侵防御) 优势 入侵检测…

AtCoder Beginner Contest 362

🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,彩笔ACMer一枚。 🏀所属专栏:Codeforces 本文用于记录回顾总结本彩笔的解题思路便于加深理解。 比赛题目地址:AtCoder Beginner Contest 362 …

周记-2024年第29周-7.15~7.21:还是在工作内耗

现在是周日晚上21:20,我开始写周总结。 上周计划 工作上保持主动性,要有主人翁意识,积极推动事情,有问题就在群里问别人,不要单点沟通。(有进步,在群里发言稍微多了一点,看小组长工…

微服务实战系列之玩转Docker(五)

前言 在我们日常的工作生活中,经常听到的一句话:“是骡子是马拉出来遛遛”。目的是看一个人/物是不是名副其实。我们在使用docker时,也要看看它究竟是如何RUN起来的。当面试官问你的时候,可以如是回答,保你“一文通关…

OpenAI因限制举报人权利遭投诉,呼吁监管介入

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

WindowsStore被误删怎么恢复

WindowsStore被误删怎么恢复 如果您在 Windows 上意外删除了 Windows Store,可以通过以下步骤尝试恢复: 1. 使用 PowerShell 进行恢复 Windows Store 是作为应用程序安装的一部分,可以尝试使用 PowerShell 命令来重新安装它。以下是具体步…

在win10上通过WSL和docker安装Ubuntu子系统,并配置Ubuntu可成功使用宿主机GPU

本文主要记录win10系统上,通过WSL的Ubuntu系统以及Docker使用GPU的全部过程。 文章目录 1、 启用hyper-v2、 安装docker3、 安装WSL3.1 安装WSL23.1.1 检查是否安装了WSL23.1.1 安装和配置 WSL 23.2 安装Ubuntu 子系统3.3 检查并修改WSL版本4、docker配置ubuntu20.04 LTS5、下…

Java和Python的图结构如何实现图的深度优先搜索算法

Java和Python的图结构如何实现图的深度优先搜索算法? 在Java和Python中,实现深度优先搜索(DFS)算法的基本思路都是通过递归或栈来探索图的各个节点。 Java实现DFS:Java import java.util.ArrayList; import java.uti…

InfiniBand网络-赋能高性能计算的卓越引擎

InfiniBand:赋能高性能计算网络的卓越引擎 InfiniBand作为一种先进的内网计算平台,已成为驱动高性能计算(HPC)、人工智能(AI)以及超大规模云基础设施演进的核心力量,其展现出无可比拟的性能优势…

bs4模块使用(二)

遍历文档树 怎样从文档的一段内容找到另一段内容? html_doc """ <html><head><title>The Dormouses story</title></head><body> <p class"title"><b>The Dormouses story</b></p>&…

基于SpringBoot+Vue的财务管理系统(带1w+文档)

基于SpringBootVue的财务管理系统(带1w文档) 基于SpringBootVue的财务管理系统(带1w文档) 财务管理系统的开发运用java技术、springboot框架&#xff0c;MIS的总体思想&#xff0c;以及Mysql等技术的支持下共同完成了该系统的开发&#xff0c;实现了财务管理的信息化&#xff0…

Android开机优化系列文档

Android开机优化系列文档 Android系统开机优化系列文档&#xff0c;将与开机优化相关的文档收集在这里&#xff0c;便于管理和查看 Android 14 开机时间优化措施汇总-CSDN博客 Android 14 开机时间优化措施-CSDN博客 根据systrace报告优化系统时需要关注的指标和优化策略-CSD…

ccf-csp认证--仓库规划

西西艾弗岛上共有 n 个仓库&#xff0c;依次编号为 1⋯n。每个仓库均有一个 m 维向量的位置编码&#xff0c;用来表示仓库间的物流运转关系。 具体来说&#xff0c;每个仓库 i 均可能有一个上级仓库 j&#xff0c;满足&#xff1a;仓库 j 位置编码的每一维均大于仓库 i 位置编…

docker安装指导

需求:为了开放设备给客户使用,在设备里面创建docker镜像ubuntu,客户程序跑在ubuntu里面。 一、docker安装 1.先将docker安装包(docker-26.1.4.tgz)拷贝到DM系统中。 2.解压docker安装包 tar zxf docker-26.1.4.tgz 3.将docker可执行程序拷贝到/usr/bin/下面 cp docker/…

ReLU-KAN:仅需要矩阵加法、点乘和ReLU*的新型Kolmogorov-Arnold网络

摘要 由于基函数&#xff08;B样条&#xff09;计算的复杂性&#xff0c;Kolmogorov-Arnold网络&#xff08;KAN&#xff09;在GPU上的并行计算能力受到限制。本文提出了一种新的ReLU-KAN实现方法&#xff0c;该方法继承了KAN的核心思想。通过采用ReLU&#xff08;修正线性单元…

运维团队如何高效监控容器化环境中的PID及其他关键指标

随着云计算和容器化技术的快速发展&#xff0c;越来越多的企业开始采用容器化技术来部署和管理应用程序。然而&#xff0c;容器化环境的复杂性和动态性给运维团队带来了前所未有的挑战。本文将从PID&#xff08;进程标识符&#xff09;监控入手&#xff0c;探讨运维团队如何高效…

什么是 MLPerf?

什么是 MLPerf&#xff1f; MLPerf 是一个用于衡量机器学习硬件、软件和服务性能的标准化基准测试平台。它由 MLCommons 组织开发&#xff0c;该组织是由多家领先的科技公司和学术机构组成的。MLPerf 的目标是通过一系列标准化的基准测试任务和数据集&#xff0c;提供一个统一…

JAVA面试题---JAVA集合框架

JAVA集合框架概述 JAVA集合框架是JAVA提供的一组类和接口&#xff0c;用于存储和操作一组对象。 Collection&#xff1a;集合层次结构的根节点List&#xff1a;有序集合&#xff0c;可以包含重复元素Set&#xff1a;无序集合&#xff0c;不包含重复元素Queue&#xff1a;按照…