Unity3d 记录1

Unity 之 ScreenPointToRay() (将点转换成射线的方法) 类的一个方法,用于将屏幕上的一个点转换为一条射线。这条射线的起点是摄像机在屏幕上对应的点,方向是从摄像机出发指向那个点。这在进行射线命中检测时非常有用,特别是与用户界面和鼠标交互相关的场景中。时,你将一个屏幕上的点(例如鼠标位置)传递给它,它会返回一条射线,这条射线可以用于与场景中的物体进行交互,进行射线命中检测等操作。方法是一个方便的工具,用于将屏幕上的点转换为在世界空间中进行射线命中检测所需的射线。在上面的示例中,我们首先获取了主摄像机和鼠标在屏幕上的位置。中使用进行命中检测。 阅读详情

在制作拖拽的时候 网上好多例子 是用Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition)  



Ray ray =   Camera.main.ScreenPointToRay(Input.mousePosition);
Debug.Log(ray);

看API上面 写着ray 的origin 返回的值是 world坐标系的


考虑下 


注:ScreenPointToRay 只是near面上的 坐标信息 转换为 ray

1. 摄像机是透视投影的

那么使用 Ray的方式进行拖拽,如果你的模型在near面上,那你发现ray.origin的值是对的

如果模型的z 不是near面上的呢?

那么考虑下这个

Vector3 screenPosition = Camera.main.WorldToScreenPoint(transform.position);
Vector3 mScreenPos = new Vector3(Input.mousePosition.x,Input.mousePosition.y,screenPosition.z);
Vector3 worldpos = Camera.main.ScreenToWorldPoint(mScreenPos);
Debug.Log(worldpos);


2.摄像机是正交的

那么这样进行拖拽是完全没有问题的


在此只是记录一下。

Unity3D学习记录——飞盘射击游戏1 1.这里我简单记录下打飞盘游戏的代码,场景和手臂等建模是现成的,其中还包含音效,光线等,调试由自己调试 2.盘子随机生成代码 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CreateDisc : MonoBehaviour { publ 阅读详情

相关推荐

Unity3D学习笔记-延时功能

Unity3D-延时功能 写在前面的一些话:最近刚刚开始学习Unity,想把自己学习过程记录下来,方便以后查阅,本文参考学习了别的博主,并结合了自身的学习过程。本人基础知识比较浅薄,如有差错,希望大家能够指出并一起讨论,谢谢。 在Unity3D中,新建的脚本会默认继承MonoBehaviour,其中Update函数会被引擎自动调度,那么Unity3D中,仅有通过Update函数来实现延时功能吗? 还有无其他的实现呢? 答案是有的,下面就列出来几种延时功能(定时器): 1.Update函数 定义一个时间变量

sinat_38289113的博客 574

Unity Camera.ScreenPointToRay方法了解与使用

Unity Camera.ScreenPointToRay方法了解与使用

不在同一频道上的呆子的博客 2033

Unity3D学习——(一)让Unity3D中的单位与2D像素对应

学习Unity3D有两三天了,突然想起来该把自己学习的写出博客,方便以后复习。 那就从今天开始吧 今天遇到一个问题,在用Unity3D做2D游戏的动画播放器的时候(没有用第三方的插件)发现一个问题。 Unity3D的中1个单位是一米,但我却不知道是多少像素 举个例子,我有一张 400*300的 Texture,我新建了一个分辨率为800*600的工程 并且在工程中

unskytoo的博客 1万+

Unity——射线检测

1.new Raw(cube0.transform,Vector3.forward) 射线,第一个参数:射线的起始点;第二参数:射线的方向 myray = new Ray(this.gameObject.transform.position, Vector3.forward); 2.Physics.Raycast(myray) 物理射线检测,返回值是bool类型,根据返回值只能确定当前射线有没有碰撞到其他碰撞体 ...

m0_51743362的博客 1万+

Unity3D 移动MM 支付SDK 问题

环境: Windows 8.1 x64 Eclipse Luna Unity3D 4.6 / 5.0 MMBilling 3.1.32015-04-20折腾了很久, 实际上仍未解决问题, 直到上周找到高人指点, 才发现没有那么多繁琐的步骤, 步骤如下: 右键点击你的安卓SDK工程, 导出jar文件. 将导出的jar放到Unity工程里面, 路径为\Assets\Plugins\Android

yatyfornetuse的专栏 2046

Unity3D历史记录清除小工具

《Unity3D历史记录清除小工具》 由于Unity高版本在打开软件后,默认会显示历史的工程列表。 也没法一条一条的进行删除。 所以抽空写了一个小工具,来清除你需要清除的历史项。 此操作只删除历史记录,不会删除任何文件,安全可靠! 打开UntiyProTool.exe程序运行操作即可,简单方便!! 运行环境:.NET Framework4 优快云原博客:https://blog.csdn.net/sjt223857130/article/details/88956825

Unity 射线检测 ScreenPointToRay 检测不到物体的问题

我的是透视相机: float z = Camera.main.transform.position.y; Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, z); Ray ray = Camera.main.ScreenPointToRay(mousePos); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { Debug.Log(hit.

ahaiyang163的博客 2871

RM机器人麦轮底盘实战:从零搭建到PID调参全记录(附避坑指南)

本文详细记录了RM机器人麦轮底盘从零搭建到PID调参的全过程,涵盖硬件组装、开发环境搭建、底盘解算和PID调参等关键步骤,并附有实用的避坑指南。特别针对麦轮控制、底盘解算和电机调试等核心问题提供了专业解决方案,帮助开发者快速提升机器人性能。

bush的博客 379

Unity手册精读系列---Camera相关

此范围之外的值也是允许使用的,但通常没有必要。如果要绘制玩家的枪支而不使其陷入环境中,可以设置一个深度 (Depth)为 0 的摄像机来绘制环境,并设置另一个深度为 1 的摄像机来单独绘制武器((单独绘制就意味着使用Culling Mask实现单独渲染该层)。如果继续向上移动杆并进一步将其向上倾斜,则杆的末端最终将超出摄像机视锥体范围,此时就会由摄像机进行裁剪超出的部分,保留未超出的部分。当有多台摄像机进行游戏场景的拍摄时,尤其是同一块场景的拍摄,可以通过“深度高的摄像机将深度低的摄像机拍摄的场景覆盖”。

qq_61597632的博客 1926

绿联UGOS Pro系统虚拟机部署Windows 11详细教程(跳账户登录,安装内存驱动)

总的来说,此次的虚拟机部署Windows 11出现的问题应该是目前几乎所有虚拟机都可能出现的问题,和绿联是没有关系的。所以说如果你在其它NAS上虚拟机部署Windows 11系统如果出现同样的问题,那么今天教程的方案也同样适用于你。

qq_63499861的博客 1万+

泛微OA与金蝶云星空深度集成实战:审批与表单双场景解析

本文深入解析泛微OA与金蝶云星空的深度集成实战,聚焦审批流程与表单对接两大核心场景。通过具体案例,详细阐述了如何实现业务数据与审批流程的自动联动,打破数据孤岛,提升企业运营效率与数据一致性,并分享了接口设计、安全策略及实战避坑指南。

4k5l6j7h8的博客 469

【Unity3D学习记录#1】Unity3D Android打包报错:UnityEditor.BuildPlayerWindow+BuildMethodException

Unity3D Android打包出错:UnityEditor.BuildPlayerWindow+BuildMethodException 问题描述 今天在学习Unity3D时想打包测试,但是却出了如下错误: UnityEditor.BuildPlayerWindow+BuildMethodException: 19 errors at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlaye

qq_41144887的博客 6972

【量化交易】迅投QMT——基础操作新建策略导入策略!

策略指标 #基础操作 #新建策略 在【我的】主页,点击新建策略按钮 点击【pyhton策略】模型 会弹出一个策略编辑器框 【新建策略文件】 编辑完点击【编译】按钮 关闭策略编辑器 导入策略 券商 QMT:1. 点击进入【模型研究】界面2. 右键 -> 选择本地. rzrk导入 投研端:1. 点击【行情】界面,选择模型2. 右键 -> 选择本地. rzrk导入 #策略在副图作为指标运行 在主图上双击策略 VBA策略可以直接输出图像

weixin_eng02048的博客 4116

Unity3D自学记录1——读取json文件&UDP通信

Unity3D自学记录1——读取json文件&UDP通信 作为一个没有系统学习过的小菜鸟,目前只求实现功能,不深究原理,如有疏漏或更简单的方法,还望各位多多指教。 在优快云上查过许多关于“UDP通信“,”读取json”的博文,试过在Unity添加json相关的包等各种方法,但都没能实现想要的功能,后来在一位良师益友的帮助下改进了代码,记下经验的同时也希望帮助到需要实现相关功能的朋友。 使用软件版本:Unity5.0 实现功能:从json文件读取端口号和IP地址实现UDP的通信 (发送部分和接收的数

LareinaLiang的博客 616

手把手教你学Simulink--基于Simulink的风力发电系统用双馈电机控制仿真建模

特点高效节能:在广泛的风速范围内保持高效的能量转换。独立控制有功和无功功率:通过控制转子电流实现对有功和无功功率的独立调节。较低的成本:相比直接驱动或全功率变流器方案,成本较低。挑战控制复杂度较高:需要复杂的控制算法来实现有功和无功功率的解耦控制。对电网波动敏感:需要良好的稳定性控制策略以应对电网电压波动。利用Simscape Electrical中的模块构建DFIG的物理模型,配置参数如电阻、电感、极对数等。matlab深色版本% 添加DFIG电机模块。

MHD0815的博客 353

医疗影像配准与融合: 使用MATLAB对医学影像进行配准和融合,实现不同影像模态之间的对准和结构信息融合等

医疗影像配准与融合是医学影像处理的重要技术,它用于将不同来源、不同时间或不同模态的医学影像进行配准和融合,以获得更加完整、准确的患者解剖信息。基于MATLAB的医疗影像配准与融合可以帮助医生更准确地诊断疾病,制定更有效的治疗方案。医疗影像配准与融合是医学影像处理的关键技术,它对于提高医学影像诊断和治疗的准确性至关重要。MATLAB是一种功能强大的数学和科学计算软件,它可以为医疗影像配准与融合提供强大的工具和支持。

走向CTO的路上... 718

unity3D学习记录——1.小球碰撞

为了防止自己那天忘了,记录一下自己学习记录。纯小白,感觉自己记录的特白痴 1.使用材质使小球动起来。 2.记录碰撞次数(private int Null;) 3.使用UI,在游戏界面中建立Text 4.调用UI(public Text text;)3.4两步建立碰撞次数UI 5.碰撞函数 6.加限制条件( if (Null==5) { game.text = "游戏结束"; Destroy(transform); ...

qq_57015487的博客 2526

MC_SetOverride指令详细应用介绍(基恩士PLC)

基恩士KV系列PLC和松下总线绝对值伺服运动控制(详细配置+轴控完整ST源代码)

RXXW_Dor的博客 336

Unity3D学习记录——AudioSource1

1.AudioSource相当于音频播放器 2.创建空物体 3.添加AudioSource组件

daisgi的博客 471

【数据集】CMIP6气候模式数据下载

简介CMIP6及其气候模式数据下载

WW、forever的博客 9360

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Unity3D学习记录1——粒子效果受WindZone影响

Unity3D粒子效果受WindZone影响

q54402145的专栏 7861

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Unity3D学习记录——API工具类1

1.Screen 屏幕类 作用:设置文本或其它在屏幕中间,不论分辨率 2.设置CubeScore在屏幕中间 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Center : MonoBehaviour { public GUIText m_cube

daisgi的博客 410

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Unity3D学习记录——API实例化与销毁1

1.API实例化对象 2.应用场景:天上掉落大量金币 3.创建空物体当作掉落点 4.编写脚本并添加到空物体 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Down : MonoBehaviour { public GameObject

daisgi的博客 495

uFrame 1.6 自学路线

前言:   这几天一直在研究uFrame 1.6 插件的学习,刚开始在网上搜,资料寥寥无几,然后找到了github的官方文档和案列入手,到现在终于算是有收获了。在这里决定写下学历历程给有需要的人查阅。 学习历程:   解构C#游戏框架uFrame兼谈游戏架构设计   uFrame插件导入报错   Unity3D框架插件uFrame实践记录(一)   Unity3D框架插件uFrame...

weixin_30297281的博客 142

[Unity3D] 记录一下ScrollView中粒子无法被Mask遮挡的问题解决过程

【Unity3D】ScrollView中粒子无法被Mask遮挡

beerbar3的博客 2291

Unity3d版本升级日志

Unity3d版本升级日志 因项目需求将Unity版本由3.5.6升到4.1.2后,对项目本身造成影响的几处版本间差异: 1. EditorUtility.SetAssetPreview接口被废弃 2.GameObject clone_gameobject = GameObject.Instante(mother_gameobjec...

weixin_30809333的博客 325
上一篇: Unity3D Shader 初步学习
下一篇: iOS 调用音乐播放以及视频播放器
coding_most
博客等级 码龄15年 13粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值