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

廊坊哪里有做网站的3d建模培训班一般多少钱

廊坊哪里有做网站的,3d建模培训班一般多少钱,专业建筑公司网站,知名品牌vi设计案例分析文章目录一、获取到点击物体的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/400536.html

相关文章:

  • 公司网站出现空白页职业培训学校加盟合作
  • 怎么做自己的html网站seo排名怎么看
  • 国外美容院网站seo个人博客
  • 滁州市重点工程建设管理局网站社群营销方案
  • 网站升级建设自动推广引流app
  • 有没有专门做尾料回收的网站清远今日头条最新消息
  • 苏州市住房和城乡建设局信息网站百度自然搜索排名优化
  • 展示型网站制作服务网站制作的步骤
  • 精湛的网站建设天津网络广告公司
  • 哪个网站做批发比较好免费行情软件网站下载
  • div css3网站布局搜索推广开户
  • 贵阳网站制作专业网络广告案例以及分析
  • 邯郸做网站推广多少钱黄冈网站推广软件有哪些
  • 网站空间指的是什么小学生抄写新闻20字
  • 华电集团班组建设网站google关键词搜索技巧
  • 常德网站建设要点游戏推广公司好做吗
  • 阿里 做网站策划书模板
  • 云主机重装系统后网站重新部署吗国内搜索网站排名
  • 单位建设的网站属于无形资产吗互联网营销成功案例
  • 浙江网站建设企业链接式友谊
  • 网站开发英语翻译公司运营策划营销
  • 建网站备案好麻烦seo关键词推广渠道
  • 成都网站建设优化企业排名seo优化推广专员招聘
  • 南海最新消息seo搜狗排名点击
  • 杭州网站建设设计公司奉化首页的关键词优化
  • 免费域名申请网站空间简述网站建设的基本流程
  • 网站托管公司市场营销策划书范文5篇精选
  • html5网站模板移动端优化设计答案四年级上册语文
  • 营销型网站建设定制网站建设优化大师安卓版
  • 深圳网站建设专业公司网络项目平台