3DTileset for Unreal

3DTileset for Unreal

3DTileset for Unreal 插件(Cesium for UE4的阉割版)可以在 UE4 坐标系统下直接加载 3DTileset 数据(局部坐标,脱离大的世界坐标系)。

FileSystem

1

Demo

在这里插入图片描述
在这里插入图片描述

代码生成

使用代码在编辑器模式下向关卡中添加Actor,故可以通过 Slate UI 交互方式向编辑器中添加3DTileset数据。

  
  const std::string name="3DTileset";
  const std::string file_url="file:///E:/code/3d-tiles-samples/tilesets/TilesetWithDiscreteLOD/tileset.json";

  UWorld* pCurrentWorld = GEditor->GetEditorWorldContext().World();
  ULevel* pCurrentLevel = pCurrentWorld->GetCurrentLevel();

  AActor* pNewActor = GEditor->AddActor(
      pCurrentLevel,
      AH3DTileset::StaticClass(),
      FTransform(),
      false,
      RF_Public | RF_Transactional);

  AH3DTileset* pTilesetActor = Cast<AH3DTileset>(pNewActor);

  pTilesetActor->SetActorLabel(UTF8_TO_TCHAR(name.c_str()));

  if (!file_url.empty()) {
    pTilesetActor->SetUrl(UTF32_TO_TCHAR(file_url.c_str()));
  }

测试数据

(Documentation/data/TilesetWithDiscreteLOD/tileset.json

{
  "asset": {
    "version": "1.0"
  },
  "geometricError": 500,
  "root": {
    "transform": [
      96.86356343768793,
      24.848542777253734,
      0,
      0,
      -15.986465724980844,
      62.317780594908875,
      76.5566922962899,
      0,
      19.02322243409411,
      -74.15554020821229,
      64.3356267137516,
      0,
      1215107.7612304366,
      -4736682.902037748,
      4081926.095098698,
      1
    ],
    "boundingVolume": {
      "box": [
        0,
        0,
        0,
        7.0955,
        0,
        0,
        0,
        3.1405,
        0,
        0,
        0,
        5.0375
      ]
    },
    "geometricError": 1,
    "refine": "REPLACE",
    "content": {
      "uri": "dragon_low.b3dm"
    },
    "children": [
      {
        "boundingVolume": {
          "box": [
            0,
            0,
            0,
            7.0955,
            0,
            0,
            0,
            3.1405,
            0,
            0,
            0,
            5.0375
          ]
        },
        "geometricError": 0.1,
        "content": {
          "uri": "dragon_medium.b3dm"
        },
        "children": [
          {
            "boundingVolume": {
              "box": [
                0,
                0,
                0,
                7.0955,
                0,
                0,
                0,
                3.1405,
                0,
                0,
                0,
                5.0375
              ]
            },
            "geometricError": 0,
            "content": {
              "uri": "dragon_high.b3dm"
            }
          }
        ]
      }
    ]
  }
}

在这里插入图片描述

参考

  1. cesium for unreal
  2. cesium native
  3. 3DTileset for Unreal
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值