unity 读取灰度图生成三维地形并贴图卫星影像

从 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;
                //根据灰度图创建m
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值