World Machine大地形匯出成分塊地形(tile瓷塊匯出,包括高度圖+貼圖)到unity3d2017
上次介紹瞭如何把真實地形資料DEM匯入world machine製作地形,部落格地址:https://blog.csdn.net/qq_29413829/article/details/80631891 。這次也是因為專案需要,講一下World Machine大地形匯出成分塊地形,匯入unity3D2017。因為之前也沒看到world Machine怎麼匯出分塊地形,花了兩天找資料,琢磨,最後偶然搞出來了,專業人士勿噴,畢竟菜鳥啊。還是一樣,寫部落格紀念一下。
目標圖:高度圖
放大:
貼圖後:
一、前言
本次地形制作長度:2km*2km,分成16瓷塊,單塊長寬為500*500m,單塊解析度為1024*1024,總解析度為4096*4096。在製作地形前,要做一些通用的設定,這些設定對後面瓷塊匯出很重要。
1.更改世界引數
(1)點選世界命令——世界引數
寬高設定為2km*2km
(2)瓷塊選項
a.瓷塊選項
“分配邊緣到頂點”和“在部分圖塊上計算邊緣瓷塊”選項是為了瓷塊影象邊緣上多一個邊緣畫素能將影象邊緣拉到地,形成立體塊而不只是影象面(好吧其實懂不懂不重要,勾上就好)
“翻轉y軸方向”是因為worldmachine是右手系,uinty3d是左手系,不翻轉在uinty貼貼圖時沒法貼。參考:https://blog.csdn.net/fcauto2012/article/details/70767973
截圖:
b.解析度設定
瓷塊解析度:指的是每一小塊的解析度,我這裡是1024*1024
每個邊的瓷塊數:因為我是16塊,所以是4*4
(3)一般設定
這個沒啥說的。
二、world machine地形制作(只想看分塊匯出的跳過此步驟)
本次地形制作為平緩的大陸地形+一條匯入的溝槽。
1.溝槽的匯入
(1)溝槽資料
溝槽資料(就是一條線的資料)是程式生成的svg向量圖格式資料,worldmachine中Layout Generator支援兩種格式資料匯入,svg和dxf.(匯出支援svg和ai).svg資料可以由瀏覽器和文字檔案開啟,下圖:
瀏覽器:
文字:xml格式的
說明:
1-viewbox:顯示介面的座標,比如這裡對應worldmachine裡一個2048*2048米的範圍,座標大小左下角為(0,0),右上角為(2048,2048).
2-:線的節點數,本線有27個節點數,所以xml中有27行資料。
3-stroke-width:表示下圖紅色框,也就是衰退距離,這裡是1米。
其餘的如opacity代表透明度等等,不在敘述。
(2)匯入
過程:介面”Generator”——”Layout Generator”,雙擊開啟,進入後看到檔案按鈕。
點選“檔案”——”Add layout from file”匯入已有的svg格式,如下圖
如果想要改變衰退距離,透明度什麼的,可以按下圖操作:1點選形狀列表,2彈出佈局圖形層次,找到輸入的Import1,3再點選形狀屬性刷的第二個“筆”按鈕就可以改變了。
2. 地形構建
(1)設定柏林噪聲中比較平緩的大陸地形+自己匯入的溝槽資料
(2)輸出16塊heightmap(高度圖)圖(.raw16)和16塊bitmap貼圖(.png)資料,貼圖為黃色
三、world machine瓷塊(分塊)地形匯出
做好地形後就要匯出瓷塊資料了,匯出之前要設定匯出到哪個資料夾下
heightmap設定匯出檔案路徑
bitmap(貼圖)設定檔案匯出路徑
1. heightmap圖匯出+貼圖匯出
或者:
設定完成後,就可以看到16張高度圖都匯出了,r16像rar的可以開啟格式(其實打不開),看起來像壓縮包哈!。
設定完成後,就可以看到16張貼圖匯出。
2. 只有heightmap圖匯出
在做地形的時候的輸出部分不要加上colorizer和Bitmap Output,然後輸出方法和上面一樣,如下圖.
四、匯入uinty3d
UNITY3D用的是2017版本,需要下一個地形外掛:TerrainComposer v1.92,這個匯入的過程我用的比較笨,網上有些用程式自動匯入,而我是手動匯入。
1.匯入高度圖
(1)開啟unity,建立多個Terrain,參考http://www.element3ds.com/forum.php?mod=viewthread&tid=37834 中的第4步的(1)(2)小步。
設定尺寸。強調下:設定尺寸為x:500,z:500,uinty單位是world units,就是米。x與z與world machine中保持一致。高y隨意,最好設大些,比如這裡為3000。
第4步的(1)小步
(2)設定一個4X4的地形(第4步的(2)小步)
(3)高度圖匯入
這裡用的是unity自帶的Terrain系統,依次點選要匯入的瓷塊,點選Import Raw匯入。
注意:Import Heightmap對話方塊中
Depth:表示匯入的檔案是16位的,也就是r16
Width:表示r16檔案中單個瓷塊的解析度
Height:表示r16檔案中單個瓷塊的解析度
Flip Vertically :就是前面的左右手系問題,前面勾了這裡不勾,反之,則勾。
terrain Size:unity中地形的長寬高,單位米
XZ長寬,因為我們的單個瓷塊圖是500m*500m,高設成3000.
注意:Resolution設定
Terrain Width:表示地形寬
Terrain Length:地形長
Terrain Height:地形高,就是上文Y值
注意這個Y值是你希望的地形高度中最大值和最小值之間的差值,它決定了你的地形的整體高度。
我的理解(不知道對不對):((h2-h1)+x)a=Y
h2地形最高點
h1地形最低點
x是個高度的偏移量(定值)
a是個縮放係數
現象:我調小Y值,整個地形趨於平緩且地形平面靠近0海拔點。給我的感覺是,當Y減小,h2-h1=Y/a-x的值在減小,導致地形趨緩。這個還沒有搞懂。
Heightmap Resolution:高度圖解析度,這裡和r16瓷塊解析度一致
其餘的參考unity手冊
依次匯入,完成16幅地圖載入。
2.貼圖匯入
首先載入貼圖進unity3d,再依次給每個瓷塊載入貼圖,需要設定size為瓷塊大小,16張載入後,貼圖導完成。
還有一種方法:可以一次性對16張瓷塊地形貼圖
選擇1splat textures——2“+”——3匯入貼圖——4選擇 按下SHIFT+滑鼠完成設定。
相關推薦
World Machine大地形匯出成分塊地形(tile瓷塊匯出,包括高度圖+貼圖)到unity3d2017
上次介紹瞭如何把真實地形資料DEM匯入world machine製作地形,部落格地址:https://blog.csdn.net/qq_29413829/article/details/80631891 。這次也是因為專案需要,講一下World Machine大
python全棧開發【第十篇】Python常用模塊二(時間、random、os、sys和序列化)
utc時間 用戶 這也 文件名 password 如何 json字符串 並且 持久 一、time模塊 表示時間的三種方式: 時間戳:數字(計算機能認識的) 時間字符串:t=‘2012-12-12‘ 結構化時間:time.struct_time(tm_year=2
Python學習----第七模塊筆記(Web開發進階之Django數據庫操作)
long 機制 idt 4.5 gen git 表之間 protoc 小數 4、Django ORM 4.1、連接數據庫 創建Django工程後運行該工程,會在工程根目錄下創建db.sqlite3文件,為Django自帶的sqlite3數據庫(Django自帶的功能也需要數
常用模塊3(和之前的1,2一起食用效果更佳)
復雜 bsp 不容易 iter lin brush pla oom 格式 本節主要內容1. 正則表達式2. re模塊的使?3. ?堆練習 一、正則表達式 ?先, 我們在??上進?註冊或者登陸的時候經常能看到?些格式上的錯誤提?. 比如:你在註冊百度賬號的時候https:
大快大數據技術架構的構成模塊
都是 趨勢 pan 未來 alt 發行版 宋體 mil 原生態 大數據也不是近幾年才出現的新東西,只是最近幾年才真正意義上變得熱門、火爆!而這要得益於互聯網信息技術的快速發展,網絡改變世界、改變生活,大數據技術的應用讓這樣的改變更為深刻。 關註大數據或者是互聯網方面新聞的人
【POJ】3620Avoid The Lakes(求聯通塊的最大值)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9009 Accepted:&nb
dota2地形開發-tree貼圖整理
在國服steam\Dota 2\SteamApps\common\dota 2 beta\dota中將 maps下的dota.bsp,dota.gnv代表當前地圖 將dota_autumn.bsp重新命名為dota.bsp dota_autumn.gnv重新命名dota.
World Machine Learning Problems
Tweet Share Share Google Plus Real-world examples make the abstract description of machine learn
Windows 8 Directx 開發學習筆記(十一)地形紋理貼圖
前一篇實現木箱貼圖時,木箱的六個面都正好用一整張紋理圖,即六個面的紋理座標均在[0,1]內。然而在為比較大的模型貼圖時,像山峰河谷模型,如果只用一張紋理圖,那麼每個三角形只得到幾個紋理元素,無法為提供足夠高的解析度。這時可以在模型表面上平鋪紋理貼圖,像給牆面貼磁磚一樣,只需
Python中正則表達式(re模塊)的使用
python中正則表達式Python中正則表達式(re模塊)的使用1、正則表達式的概述(1)概述:正則表達式是一些由字符和特殊符號組成的字符串,他們描述了模式的重復或者表示多個字符,正則表達式能按照某種模式匹配一系列有相似特征的字符串。正則表達式是一種小型的、高度的專業化的編程語言,(2)Python語言中的
python 時間模塊小結(time and datetime)
間隔 -i date對象 per inf ear macbook port 兩個 一:經常使用的時間方法 1.得到當前時間 使用time模塊,首先得到當前的時間戳 In [42]: time.time() Out[42]: 1408066927.208922 將時間戳轉換
022day--python 模塊介紹和time模塊
字符串 命令行 strong __main__ rand time 5-0 可維護 .com 一、模塊的含義 在計算機程序的開發過程中,隨著程序代碼越寫越多,在一個文件裏代碼就會越來越長,越來越不容易維護。 為了編寫可維護的代碼,我們把很多函數分組,分別放到不同的文
模塊分析(三)
1.7 space 後置 狀態 你在 處理 節點 要點 不同 做設計很重要一點就是要考慮匹配設計,就是你的設計一定要有一個意識,就是要回歸原始狀態;也可以稱之為閉環誰急,而且是小地方的閉環,以及異常情況的閉環;比如傳輸你在一個地方加密,解密一般都會考慮到;但是如果是壓縮,邏
Java知識點模塊化(1)—— 面向對象
只需要 知識 pad 產生 自動裝箱 pri 生存 new 使用 前言 這是我整理的Java筆記,分模塊會陸續上齊,具體鏈接如下: 1.面向對象:http://www.cnblogs.com/Gabby/p/6857406.html 2.集合: 3.IO:
淺析JS中的模塊規範(CommonJS,AMD,CMD) http://www.2cto.com/kf/201411/348276.html
cpu 重要 mat 只有一個 targe () actor cti 最重要的 如果你聽過js模塊化這個東西,那麽你就應該聽過或CommonJS或AMD甚至是CMD這些規範咯,我也聽過,但之前也真的是聽聽而已。 現在就看看吧,這些規範到底是啥東西,幹嘛的。
運維專用(OS模塊)
mkdir clas linu rename 刪除一個文件 組合 python腳本 指示 信息 os.getcwd() 獲取當前工作目錄,即當前python腳本工作的目錄路徑 os.chdir("dirname") 改變當前腳本工作目錄;相當於shell下cd os.cu
saltstack模塊之pkg相關模塊
saltstack 模塊 pkg 軟件 pkgs pkg.install 1、pkg.available_version模塊pkg.available_version: 返回所查詢軟件包可供安裝或更新的最新版本。如果指定多個軟件包,則以字典的形式輸出返回結果。[[email
saltstack模塊之file相關模塊
saltstack file 模塊 文件 操作 1、file.access模塊file.access:測試salt進程是否有對指定文件的對應訪問權限。[[email protected]/* */ ~]# salt ‘*‘ file.access /etc/passwd f s
Apache Commons Digester 二(規則模塊綁定-RulesModule、異步解析-asyncParse、xml變量Substitutor、帶參構造方法)
對象 property 解決 space getclass bool trace throw object 前言 上一篇對Digester做了基本介紹,也已經了解了Digester的基本使用方法,接下來將繼續學習其相關特性,本篇主要涉及以下幾個內容: 規則模塊綁定,
【機器學習】主成分分析PCA(Principal components analysis)
大小 限制 總結 情況 pca 空間 會有 ges nal 1. 問題 真實的訓練數據總是存在各種各樣的問題: 1、 比如拿到一個汽車的樣本,裏面既有以“千米/每小時”度量的最大速度特征,也有“英裏/小時”的最大速度特征,