unity3D实现多点触碰

2023-10-29

实现多点触碰是利用input这个类里面的方法实现的。

从edit-project settings-input就可以看到input能够得到的轴。

想要读取轴向可以使用Input.GetAxis方法获取下列默认轴: “Horizontal” 和“Vertical” 映射于控制杆、A、W、S、D和箭头键(方向键)。 “Mouse X” 和“Mouse Y” 映射于鼠标,“Fire1”, “Fire2” “Fire3”映射于键盘的Ctrl、Alt、Cmd键和鼠标中键或控制器的按钮

iOS和Android设备能够支持多点触控。你可以通过Input.touches属性集合访问在最近一帧中触摸在屏幕上的每一根手指的状态数据。

当设备移动时,它们的加速感应器硬件将报告它们在三维空间中沿着三个主轴的线性加速变化数据。你可以使用这些数据检测设备当前的移动方向(相对于地面)和突然间的方向改 变。

硬件沿着某感应一轴加速就会立即返回重力值。如果值为1.0代表沿着给定轴的方向+1g的重力加速度,如果值为-1.0代表-1g的重力加速度。如果你保持设备垂直(主页键在下方)在你正前方,那么X轴就是指向你右侧的方向,Y轴指向正上方,Z轴就是你所面向的方向。

你可以读取Input.acceleration属性获得设备的加速度信息。你也可以使用Input.deviceOrientation属性获取设备在三维空间中的方位偏移。检测方位变化在你想要制作游戏行为中会非常有用,当用户转动设备或拿着设备时它是不同的。

速度感应装置在每一帧中能够轮询多次,想访问上一帧的所有速度样本你可以读取Input.accelerationEvents属性集合。这在重组玩家动作中会非常有用

 1 using UnityEngine;using System.Collections; 
 2 public class ExampleClass : MonoBehaviour {    
 3 public GameObject particle;   
 4  void Update() {      
 5  for (var i = 0; i < Input.touchCount; ++i) {
 6             if (Input.GetTouch(i).phase == TouchPhase.Began) {                 // Construct a ray from the current touch coordinates
 7                 Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
 8                 // Create a particle if hit
 9                 if (Physics.Raycast(ray))
10                     Instantiate(particle, transform.position, transform.rotation) as GameObject;                
11             }       
12        }   
13    }
14 }

 

转载于:https://www.cnblogs.com/dsh20134584/p/7154573.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity3D实现多点触碰 的相关文章

  • 史上最全的《Android面试题及解析》,赶紧收藏!

    写在文章前面的话 工欲行其事 必先利其器 英雄和侠客更需要宝剑助己成功 同样 在现代软件开发环境中 每个Android开发者都需要更好的工具 帮助我们增强功能 提高效率 在这个竞争激烈的行业中 只有优秀的工程师能够生存 需要我们能够为客户提
  • java实现简单的生成52张牌、三个人洗牌、码牌算法

    定义一个Pocker类 用于定义牌类 package demo public class Poker private String suit 花色 private int rank 数字 构造函数 public Poker String s
  • android Scroller

    参考 http www linuxidc com Linux 2016 01 127276 htm 以前只知道怎么使用scroller 照猫画虎 复制粘贴 今天遇到使用scroller 还是要去搜索 这样不行 要搞懂原理 上面的博客写的很漂
  • Unity中loading页加载的实现

    首先创建一个Global cs 使用单例用于存储场景的名字 便于后续脚本的调用 此脚本不必挂载在游戏物体上 using UnityEngine using System Collections public class Global Mon
  • 程序员升职记 全关卡攻略&通俗思路 Human Resource Machine

    程序员升职记 全过关方法 通俗思路 博主本着能过就过的思想 写出的解答必然不是最优解 但是可以给大家提供一点思路来参考 其中17和22的解答整理自网络 特别是17的解答 要比博主的原解答巧妙不少 1 收发室 模拟程序输入输出 HUMAN R
  • Unity动画系统详解

    目录 动画编辑器 编辑器面板 动画复用 前言 人形重定向动画 Humanoid 通用动画 Generic 旧版本动画 Legacy 动画控制器 系统状态 切换条件 状态机脚本 IK动画 反向动力学 BlendTree 混合树 Animato
  • 什么是页面文件使用率

    你好 很高兴能看到你的问题 也很高兴我能够回答你的问题 你提问 什么是页面文件使用率 首先我们必须要了解什么叫 页面文件 页面文件是一个存放在硬盘上的文件 大多数情况下都放在系统磁盘 如C 盘 的根目录下 这个文件不允许用户访问 只能够被操
  • 捕鱼游戏源码(数值+完整项目资源)

    目前捕鱼游戏的玩法 逐渐有这些趋势 捕鱼玩法 消除类玩法 捕鱼玩法 模拟经营玩法 捕鱼玩法 建造养成玩法 这些趋势已经有龙头企业逐渐开始做出尝试 但是对大部分团队来讲 对垂直领域的理解不够深刻 对产品理解不够深刻 团队没有沉淀和积累 通常都
  • Linux宝塔面板命令大全,快速学会

    cd www server panel python tools py panel 123456 查看宝塔日志 cat tmp panelBoot pl 查看软件安装日志 cat tmp panelExec log 站点配置文件位置 www
  • 在聚会中常玩数七的游戏,七的倍数和带有七的数字都不能说,比如14,27,28。请找出1~100的不能说的数字。...

    利用ES5的filter高阶函数来实现 var arr 1 2 3 4 5 6 7 17 27 21 22 28 100 r arr filter function x return x 10 7 x 7 0 alert r 7 14 17
  • visual studio 一直显示正在准备解决方案

    首先重启电脑 无法解决的情况下执行以下步骤 Kill Visual Studio Open Visual Studio without loading a solution Disable AnkhSvn as Source Control
  • 基于java的俄罗斯方块游戏系统设计与实现

    基于java的俄罗斯方块游戏系统设计与实现 I 引言 A 研究背景和动机 基于Java的俄罗斯方块游戏系统设计与实现的研究背景和动机 俄罗斯方块是一种经典的益智游戏 游戏规则简单 但难度较大 需要玩家有良好的计算能力和手眼协调能力 近年来
  • 探索元宇宙链游戏:一场数字世界的奇妙融合

    随着互联网的飞速发展 以及人们不断对互动娱乐体验的要求提高 元宇宙渐渐成为人们追求的目标 而区块链技术的出现给元宇宙链游开发带来了新的机遇和挑战 一 元宇宙链游定义 元宇宙链游全称为基于区块链技术的元宇宙游戏 是一种新型的网络互动娱乐形式
  • 运行游戏找不到x3daudio1_7.dll怎么解决?教你如何快速修复的教程

    在计算机使用过程中 我们经常会遇到一些错误提示 其中之一就是 x3daudio1 7 dll丢失 这个错误提示可能让我们感到困惑和烦恼 但是不用担心 本文将为您介绍x3daudio1 7 dll丢失的原因以及五种修复方法 帮助您解决这个问题
  • python趣味编程-使用 Python 的 Tron 游戏(多人游戏)

    使用 Python 的 Tron 游戏 多人游戏 和免费源代码 带有源代码的Tron Game 多人游戏 是一款多人游戏 您的目标是创建更长的线 你只需要小心移动 tron 车辆即可 该项目的目的是为您的亲戚和朋友提供一些娱乐因素 关于该项
  • 鸿蒙开发之页面路由(router)

    页面路由 router 页面路由指在应用程序中实现不同页面之间的跳转和数据传递 HarmonyOS提供了Router模块 通过不同的url地址 可以方便地进行页面路由 轻松地访问不同的页面 本文将从 页面跳转 页面返回 和 页面返回前增加一
  • 计算机提示vcruntime140.dll丢失的解决方法,多种修复教程分享

    vcruntime140 dll是一个非常重要的动态链接库文件 它包含了许多运行时的函数和类 然而 有时候我们可能会遇到vcruntime140 dll无法继续执行代码的问题 这会给我们带来很大的困扰 那么 这个问题是什么原因导致的呢 又应
  • 盘点第三方支付行业中一些“专用术语”

    每个行业都有自己的行业术语 在官方场合被称为 术语 如果你是支付行业的新手 或者正在努力深入了解这个复杂但充满机遇的领域 那么掌握行业术语就是打开这扇门的关键 支付系统的需求文档和技术方案文档都充斥着专业词汇和行业术语 有些词汇容易理解 有
  • 基于java的扫雷游戏系统设计与实现

    基于java的扫雷游戏系统设计与实现 I 引言 A 研究背景和动机 扫雷游戏是一种经典的益智游戏 由于其简单易学 规则简单 玩法多样等特点 深受广大游戏爱好者的喜爱 但是 现有的扫雷游戏系统往往存在着游戏难度不均衡 游戏时间过长 游戏规则不
  • 游戏开发常见操作系列之敌人系统的开发一(U3D)

    在开发游戏的过程中 我们常常会出现一些敌人攻击我们玩家 并且实现掉血以及死亡的现象 敌人还会源源不断地生成 这是怎么制作的呢 接下来为大家提供方法 其中使用了NGUI 后续会更新其它方法 敬请期待 使用HUDText实现扣血时显示文本 直接

随机推荐

  • 基于VS2019配置opencv4.0

    文章目录 1 前言 2 不说废话 直接上图干净利落 2 1 创建新空白项目 2 2 添加一个主文件 2 3 配置opencv环境 2 4 链接器配置 2 5 将opencv添加到计算机环境中 2 6 文件复制 3 运行测试环境 1 前言 不
  • 安信可SX1278LORA通讯试验

    LoRa 的名字是远距离无线电 Long Range Radio 作为一种线性调频扩频的调制技术 最早由法 国几位年轻人创立的一家创业公司 Cycleo 推出 2012 年 Semtech 收购了这家公司 并将这一调制技术 封装到芯片中 基
  • 3D游戏第八次作业

    3D游戏第八次作业 一 简单粒子制作 按参考资源要求 制作一个粒子系统 参考资源 使用 3 3 节介绍 用代码控制使之在不同场景下效果不一样 1 模拟烟花发射 效果展示 实现 给空对象挂载一个名为moveup的粒子系统模拟烟花发射 Emis
  • java中对象属性可以是另外一个对象或对象的参考

    7 对象的属性可以是另外一个对象或对象的参考 通过这种方法可以迅速构建一个比较大的系统 class Motor Light lights Handle left right KickStart ks Motor lights new Lig
  • 改变MySQL的默认编码

    etc mysql my cnf mysqld character set server utf8 collation server utf8 unicode ci init connect SET collation connection
  • 论文阅读-Exploring Frequency Adversarial Attacks for Face Forgery Detection(探索用于人脸伪造检测的频率对抗性攻击)

    一 论文信息 论文名称 Exploring Frequency Adversarial Attacks for Face Forgery Detection 会议 CVPR 2022 作者团队 二 动机 虽然现有的人脸伪造分类器在检测伪造图
  • Java实现异步的几种方式

    Java实现异步的几种方式 异步编程在对响应时间近乎严苛的今天 受到了越来越多的关注 尤其是在IO密集型业务中 对比传统的同步模式 异步编程可以提高服务器的响应时间和处理业务的能力 从而达到快速给用户响应的效果 代码前置 方法中会直接使用到
  • spring boot引入logback.xml

    logback xml
  • 使用@Value("${xxxx}")注解从配置文件读取值

    使用 Value xxxx 注解从配置文件读取值 记录一下自己学习配置文件读取的方法 假设配置文件为 config properties 1 从配置文件中读取值的用法 Value user username private String u
  • SpringCloud快速入门

    文章目录 1 初识 SpringCloud 1 1 微服务 1 2 简介 2 Eureka 注册中心 2 1 简易模拟一个微服务 2 1 1 搭建EurekaServer 2 1 2 注册到Eureka 2 1 3 从Eureka获取服务
  • golang 将字符串变量中的单引号、双引号和反单引号进行转义

    package main import strconv fmt func main var a string a qwe wer f lopg uiii 随便写的例子 因为字符串变量中的单双引号是我们不能提前知道的 b strconv Qu
  • 企业如何通过CRM系统做好客户管理?

    每一位客户对于企业都是非常宝贵的资源 也是企业赖以生存和发展的基础 做好客户管理和关系维护是企业必备的一种能力 如今 随着信息化的发展 很多企业为了更好的管理客户引进了CRM系统 CRM系统可以帮助企业建立 以客户为中心 的管理方式 将市场
  • 奥特曼系列赛文飞踢是哪个服务器,盘点奥特兄弟最强飞踢技,第一名实至名归你能猜到吗?...

    奥特曼系列较之拳头威力 飞踢这种技能的对比更为奥迷津津乐道 其中最具代表性的无疑是 雷欧飞踢 毕竟有数次杀敌纪录 而提起飞踢的威力对比 雷欧飞踢则不见得一定能傲视群雄 平成系暂且不论 在奥特兄弟中 也不乏能与雷欧飞踢分庭抗礼的飞踢技 力 解
  • 创建数据库(脚本实现)

    创建历史数据库 if object id dbo spr create his db is not null drop procedure dbo spr create his db go create proc dbo spr creat
  • matlab 正弦波 fft,【求助】正弦信号序列fft频谱分析!!!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 就是正弦包含频率是20hz 20 5hz 40hz 采样频率fs是100hz 分析栅栏效应 先是128个点fft 补零到512个点进行fft 再512个点fft 程序是这样的 N1 128 N2
  • innoDB数据收集方式—永久性&非永久性(四十三)

    上篇文章说了连接查询的成本 主要由驱动表的扇出值和被驱动表的查询方法决定 而成本这些都是可以在 cost 表查看的 因为分为server和engine表 server不管理数据成本 里面包含连接管理 查询缓存 sql解码 sql优化 eng
  • 动态类型语言和静态类型语言的区别

    一 概念 动态类型语言 动态类型语言是指在运行期间才去做数据类型检查的语言 也就是说 在用动态类型的语言编程时 永远也不用给任何变量指定数据类型 变量使用之前不需要类型声明 该语言会在你第一次赋值给变量时 在内部将数据类型记录下来 Pyth
  • MySQL · myrocks · 相关tools介绍

    概述 MyRocks提供了丰富的tools 如sst dump mysql ldb等 这些工具对我们的运维和分析问题非常有用 sst dump 可以导出sst中的数据和属性信息 sst dump help sst dump file
  • c# cst_CST407教学大纲-通过.NET学习C#

    c cst OREGON INSTITUTE OF TECHNOLOGY 俄勒冈理工学院 Software Engineering Technology 软件工程技术 CST 407 Seminar C and the NET Framew
  • unity3D实现多点触碰

    实现多点触碰是利用input这个类里面的方法实现的 从edit project settings input就可以看到input能够得到的轴 想要读取轴向可以使用Input GetAxis方法获取下列默认轴 Horizontal 和 Ver