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

企业网站备案资料填写单百度企业

企业网站备案资料填写单,百度企业,网站建设公司有多少,网站手机访问跳转代码文章目录一、获取到点击物体的Tansform(摁下鼠标左键的瞬间)二、移动点击的物体(摁着鼠标左键不放)三、松开左键清理被移动对象属性总结注:本文章只是学习总结的笔记,视频链接 一、获取到点击物体的Tansfor…

文章目录

  • 一、获取到点击物体的Tansform(摁下鼠标左键的瞬间)
  • 二、移动点击的物体(摁着鼠标左键不放)
  • 三、松开左键清理被移动对象属性
  • 总结

注:本文章只是学习总结的笔记,视频链接


一、获取到点击物体的Tansform(摁下鼠标左键的瞬间)

实现思路:通过Camera的ScreenPointToRay方法和Input.mousePosition鼠标坐标生成创建Ray射线,再通过Physics的Raycast方法和射线,获得被碰撞的物体相关信息存储在RaycastHit里。
实现代码:

using UnityEngine;public class 点击移动物体 : MonoBehaviour
{public Camera cam;public Transform 被点击物体;//clickedOBJ// Update is called once per framevoid Update(){if (Input.GetMouseButtonDown(0)) {Ray ray = cam.ScreenPointToRay(Input.mousePosition);RaycastHit hit;Physics.Raycast(ray, out hit);被点击物体 = hit.transform;}}
}

二、移动点击的物体(摁着鼠标左键不放)

思路:通过相机的射线和距离获得一个点,设置给物体从而达到移动物体。
距离如何获取:
方法一:获取到点击物体时hit对象中存射线起点到碰撞点的距离
方法二:通过两个点算一个距离,也就的那被移动对象的坐标和相机坐标算一个距离
代码如下:

using System.Globalization;
using UnityEngine;public class 点击移动物体 : MonoBehaviour
{public Camera cam;public Transform 被点击物体;//clickedOBJpublic float 距离;//distance// Update is called once per framevoid Update(){if (Input.GetMouseButtonDown(0)) {Ray ray = cam.ScreenPointToRay(Input.mousePosition);RaycastHit hit;if(Physics.Raycast(ray, out hit)){被点击物体 = hit.transform;距离 = Vector3.Distance(cam.transform.position, hit.transform.position);float 距离1 = hit.distance; //这是视频老师写的获取应该相机和碰撞点的距离Debug.Log($"1:{距离}\n2:{距离1}");}}if(Input.GetMouseButton(0)){if(被点击物体){Ray ray = cam.ScreenPointToRay(Input.mousePosition);被点击物体.position = ray.GetPoint(距离);}}}
}

三、松开左键清理被移动对象属性

using System.Globalization;
using UnityEngine;public class 点击移动物体 : MonoBehaviour
{public Camera cam;public Transform 被点击物体;//clickedOBJpublic float 距离;//distance// Start is called once before the first execution of Update after the MonoBehaviour is createdvoid Start(){}// Update is called once per framevoid Update(){if (Input.GetMouseButtonDown(0)) {Ray ray = cam.ScreenPointToRay(Input.mousePosition);RaycastHit hit;if(Physics.Raycast(ray, out hit)){被点击物体 = hit.transform;距离 = Vector3.Distance(cam.transform.position, hit.transform.position);float 距离1 = hit.distance; //这是视频老师写的获取应该相机和碰撞点的距离Debug.Log($"1:{距离}\n2:{距离1}");}}if(Input.GetMouseButton(0)){if(被点击物体){Ray ray = cam.ScreenPointToRay(Input.mousePosition);被点击物体.position = ray.GetPoint(距离);}}if (Input.GetMouseButtonUp(0)) {被点击物体 = null;}}
}

总结

射线生成,射线检测,射线+距离获得坐标

http://www.dtcms.com/wzjs/29599.html

相关文章:

  • wordpress dux 1.8天津外贸seo推广
  • 河南做网站公司汉狮营销推广方案ppt案例
  • 本地的上海网站建设baidu百度首页官网
  • 国外黑客网站登封网站设计
  • 邯郸网站建设网站开发网址怎么注册
  • 发布个人免费网站的一般流程图整合营销传播方法包括
  • 兰州网站制作公司广州seo诊断
  • 百度做网站需要交钱吗百度竞价推广屏蔽软件
  • 深圳广东网站建设套餐如何自己创建一个网站
  • 东营做网站排名手机cpu性能增强软件
  • 上饶做网站教育培训网页设计
  • 网站 产品原型重庆网页搜索排名提升
  • 学校网站设计论文网络测试
  • 包头网站建设站长之家最新网站
  • 网络网站建设办公郑州网站seo技术
  • wordpress进入控制台福建seo快速排名优化
  • 房屋管理系统网站优化推广seo
  • 架设网站如何进行搜索引擎优化 简答案
  • 公司网站建设介绍重庆森林经典台词
  • 金泉网做网站要找谁百度搜索收录入口
  • 怎么做独立的淘宝客网站做互联网推广的公司
  • 网络公司要求做网站工商网监自媒体平台注册
  • 做qq空间网站湖南中高风险地区
  • 有app怎么做网站百度网盘提取码入口
  • 深圳哪家公司做网站好短信广告投放软件
  • 莆田有哪些网站建设公司集客营销软件
  • 润商网站建设网络推广和网站推广
  • 作业网站的设计制作案例aso优化排名
  • 深圳网站制作哪家好域名注册查询系统
  • 家具网站建设案例今天的热点新闻