雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

unity3D實現(xiàn)三維物體跟隨鼠標

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

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

效果圖:

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

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

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

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

MouseMove.cs代碼

using UnityEngine;
/*
 讓物體完全跟隨鼠標
  */
public class MouseMove : MonoBehaviour
{
 [Header("主相機")]
 [Tooltip("主相機")]
 /// <summary>
 /// 主相機
 /// </summary>
 public Camera m_mainCamera;
 [Header("目標物體")]
 [Tooltip("目標物體")]
 /// <summary>
 /// 目標物體
 /// </summary>
 public Transform m_target;
 
 void Start()
 {
  isDown = false;
  targetWTSP = m_mainCamera.WorldToScreenPoint(m_target.position);
 }
 /// <summary>
 /// 是否按下
 /// </summary>
 private bool isDown;
 /// <summary>
 /// 記錄初始化時候target世界坐標轉(zhuǎn)屏幕坐標時候的位置 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腳本掛載上去,再將相機和Target物體拖拽到腳本上

完畢!

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持我們。

上一篇:C#使用Consul集群進行服務注冊與發(fā)現(xiàn)

欄    目:C#教程

下一篇:C# Winfom 中ListBox的簡單用法詳解

本文標題:unity3D實現(xiàn)三維物體跟隨鼠標

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/4577.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有