【Unity腳本開源】記錄鼠標按下的位置和移動的距離來進行物體的旋轉,并在鼠標釋放后將物體恢復到初始旋轉位置

??作者:白日參商
🤵?♂?個人主頁:白日參商主頁
??堅持分析平時學習到的項目以及學習到的軟件開發知識,和大家一起努力呀!!!
🎈🎈加油! 加油! 加油! 加油
🎈歡迎評論 💬點贊👍🏻 收藏 📂加關注+!

項目場景:

例如:項目場景:在unity開發過程中,我們有時候會希望在鼠標按下時開始旋轉,通過記錄鼠標按下的位置和移動的距離來進行物體的旋轉,并在鼠標釋放后將物體恢復到初始旋轉位置。


解決方案:

提針對這個需求,以下是示例腳本代碼:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ObjectRotationWithMouse : MonoBehaviour
{public float rotationSpeed = 1.0f;  // 旋轉速度private Quaternion initialRotation;  // 初始旋轉private bool isRotating = false;  // 標記是否正在旋轉private float rotationStartX;  // 旋轉起始點的X坐標private void Start(){initialRotation = transform.rotation;  // 記錄初始旋轉}private void Update(){if (Input.GetMouseButtonDown(0)){isRotating = true;rotationStartX = Input.mousePosition.x;}else if (Input.GetMouseButtonUp(0)){isRotating = false;transform.rotation = initialRotation;  // 恢復初始旋轉}if (isRotating){// 獲取鼠標水平移動的值float mouseX = Input.mousePosition.x - rotationStartX;// 計算旋轉角度float rotationAmount = mouseX * rotationSpeed * Time.deltaTime;// 圍繞自身 Y 軸旋轉物體transform.Rotate(Vector3.up, rotationAmount);rotationStartX = Input.mousePosition.x;  // 更新旋轉起始點}}
}

??作者:白日參商
🤵?♂?個人主頁:白日參商主頁
??堅持分析平時學習到的項目以及學習到的軟件開發知識,和大家一起努力呀!!!
🎈🎈加油! 加油! 加油! 加油
🎈歡迎評論 💬點贊👍🏻 收藏 📂加關注+!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38889.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38889.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38889.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

go-安裝部署

一、安裝go 詳細安裝方式可以查看官網 # 下載 wget https://golang.google.cn/dl/go1.21.0.linux-amd64.tar.gz # 解壓縮 tar -xzf go1.21.0.linux-amd64.tar.gz # 遷移目錄 mv go /usr/local # 配置環境變量 export PATH$PATH:/usr/local/go/bin # 檢查go的版本 go version有…

Python中的字符串與字符編碼

Hello,這里是Token_w的博客,歡迎您的到來 今天文章講解的是Python中的字符串與字符編碼,其中有基礎的理論知識講解,也有實戰中的應用講解,希望對你有所幫助 整理不易,如對你有所幫助,希望能得到…

PDM/PLM系統建設

僅供學習使用,會隨時更新 工程機械跨生命周期數據管理系統 來源:清華大學 淺論企業PDM/PLM系統建設成功經驗 來源:e-works 作者:陳凡 https://articles.e-works.net.cn/pdm/article149572.htm 隨著“中國制造2025”強基工程戰略的…

張俊林:由ChatGPT反思大語言模型(LLM)的技術精要

轉自:https://mp.weixin.qq.com/s/eMrv15yOO0oYQ-o-wiuSyw 導讀:ChatGPT出現后驚喜或驚醒了很多人。驚喜是因為沒想到大型語言模型(LLM,Large Language Model)效果能好成這樣;驚醒是頓悟到我們對LLM的認知及發展理念&a…

Elisp之獲取PC電池狀態(二十八)

簡介: CSDN博客專家,專注Android/Linux系統,分享多mic語音方案、音視頻、編解碼等技術,與大家一起成長! 優質專欄:Audio工程師進階系列【原創干貨持續更新中……】🚀 人生格言: 人生…

Linux學習筆記

grep -r "root" /var/log/messages #查找一個目錄下所有包含特定字符竄的文件 grep -r "root" /var/log/messages |wc -l #如何計算一個文本文件中某個單詞出現的次數? du -sh /var/log #如何統計一個目錄下所有文件和子目錄的總大小&#xff1…

博客摘錄「 佛祖保佑,永無bug——springboot啟動圖案的修改方法」2023年6月8日

挺有意思的。佛祖保佑永無BUG 神獸護體 代碼注釋(各種版本)_風流 少年的博客-CSDN博客

ArcGIS Pro 基礎安裝與配置介紹

ArcGIS Pro ArcGIS Pro作為ESRI面向新時代的GIS產品,它在原有的ArcGIS平臺上繼承了傳統桌面軟件(ArcMap)的強大的數據管理、制圖、空間分析等能力,還具有其獨有的特色功能,例如二三維融合、大數據、矢量切片制作及發布…

django中實現事務/django實現悲觀鎖樂觀鎖案例

django中實現事務的幾種方式 # 1 全局開啟事務---> 全局開啟事務,綁定的是http請求響應整個過程DATABASES {default: {#全局開啟事務,綁定的是http請求響應整個過程ATOMIC_REQUESTS: True, }}from django.db import transaction# 局部禁用事務trans…

Unity 鼠標控制 UI 放大、縮小、拖拽

文章目錄 1. 代碼2. 測試場景 1. 代碼 using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems;public class UIDragZoom : MonoBehaviour, IDragHandler, IScrollHandler {private Vector2 originalSize;private Vector2 originalPosition;private RectTr…

css3 瀑布流布局遇見截斷下一列展示后半截現象

css3 瀑布流布局遇見截斷下一列展示后半截現象 注:css3實現瀑布流布局簡直不要太香~~~~~ 場景-在uniapp項目中 當瀑布流布局column-grap:10px 相鄰兩列之間的間隙為10px,column-count:2,2列展…

面試之快速學習C++11-完美轉發,nullptr, shared_ptr,unique_ptr,weak_ptr,shared_from_this

完美轉發及其實現 函數模版可以將自己的參數完美地轉發給內部調用的其他函數。所謂完美,即不僅能準確地轉發參數的值,還能保證被轉發參數的左右值屬性不變引用折疊:如果任一引用為左值引用,則結果為左值引用,否則為右…

在阿里云服務器上安裝Microsoft SharePoint 2016流程

本教程阿里云百科分享如何在阿里云ECS上搭建Microsoft SharePoint 2016。Microsoft SharePoint是Microsoft SharePoint Portal Server的簡稱。SharePoint Portal Server是一個門戶站點,使得企業能夠開發出智能的門戶站點。 目錄 背景信息 步驟一:添加…

【Leetcode 30天Pandas挑戰】學習記錄 下

題目列表: 數據統計:2082. The Number of Rich Customers1173. Immediate Food Delivery I1907. Count Salary Categories 數據分組1741. Find Total Time Spent by Each Employee511. Game Play Analysis I2356. Number of Unique Subjects Taught by Each Teacher…

無涯教程-Perl - setgrent函數

描述 此功能將枚舉設置(或重置)到組條目集的開頭。該函數應在第一次調用getgrent之前調用。 語法 以下是此函數的簡單語法- setgrent返回值 此函數不返回任何值。 例 以下是顯示其基本用法的示例代碼- #!/usr/bin/perl -wwhile( ($name,$passwd,$gid,$members)getgrent…

ide internal errors【bug】

ide internal errors【bug】 前言版權ide internal errors錯誤產生相關資源解決1解決2 設置虛擬內存最后 前言 2023-8-15 12:36:59 以下內容源自《【bug】》 僅供學習交流使用 版權 禁止其他平臺發布時刪除以下此話 本文首次發布于CSDN平臺 作者是CSDN日星月云 博客主頁是h…

C++模板的分離編譯問題

本文主要是了解一下為什么模板的定義和聲明不能分開,需要簡單了解一下編譯的四個階段。 一、理解編譯大致流程 整個編譯流程分為:預處理、編譯、匯編、鏈接,這里以源文件main.cpp文件為例。 預處理:對源文件進行宏替換、去注釋、…

CentOS8防火墻基礎操作應用

查看防火墻某個端口是否開放 firewall-cmd --query-port80/tcp 開放防火墻端口80 firewall-cmd --zonepublic --add-port80/tcp --permanent 關閉80端口 firewall-cmd --zonepublic --remove-port80/tcp --permanent 配置立即生效firewall-cmd --reload 查看防火墻狀態 s…

代碼隨想錄算法訓練營第58天|動態規劃part15|392.判斷子序列、115.不同的子序列

代碼隨想錄算法訓練營第58天|動態規劃part15|392.判斷子序列、115.不同的子序列 392.判斷子序列 392.判斷子序列 思路: (這道題也可以用雙指針的思路來實現,時間復雜度也是O(n)) 這道題應該算是編輯距…

[Android 11]使用Android Studio調試系統應用之Settings移植(七):演示用AS編譯錯誤問題

文章目錄 1. 篇頭語2. 系列文章3. AS IDE的配置3.1 AS版本3.2 Gradle JDK 版本4. JDK的下載5. AS演示工程地址6.其他版本JDK導致的錯誤1. 篇頭語 距離2021年開始,系列文章發表已經有近兩年了,依舊有網友反饋一些gitee上演示源碼編譯的一些問題,這里就記錄一下。 2. 系列文章…