1. 程式人生 > >Unity通過Terrain地形資料計算人物位置

Unity通過Terrain地形資料計算人物位置

當地形高度不在0點的時候,設定人物位置會出現問題,需要計算Terrain.activeTerrain.GetPosition().y的值

float height;
    Vector3 newPos;
    float halfModelY;
    float terrainHeight;
    private void SetModelHight()
    {
        if (GetComponent<MeshFilter>() != null)
        {
            halfModelY = GetComponent<MeshFilter>().sharedMesh.bounds.size.y * transform.lossyScale.y / 2;
        }
    }

    // Update is called once per frame
    void Update()
    {
        if (canMove)
        {
            transform.Translate(Vector3.forward * Time.deltaTime * speed);
            if (Terrain.activeTerrain != null)
            {
                float height = Terrain.activeTerrain.SampleHeight(transform.position);
                terrainHeight = Terrain.activeTerrain.GetPosition().y;
                Debug.Log(height);
                newPos.x = transform.position.x;
                newPos.y = height + halfModelY+ terrainHeight;
                newPos.z = transform.position.z;
                transform.position = newPos;
            }
        }
    }

相關推薦

Unity通過Terrain地形資料計算人物位置

當地形高度不在0點的時候,設定人物位置會出現問題,需要計算Terrain.activeTerrain.GetPosition().y的值 float height; Vector3 newPos

Cesium 生成terrain地形資料----CTB方式及步驟

背景:專案前端使用Cesium,地形服務一直使用外網的,常常因為翻牆訪問的問題,導致地形資料取不到,進而導致地球不能載入,故決定搭建自己的地形服務,徹底解決這個問題。博文包含以下幾個過程: 下載原始地形資料,格式為.tif。 處理地形資料,將零散的地形檔案整合成一個地形檔案。

Unity 讀取巢狀資料夾工具類(資料位置不定)

類似於三級揹包效果,頂部標題欄,右側列表欄,中間顯示具體哪個標題下的哪個列表按鈕所對應的物品資訊。 但是所有的資料都是通過讀取巢狀資料夾來完成。此時需要一個讀取資料夾的工具類。 資料夾列表圖: 執行讀取資料夾資訊生成UI效果圖: 注:呼叫ReadFolderS

Unity動態編輯Terrain地形(四)植被編輯

**** 完整程式碼我已經上傳到了我的Github上,需要的話可以直接去下載https://github.com/xdedzl/xdedzl,裡面有一個TerrainModilfyDemo的場景,我做了一個簡單的UI用來測試,工程版本是2018.3。注意編譯環境需要是.net4.x,用3.5會報

shell 指令碼通過 dumpsys SurfaceFlinger --latency 資料計算 FPS 和評價流暢度。

由於採購機械臂測試效能用例和螢幕實際幀率變化,最終工具方案實現後擱置,拿出來”晒晒“。 一、設計初衷 1、面臨使用者和公司內領導試用中反饋的卡頓問題,思考如何能有效量化評估? 2、如何在嘗試復現卡頓的過程中持續監控FPS和丟幀情況? 二、設定預期倒推查詢解決方案

stm32計算編譯完的程式的大小及資料儲存起始位置判斷

一、keil編譯完後會產生以下資料:其中,code代表可執行程式碼,程式中定義的所有函式都位於此處;RO-data代表可讀資料,程式中所有的全域性常量資料和字元都位於此處;RW-data代表已經初始化的讀寫資料,程式中所有定義並且初始化的全域性變數和靜態變數均位於此處;ZI-

unity 通過程式碼查詢一個資料夾下的所有檔案

//路徑 string fullPath = "Assets/Models/21/21000001" + "/"; //路徑 //獲取指定路徑下面的所有資原始檔 if (Directory.Exists(fu

通過Kinect的深度影象資料計算三維點雲

在可以透過 OpenNI 讀取到 Kinect 的深度、色彩資訊之後,其實就可以試著用這些資訊,來重建 3D 的環境做顯示了~不過實際上,在前面的範例中所讀到的深度資訊,都算是原始資料,而且座標軸也都是感應器二維影像的座標系統,如果要重建 3D 場景的話,這些資訊都還是需要換算的;所幸,OpenNI 在 D

Unity 通過代碼簡單實現文理的灰化顯示

http gre date ria public xtu src 線上 bsp 1.可以用於紋理的處理,也可用於模型顯示的處理(比如某件準備或者服飾未獲取的時候,灰化顯示)  線上對比圖:    using System.Collec

Unity —— 通過鼠標點擊控制物體移動

技術 aps this lap sep CA sha pub mon 1 //ClickMove - - 通過鼠標點擊控制物體移動 2 3 using System.Collections; 4 using System.Collections.Generic

孫QK通過華為雲計算HCIE之旅

是我 雲計 檢驗 pdf 學員 細致 前期準備 需要 乾頤堂 我也算是乾頤堂老學員了,15年入堂,花了2年多考過的數通IE。考完之後覺得少點啥,就繼續報考了雲計算課程,還參與了元旦學員抽獎,抽中了apple watch,美滋滋!大概是從18年過完年才開始正式學習雲計算課程,

Unity簡單實現第三人稱人物的移動和轉向

方法 區分 ron ica img 如果 方向 tro 技術分享 上圖不重要,因為實現人物的移動用的是動畫,沒有什麽可說的,主要是下面實現人物的轉向。 比如在一個平面中,玩家按了w和d鍵則人物會面向右前方向前進,如果此時玩家按了a和s鍵則人物會面向左後方向前進,那麽

unity通過滑鼠操作攝像機圍繞主角縮放、旋轉、上下移動

 控制攝像機的程式碼如下: using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 攝像機控制器. 將該指令碼掛載到Camera

Unity通過程式碼修改Standard shader的rendering mode

材質編輯器上只有一個選項: 通過程式碼修改的話,需要知道那幾個選項對應的渲染引數。unity的著色器擴充套件資源裡是有Standard著色器的材質球GUI程式碼的,可以直接參考這裡: 動態改變StandardShader的RenderingMode讓模型透明 知道這些了就很好辦了,

C# SQl通過對檢視資料二次查詢,統計資料

    問題描述: 原資料---------需要在原檢視資料中,統計出每個Device_Num裝置號下面的交易的總額和分別統計出微信支付寶的交易總額。 解決:從上圖資料沒辦法使用直接查詢出要求的資料。          .1.首

k8s通過label來控制pod的位置

image 自定義標簽 scheduler 除了 schedule 磁盤 自定義屬性 value 大量 默認情況下,scheduler會將pod調度到所有可用的Node,不過有些情況我們希望將 Pod 部署到指定的 Node,比如將有大量磁盤 I/O 的 Pod 部署到配置

資料計算框架

https://cloud.tencent.com/developer/article/1030476 1. 前言 計算機的基本工作就是處理資料,包括磁碟檔案中的資料,通過網路傳輸的資料流或資料包,資料庫中的結構化資料等。隨著網際網路、物聯網等技術得到越來越廣泛的應用,資料規模不斷增加,TB

一文詳解大規模資料計算處理原理及操作重點

摘要: 大資料技術主要針對的是大規模資料的計算處理問題,那麼要想解決的這一問題,首先要解決的就是大規模資料的儲存問題。 一、RAID技術 大資料技術主要針對的是大規模資料的計算處理問題,那麼要想解決的這一問題,首先要解決的就是大規模資料的儲存問題。大規模資料儲存要解決的核心問題有三個方面:

Unity控制指標旋轉到指定的位置

一、搭建基礎的錶盤、指標 二、編寫控制指標旋轉到指定位置的指令碼: using UnityEngine; using System.Collections; public class Test_OnDashboard : MonoBehaviour { public int

Salesforce解密如何通過AI和資料提升銷售業績

頂尖的銷售團隊正在使用資料和AI獲取洞察,更準確、更有效地對銷售線索進行排序,從而提高生產率和投資回報率。 銷售團隊現在有機會找到可以顯著提高效率、準確性和投資回報的洞察。 Salesforce最新發布的第三份年度銷售狀況報告顯示,以資料為主導的方法已經取得了初步成效,表現出色的團隊根據資料