当前位置: 首页 > news >正文

Unity射线之拾取物体

实现效果:

可以移动场景内物品放置到某个位置。通过射线检测,点击鼠标左键,移动物体,再点击左键放下物体。

效果:

移动物体

实现思路:

通过射线检测,将检测到的物体吸附到摄像机前的一个空物体处,作为该空物体的子物体,归零子物体坐标和旋转角度。需要有一个判定条件来判断物体是在被拖拽还是被放下,引入bool isDragging,点击左键,检测到的物体移动到空物体处,再点击左键,解除与空物体父子关系,从而实现拾取物体。

源码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;///summary
///拖拽物体 移动到指定位置
///summary
public class DragCube : MonoBehaviour
{public Transform carryParent;   //拾取物体的父物体private Transform carryCube;  //拾取到的物体public RaycastHit hit;public Ray ray;public LayerMask mask;private bool isDragging = false;void Update(){ray = Camera.main.ScreenPointToRay(Input.mousePosition);if (!isDragging){if (Physics.Raycast(ray, out hit,10, mask) && Input.GetMouseButtonDown(0)){isDragging = true;  //更改可拖拽carryCube = hit.transform;carryCube.parent = carryParent;carryCube.localPosition = Vector3.zero;  //固定位置carryCube.localEulerAngles = Vector3.zero;      //固定角度  }}else{if(Input.GetMouseButtonDown(0)){isDragging = false;carryCube.parent=null;  //取消父子关系carryCube.eulerAngles = new Vector3(0, carryCube.eulerAngles.y, 0);   //限制物体x z轴角度,以免物体发生偏转                 }}}
}

相关文章:

Unity射线之拾取物体

实现效果: 可以移动场景内物品放置到某个位置。通过射线检测,点击鼠标左键,移动物体,再点击左键放下物体。 效果: 移动物体 实现思路: 通过射线检测,将检测到的物体吸附到摄像机前的一个空物…...

Python的numpy库矩阵计算(数据分析)

一、创建矩阵 import numpy as np#创建矩阵anp.arange(15).reshape(3,5) bnp.arange(15,30).reshape(3,5) 使用arrange和reshape创建的二维数组就可以看成矩阵。 此时a和b存储的是: [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]] [[15 16 17 18 19]…...

R语言的基本语句及基本规则

0x01 赋值语句 使用 “<-” 或 “” 进行赋值。例如&#xff1a; x <- 5 # 将数值 5 赋值给变量 x y 10 # 另一种赋值方式0x02 输出语句 使用 print() 函数输出内容。例如&#xff1a; print("Hello, R!") print(x)0x03 注释语句 任何在 #之后的内容在…...

网络受限情况下安装openpyxl模块提示缺少Jdcal,et_xmlfile

1.工作需要处理关于Excel文件内容的东西 2.用公司提供的openpyxl模块总是提示缺少jdcal文件,因为网络管控,又没办法直接使用命令下载&#xff0c;所以网上找了资源&#xff0c;下载好后上传到个人资源里了 资源路径 openpyxl jdcal et_xmlfile 以上模块来源于&#xff1a;Py…...

【算法】- 查找 - 散列表查询(哈希表)

文章目录 前言一、哈希表的思想二、哈希表总结 前言 散列技术&#xff1a;在记录的存储位置和它的关键字之间建立一个确定的对应关系f&#xff0c;使得每个关键字key对应一个存储位置f(key) 哈希表&#xff1a;采用散列技术将记录存储在一块连续的存储空间中&#xff0c;这块连…...

货币政策工具

本文为个人学习笔记&#xff0c;内容源于教材&#xff1b;整理记录的同时也作为一种分享。 1. 简介 货币政策工具作为央行实现货币政策目标的经济手段&#xff0c;以期达到最终目标&#xff0c;即物价稳定&#xff0c;充分就业&#xff0c;经济增长&#xff0c;国际收支平衡。…...

std::async概念和使用方法

std::async是 C 标准库中的一个函数模板&#xff0c;用于启动一个异步任务&#xff0c;并返回一个std::future对象&#xff0c;该对象可用于获取异步任务的结果。 1、概念 std::async允许你以异步的方式执行一个函数或者可调用对象&#xff0c;它会在后台启动一个新的线程或者…...

Chatgpt 原理解构

一、背景知识 1. 自然语言处理的发展历程 自然语言处理在不同时期呈现出不同的特点和发展态势。萌芽期&#xff0c;艾伦・图灵在 1936 年提出 “图灵机” 概念&#xff0c;为计算机诞生奠定基础&#xff0c;1950 年他提出著名的 “图灵测试”&#xff0c;预见了计算机处理自然…...

【每日刷题】Day135

【每日刷题】Day135 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. LCR 011. 连续数组 - 力扣&#xff08;LeetCode&#xff09; 2. 【模板】二维前缀和_牛客题霸_牛客…...

Linux运维01:VMware创建虚拟机

视频链接&#xff1a;05.新建VM虚拟机_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1nW411L7xm/?p14&spm_id_from333.880.my_history.page.click&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.点击“创建虚拟机” 2.选择“自定义&#xff08;高级&#xff0…...

服务器平均响应时间和数据包大小关系大吗?

服务器的平均响应时间与数据包大小有一定的关系&#xff0c;但这只是影响响应时间的众多因素之一。具体来说&#xff0c;数据包大小对服务器响应时间的影响可以从以下几个方面来理解&#xff1a; 1. 数据传输时间 影响: 较大的数据包需要更多的时间在网络上传输&#xff0c;因此…...

Vue入门-指令学习-v-show和v-if

v-show&#xff1a; 作用&#xff1a;控制元素的显示隐藏 语法&#xff1a;v-show"表达式" 表达式值true显示&#xff0c;false隐藏 v-if 作用&#xff1a;控制元素的显示隐藏&#xff08;条件渲染&#xff09; 语法&#xff1a; vif"表达式" 表达式tr…...

nacos多数据源插件介绍以及使用

概述 在微服务架构中&#xff0c;服务配置的集中管理和动态调整是至关重要的。Nacos 提供了配置管理和服务发现的功能&#xff0c;其中配置管理支持动态数据源的切换&#xff0c;增强了其在复杂环境中的适用性。默认情况下&#xff0c;Nacos 支持 MySQL 和Derby&#xff0c;但…...

国庆档不太热,影视股“凉”了?

今年国庆档票房止步21亿元&#xff0c;属实有点差强人意。 根据国家电影局统计&#xff0c;2024年国庆档&#xff08;2024年10月1日至7日&#xff09;全国电影票房为21.04亿元&#xff0c;观影人次为5209万&#xff0c;总票房成绩、观影总人次同比均有所下滑。 作为传统观影高…...

QtDesign预览的效果与程序运行的结果不一致的解决方法

存在的问题 使用Qt designer软件设计出来的界面&#xff0c;与转换成python程序运行出来的结果不一致&#xff0c;具体看下图 Qt designer预览结果 程序运行出来的结果 原因分析 我自己的电脑是2560*1600分辨率的屏幕&#xff0c;采用的是200%的缩放比例&#xff0c;出现这种…...

模运算和快速幂

文章目录 模运算快速幂 模运算 模运算是大数运算中的常用操作。如果一个数太大&#xff0c;无法直接输出&#xff0c;或者不需要直接输出&#xff0c;则可以对它取模&#xff0c;缩小数值再输出。取模可以防止溢出&#xff0c;这是常见的操作。 取模运算一般要求a和m的符号一…...

【机器学习】——神经网络与深度学习:从基础到应用

文章目录 神经网络基础什么是神经网络&#xff1f;神经网络的基本结构激活函数 深度学习概述什么是深度学习&#xff1f;常见的深度学习算法 深度学习的工作流程深度学习的实际应用结论 引言 近年来&#xff0c;神经网络和深度学习逐渐成为人工智能的核心驱动力。这类模型模仿人…...

Unity各个操作功能+基本游戏物体创建与编辑+Unity场景概念及文件导入导出

各个操作功能 部分功能 几种操作游戏物体的方式&#xff1a; Center:有游戏物体父子关系的时候&#xff0c;中心点位置 Global/Local:世界坐标系方向/自身坐标系方向 &#xff1a;调试/暂停/下一帧 快捷键 1.Alt鼠标左键&#xff1a;可以实现巡游角度查看场景 2.鼠标滚轮…...

QT入门教程攻略 QT入门游戏设计:贪吃蛇实现 QT全攻略心得总结

Qt游戏设计&#xff1a;贪吃蛇 游戏简介 贪吃蛇是一款经典的休闲益智类游戏&#xff0c;玩家通过控制蛇的移动来吃掉地图上的食物&#xff0c;使蛇的身体变长。随着游戏的进行&#xff0c;蛇的移动速度会逐渐加快&#xff0c;难度也随之增加。当蛇撞到墙壁或自己的身体时&…...

Linux No space left on device分析和解决

报错解释&#xff1a; "No space left on device" 错误表示你的Linux设备&#xff08;通常是磁盘分区&#xff09;上没有剩余空间了。这可能是因为磁盘已满&#xff0c;或者inode已满。磁盘空间是指磁盘上的实际空间&#xff0c;而inode是用来存储文件元数据的数据结…...

仅限内部团队流通的Perplexity调试日志解析手册:5类query失败根因定位图谱(含curl+curl-debug完整链路)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity技术文档查询 Perplexity 是一种衡量语言模型预测能力的核心指标&#xff0c;其值越低&#xff0c;表明模型对给定文本序列的不确定性越小&#xff0c;预测越精准。在技术文档查询场景中&#xff0…...

不止是怀旧:用Docker部署超级马里奥,聊聊容器化对经典软件保存的意义

容器化时光机&#xff1a;用Docker守护数字文化遗产的技术实践 在数字时代洪流中&#xff0c;经典软件如同沙漏中的细沙&#xff0c;正以惊人的速度从我们的指尖流逝。那些曾经定义了一个时代的程序、游戏和工具&#xff0c;正面临着"数字消亡"的威胁——操作系统迭代…...

JetBrains IDE试用期重置终极指南:如何永久免费使用专业开发工具

JetBrains IDE试用期重置终极指南&#xff1a;如何永久免费使用专业开发工具 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 还在为JetBrains IDE试用期到期而烦恼吗&#xff1f;每次30天试用结束后&#xff0c;那…...

嵌入式Linux USB Gadget ADB调试通道实现与深度解析

1. 项目概述&#xff1a;从零构建嵌入式设备的USB ADB调试通道在嵌入式Linux开发中&#xff0c;调试手段的便捷性直接决定了开发效率。传统的串口调试虽然稳定&#xff0c;但在传输大文件、执行复杂命令时&#xff0c;速度和灵活性都显得捉襟见肘。而Android Debug Bridge&…...

对比直接使用官方API通过聚合平台管理网站AI调用的体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比直接使用官方API与通过聚合平台管理网站AI调用的体验 作为一名网站开发者&#xff0c;在项目中集成大模型能力已成为常态。早期…...

保姆级教程:用ESP32 AT固件实现手机蓝牙配对,从编译到连接一次搞定

ESP32蓝牙开发实战&#xff1a;从固件编译到手机配对的完整指南 在物联网设备开发中&#xff0c;蓝牙连接是最基础也最常用的功能之一。ESP32作为一款高性价比的Wi-Fi/蓝牙双模芯片&#xff0c;凭借其出色的性能和丰富的开发资源&#xff0c;已经成为智能家居、可穿戴设备等领域…...

【免费下载】 探索8051开发新境界:IAR for 8051(8.10版本)资源下载推荐

探索8051开发新境界&#xff1a;IAR for 8051&#xff08;8.10版本&#xff09;资源下载推荐 【下载地址】IARfor80518.10版本资源下载 IAR for 8051&#xff08;8.10版本&#xff09;资源下载 项目地址: https://gitcode.com/open-source-toolkit/1b6d8 项目介绍 在嵌…...

AMP插件开发者工具完全指南:如何快速诊断和修复AMP验证问题

AMP插件开发者工具完全指南&#xff1a;如何快速诊断和修复AMP验证问题 【免费下载链接】amp-wp Enable AMP on your WordPress site, the WordPress way. 项目地址: https://gitcode.com/gh_mirrors/am/amp-wp 你是否正在为WordPress网站的AMP验证问题而烦恼&#xff1…...

3分钟解决Windows热键冲突:Hotkey Detective完全使用指南

3分钟解决Windows热键冲突&#xff1a;Hotkey Detective完全使用指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否…...

Legacy iOS Kit:让旧款iOS设备重获新生的终极免费工具

Legacy iOS Kit&#xff1a;让旧款iOS设备重获新生的终极免费工具 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...