Unity編碼篇 Transform類

2020-12-13 Mm說Unity

unity場景裡每個遊戲物體都含有 Transform 組件 , 用來控制物體的位置、旋轉、縮放.

下面介紹一下 Transform 組件的常用方法 :

transform.position : 物體在世界坐標中的位置 ;transform.Translate : 物體相對位移的單位 ;transform.Rotate : 物體的旋轉 ;transform.EularAngles : 物體的角度 ;transform.localScale : 物體的縮放 ;

下面用這些方法做一個可以前後左右移動的旋轉小坦克 . 代碼如下 :

using UnityEngine;public class Move : MonoBehaviour {// 定義一個坦克對象 private Transform tank; // 速度 private float speed = 20f; // 角速度 private float angle = 60f; public void Update() { // 左右偏移(-1,1) float hor = Input.GetAxis("Horizontal"); // 前後偏移(-1,1) float ver = Input.GetAxis("Vertical"); if (hor != 0 || ver != 0) { // 控制坦克前後行走 transform.Translate(Vector3.forward * Time.deltaTime * speed * ver); // 控制坦克左右旋轉 transform.Rotate(Vector3.up * Time.deltaTime * angle * hor); } }}

在unity裡面做一個小坦克(cube也可以) , 然後將腳本掛載到坦克身上 .

運行unity , 按 W 、S鍵 控制坦克前進後退 ;

按 A 、D鍵控制坦克的旋轉 ;

坦克已經可以移動和旋轉了 , 可是怎麼發射子彈呢 ? 下期帶大家學習 Rigidbody 類 , 實現坦克發射子彈 .

相關焦點

  • Unity編碼篇 Rigidbody類
    {// 實例化一個子彈Instantiate(m_bullet);}}}然後我們運行unity下期為大家介紹一下 Time 類 , 讓你可以在 unity 中掌控時間 .
  • 巧用Unity 2D功能:只需六步開發簡單的2D UFO遊戲
    Unity中的2D功能讓開發此類遊戲更加的便捷,這篇教程將教大家使用Unity 2D功能製作一個非常簡單的UFO遊戲,整個過程只需要6個步驟,適合Unity初學者以及對Unity的2D功能不甚熟悉的開發者們,希望Unity能讓你初嘗遊戲開發的樂趣,為以後的開發之路奠定基礎,你準備好完成這款簡單的2D遊戲了嗎?
  • 機器學習基礎:類別變量,別上來就整one-hot編碼
    但是,這種編碼方法對y變量非常敏感,這會影響模型提取編碼信息的能力。由於每個類別的值都被相同的數值所取代,模型可能會傾向於過擬合它所看到的編碼值(例如,將0.8與某個與0.79完全不同的值相關聯)。這是將連續尺度上的值當作重複的類來處理的結果。
  • 掌握pandas中的transform
    本文就將帶大家掌握pandas中關於transform的一些常用使用方式。圖12 pandas中的transform在pandas中transform根據作用對象和場景的不同,主要可分為以下幾種:2.1 transform作用於Series當transform作用於單列Series時較為簡單,以前段時間非常流行的「企鵝數據集」
  • unity 半透明渲染技巧(3則)
    unity 半透明渲染技巧(1):固定深度法半透明渲染排序問題 長期在各種3d引擎存在,這裡將一些針對性技巧。
  • 博主營地 | Unity3D 實用技巧 - 基礎數學庫函數學習
    ); float angle = Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg; transform.Rotate(0,angle, 0); } }static function Atan (f : float) :float計算並返回參數
  • one-hot encoding不是萬能的,這些分類變量編碼方法值得擁有
    最優數據集由信息具有獨立價值的特徵組成,但 one-hot 編碼創建了一個完全不同的環境。當然,如果只有三、四個類,那麼 one-hot 編碼可能不是一個糟糕的選擇。但是隨著類別的增加,可能還有其他更合適的方案值得探索。本文作者列舉了幾個方案供讀者參考。
  • z-index和transform
  • one-hot encoding不是萬能的,這些分類變量編碼方法你值得擁有
    最優數據集由信息具有獨立價值的特徵組成,但 one-hot 編碼創建了一個完全不同的環境。當然,如果只有三、四個類,那麼 one-hot 編碼可能不是一個糟糕的選擇。但是隨著類別的增加,可能還有其他更合適的方案值得探索。
  • 2014社會哲理類考研英語作文必背模板: Unity/solidarity
    Definitely,No one can deny the importance of unity. Unity/solidarity enables people to achieve their objectives more smoothly and rapidly .
  • 機器學習中類別變量的編碼方法總結
    機器學習中有多種類別變量編碼方式,各種編碼方法都有各自的適用場景和特點。本文就對機器學習中常見的類別編碼方式做一個簡單的總結。     所謂硬編碼,即直接對類別特徵進行數值映射,有多少類別取值就映射多少數值。這種硬編碼方式簡單粗暴,方便快捷。
  • 編碼轉換:OneHot編碼和LabelEncoder
    這裡先介紹 2 種編碼方法。分別是 OneHot 編碼和 pd.factorize() 。OneHot 編碼•OneHot 編碼說明:One-Hot 編碼是分類變量作為二進位向量的表示。首先要求將分類值映射到整數值。然後,每個整數值被表示為二進位向量,除了整數的索引之外,它都是零值,它被標記為1。
  • 蛻變 transform
    我要蛻變,我要蛻變I want to transform, I want to transform我要蛻變成美麗的蝴蝶I want to transform into a beautifulbutterfly我要蛻變,我要蛻變I want to transform, I want to transform我渴望更美好的世界I desire a better world可以蛻變,可以蛻變Can transform, can transform到死而復生,夢想一定實現When
  • UniRx - Unity響應式編程插件(1)
    這個庫這些問題並且添加了一些Unity專屬的工具類。 支持的平臺有:PC/Mac/Android/iOS/WP8/WindowsStore/等等,並且支持Unity4.6之後的所有版本。UniRx 在 Unity Asset Store 的地址(免費) - http://u3d.as/content/neuecc/uni-rx-reactive-extensions-for-unity/7tT演講PPT - http://www.slideshare.net/neuecc/unirx-reactive-extensions-for-unityen
  • unity什麼意思
    unity什麼意思unity,聯合、統一、團結、和睦。學單詞,只記住意思可不行,會用才行,小夥伴們可以在評論區造句,我們一起學習哦!我先來:造句:Unity is strength.productivity怎麼記喜歡這篇文章,長按點讚,就可給我一鍵三連哦
  • 【遊戲流體力學基礎及Unity代碼(二)】用平流方程模擬染料流動
    你可以試著在c++或python上寫一遍,因為之後我們在unity不會直接使用這個公式。為了畫出一張好看的二維平流圖,我們首先需要畫出一個黑白棋盤格紋理,代表染料的密度。= new Vector3(2.0f, 2.0f, 2.0f); Arrow[i, j].transform.Rotate(new Vector3(90.0f, 0.0f, 0.0f)); Arrow[i, j].transform.Rotate(new Vector3(0.0f, 0.0f, -90.0f)); }
  • Unity2D記錄篇:8
    instance == null) instance = this; else            Destroy(gameObject); } public void UpdateHealth(float currentHealth) { for (int i = 0; i < healthBar.transform.childCount
  • UGUI整體解決方案-基礎篇(Unity 2019)
    課程介紹:本課程是UGUI系列課程的第一篇:基礎篇主要是講解UGUI的基礎組件及接口的使用方法,目前UGUI是unity
  • Pandas transform函數
    其中,transform()在處理行或列時非常有用。/BindiChen/machine-learning/blob/master/data-analysis/013-pandas-transform/pandas-transform.ipynb1.轉換值我們來看看pd.transform(func, axis=0)
  • 新手如何從零開始學習unity
    自從 unity5發布免費過後,有很多獨立遊戲開發者轉向unity遊戲開發,unity的優勢就是多終端跨平臺打包,入門也快,很多人感覺自己的英文不好,就覺得學不會,其實這是一個誤區,unity的界面雖然是英文的,但是它的窗口就只有那麼幾個,用的次數多了,也就自然的熟練了,那麼新手該如何從零開始學習unity呢?