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

1.創(chuàng)建一個(gè)三維物體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>
/// 記錄初始化時(shí)候target世界坐標(biāo)轉(zhuǎn)屏幕坐標(biāo)時(shí)候的位置 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.新建一個(gè)空物體Script,并將MouseMove.cs腳本掛載上去,再將相機(jī)和Target物體拖拽到腳本上

完畢!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c#設(shè)計(jì)模式之單例模式的實(shí)現(xiàn)方式
這篇文章主要給大家介紹了關(guān)于c#設(shè)計(jì)模式之單例模式的實(shí)現(xiàn)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用c#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
C#多線程開(kāi)發(fā)實(shí)戰(zhàn)記錄之線程基礎(chǔ)
線程是一個(gè)獨(dú)立的運(yùn)行單元,每個(gè)進(jìn)程內(nèi)部有多個(gè)線程,每個(gè)線程可以各自同時(shí)執(zhí)行指令,每個(gè)線程有自己獨(dú)立的棧,但是與進(jìn)程內(nèi)的其他線程共享內(nèi)存,這篇文章主要給大家介紹了關(guān)于C#多線程開(kāi)發(fā)實(shí)戰(zhàn)記錄之線程基礎(chǔ)的相關(guān)資料,需要的朋友可以參考下2021-09-09
C#調(diào)用OpenCV開(kāi)發(fā)簡(jiǎn)易版美圖工具【推薦】
本文主要介紹在WPF項(xiàng)目中使用OpenCVSharp3-AnyCPU開(kāi)源類庫(kù)處理圖片,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-10-10
C#使用晚綁定來(lái)實(shí)現(xiàn)壓縮Access數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了C#使用晚綁定來(lái)實(shí)現(xiàn)壓縮Access數(shù)據(jù)庫(kù)的方法,項(xiàng)目開(kāi)發(fā)中有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08

