unity3D實(shí)現(xiàn)三維物體跟隨鼠標(biāo)
本文實(shí)例為大家分享了unity3D實(shí)現(xiàn)三維物體跟隨鼠標(biāo)的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:

1.創(chuàng)建一個三維物體Cylinder圓柱體 Target

2.創(chuàng)建詞匯表Yellow材質(zhì)球

3.將材質(zhì)球掛載到Target物體上

4.創(chuàng)建腳本MouseMove.cs

MouseMove.cs代碼
using UnityEngine;
/*
讓物體完全跟隨鼠標(biāo)
*/
public class MouseMove : MonoBehaviour
{
[Header("主相機(jī)")]
[Tooltip("主相機(jī)")]
/// <summary>
/// 主相機(jī)
/// </summary>
public Camera m_mainCamera;
[Header("目標(biāo)物體")]
[Tooltip("目標(biāo)物體")]
/// <summary>
/// 目標(biāo)物體
/// </summary>
public Transform m_target;
void Start()
{
isDown = false;
targetWTSP = m_mainCamera.WorldToScreenPoint(m_target.position);
}
/// <summary>
/// 是否按下
/// </summary>
private bool isDown;
/// <summary>
/// 記錄初始化時候target世界坐標(biāo)轉(zhuǎn)屏幕坐標(biāo)時候的位置 WTSP==WorldToScreenPoint
/// </summary>
private Vector3 targetWTSP;
void Update()
{
if (Input.GetMouseButtonDown(0)) {
isDown = true;
}
if (Input.GetMouseButtonUp(0))
{
isDown = false;
}
}
private void LateUpdate()
{
if (isDown)
{
Vector3 mouseVec3 = m_mainCamera.ScreenToWorldPoint(
new Vector3(Input.mousePosition.x, Input.mousePosition.y, targetWTSP.z)
);
m_target.position = mouseVec3;
}
}
}
5.新建一個空物體Script,并將MouseMove.cs腳本掛載上去,再將相機(jī)和Target物體拖拽到腳本上

完畢!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c# GridControl的模糊查詢實(shí)現(xiàn)代碼
這篇文章主要介紹了c# GridControl的模糊查詢實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-02-02
C#實(shí)現(xiàn)百分比轉(zhuǎn)小數(shù)的方法
這篇文章主要介紹了C#實(shí)現(xiàn)百分比轉(zhuǎn)小數(shù)的方法,涉及C#進(jìn)行數(shù)值計算的相關(guān)技巧,需要的朋友可以參考下2015-06-06
C#利用Openxml讀取Excel數(shù)據(jù)實(shí)例
這篇文章主要介紹了C#利用Openxml讀取Excel數(shù)據(jù)的方法,包括使用中的注意點(diǎn)分析及疑難探討,需要的朋友可以參考下2014-09-09
c# 從內(nèi)存中釋放Selenium chromedriver.exe
這篇文章主要介紹了c# 從內(nèi)存中釋放Selenium chromedriver.exe的方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-01-01

