欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

unity3D實(shí)現(xiàn)物體任意角度自旋轉(zhuǎn)

 更新時(shí)間:2020年07月20日 10:41:43   作者:LisenYang  
這篇文章主要為大家詳細(xì)介紹了unity3D實(shí)現(xiàn)物體任意角度自旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了unity3D實(shí)現(xiàn)物體任意角度自旋轉(zhuǎn)的具體代碼,供大家參考,具體內(nèi)容如下

主要涉及函數(shù):

Input.GetAxis(“Mouse x”) 可取得鼠標(biāo)橫向(x軸)移動(dòng)增量

Input.GetAxis(“Mouse y”) 可取得鼠標(biāo)豎向(y軸)移動(dòng)增量

通過勾股定理獲取拖拽長(zhǎng)度,長(zhǎng)度越長(zhǎng)旋轉(zhuǎn)越快。在project setting--Input 可以設(shè)置。

這里用Cube來做例子,因?yàn)榉襟w看旋轉(zhuǎn)比較清楚,如圖:

代碼如下:

using UnityEngine;
using System.Collections;
 
public class NewBehaviourScript : MonoBehaviour {
 
 private bool onDrag = false; //是否被拖拽//  
 public float speed = 6f;  //旋轉(zhuǎn)速度//  
 private float tempSpeed;  //阻尼速度// 
 private float axisX = 1;
 //鼠標(biāo)沿水平方向移動(dòng)的增量//  
 private float axisY = 1;  //鼠標(biāo)沿豎直方向移動(dòng)的增量//  
 private float cXY;
 void OnMouseDown()
 {
 //接受鼠標(biāo)按下的事件// 
 
 axisX = 0f; axisY = 0f;
 }
 void OnMouseDrag()   //鼠標(biāo)拖拽時(shí)的操作// 
 {
 
 onDrag = true;
 axisX = -Input.GetAxis("moveX");
 //獲得鼠標(biāo)增量// 
 axisY = Input.GetAxis("moveY");
 cXY = Mathf.Sqrt(axisX * axisX + axisY * axisY); //計(jì)算鼠標(biāo)移動(dòng)的長(zhǎng)度//
 if (cXY == 0f) { cXY = 1f; }
 
 }
 float Rigid()   //計(jì)算阻尼速度//  
 {
 if (onDrag)
 {
  tempSpeed = speed;
 }
 else
 {
  if (tempSpeed > 0)
  {
  tempSpeed -= speed * 2 * Time.deltaTime / cXY; //通過除以鼠標(biāo)移動(dòng)長(zhǎng)度實(shí)現(xiàn)拖拽越長(zhǎng)速度減緩越慢// 
  }
  else { 
  tempSpeed = 0; 
  }
 }
 return tempSpeed;
 }
 
 void Update()
 {
 // this.transform.Rotate(new Vector3(axisY, axisX, 0) * Rigid(), Space.World); //這個(gè)是是按照之前方向一直慢速旋轉(zhuǎn)
 if (!Input.GetMouseButton(0))
 { 
  onDrag = false;
  this.transform.Rotate(new Vector3(axisY, axisX, 0)*0.5f, Space.World); 
 }
 }
}

最終效果如圖:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#使用MSTest進(jìn)行單元測(cè)試的示例代碼

    C#使用MSTest進(jìn)行單元測(cè)試的示例代碼

    MSTest是微軟官方提供的.NET平臺(tái)下的單元測(cè)試框架,這篇文章主要為大家詳細(xì)介紹了C#如何使用MSTest進(jìn)行單元測(cè)試,感興趣的小伙伴可以參考一下
    2023-12-12
  • C#中使用Spire.doc對(duì)word的操作方式

    C#中使用Spire.doc對(duì)word的操作方式

    這篇文章主要介紹了C#中使用Spire.doc對(duì)word的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C#常用正則大全分享

    C#常用正則大全分享

    C#常用正則大全分享,最基本也是最常用的一些表達(dá)式,需要的朋友可以參考一下
    2013-03-03
  • C#使用HttpPost請(qǐng)求調(diào)用WebService的方法

    C#使用HttpPost請(qǐng)求調(diào)用WebService的方法

    這篇文章主要為大家詳細(xì)介紹了C#使用HttpPost請(qǐng)求調(diào)用WebService的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • C# 讀取ttf字體文件里的Unicode實(shí)現(xiàn)

    C# 讀取ttf字體文件里的Unicode實(shí)現(xiàn)

    這篇文章主要介紹了C# 讀取 ttf字體文件里的 Unicode實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類實(shí)例

    C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類實(shí)例

    這篇文章主要介紹了C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類,實(shí)例分析了C#調(diào)用mmpeg操作視頻文件的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • C#中拋出異常用法實(shí)例

    C#中拋出異常用法實(shí)例

    這篇文章主要介紹了C#中拋出異常用法,實(shí)例分析了C#使用throw拋出異常的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • C# 線程同步的方法

    C# 線程同步的方法

    這篇文章主要介紹了C# 線程同步的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • C#泛型約束的深入理解

    C#泛型約束的深入理解

    本篇文章是對(duì)C#中的泛型約束進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 通過C#程序操作Config文件

    通過C#程序操作Config文件

    這篇文章介紹了通過C#程序操作Config文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02

最新評(píng)論