从 https://earthexplorer.usgs.gov/ 下载高程数据
从谷歌地球上保存对应地区卫星图像
从灰度图创建地形模型,并将卫星影像作为贴图
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class mapMeshCreate : MonoBehaviour {
private Texture textureGray;//灰度图
private Texture textureSatellite;//卫星影像贴图
private int tGrayWidth = 0, tGrayHeight = 0;//灰度图的宽和高
private bool bCreate = false;//是否完成创建
private List<GameObject> meshList;//mesh集合
private Texture2D texture2dGray;
public float zScale = 100;//高度参数
[Tooltip("传入mesh使用的材质")]
public Material meshMaterial;
void Start()
{
StartCoroutine(loadImage("T1.jpg", (t) => textureGray = t));
StartCoroutine(loadImage("T2.png", (t) => textureSatellite = t));
meshList = new List<GameObject>();
}
void Update()
{
if (textureGray != null && textureSatellite != null)
{
if (bCreate == false)
{
tGrayWidth = textureGray.width;
tGrayHeight = textureGray.height;
meshMaterial.mainTexture = textureSatellite;//设置材质贴图
//mesh顶点数目最大65000,则取mes为250*250=62500
int xNum = 1 + tGrayWidth / 250;//x方向mesh个数
int zNum = 1 + tGrayHeight / 250; //z方向mesh个数
texture2dGray = (Texture2D)textureGray;
//根据灰度图创建mesh