Batch models hide problems

I set the OpacityMask of the model to 0 in runtime mode to achieve the effect of hiding the model, but when the lens is zoomed out, part of the model is restored to display. The result I want is to set the display by OpacityMask 0 1. or are there any other ways to hide parts of the model

20240204_133210.rar (1.1 MB)


Although OpacityMask is 0, it can still query the collision physically, which is equivalent to gpu rendering, so that the Frame of the whole scene cannot be optimized

I have another problem that I can’t hide the original model as glass material through OpacityMask

I set the OpacityMask of the model to 0 in runtime mode to achieve the effect of hiding the model, but when the lens is zoomed out, part of the model is restored to display.

How are you doing this? Each tile ends up with a copy of the Material, so if you’re changing parameters on the Material, it’s essential that you either change all of them, or you call RefreshTileset so that the tiles are recreated from the updated material.

Although OpacityMask is 0, it can still query the collision physically, which is equivalent to gpu rendering, so that the Frame of the whole scene cannot be optimized

Yep, changing the opacity mask doesn’t affect physics at all.

Thank you very much for your answer. I still have a question
1、 I call RefreshTileset after changing the material, the whole scene is restored to the previous look, and the tiles are not recreated.

2、If changing the opaque mask doesn’t affect the physics at all, what else is there to make it hide and undo the physics.

3、The original model material is glass how to hide, the current opaque template does not work

I’m using this to create a feature similar to the ue editor outline, where you can click, hide, and so on

  1. Right, RefreshTileset will recreate all of the tiles, instancing the material selected on the tileset for each of them. So that will help if you’re trying to pick up a change to the tileset material. But if you’ve made changes to each individual Tile material, then calling RefreshTileset will lose those changes. Because the set of Tiles loaded and rendered changes as the camera moves through the scene, you’ll need to periodically poll for all the tiles, get their materials, and update their parameters as needed. Depending on your use-case, a Material Parameter Collection might help: Using Material Parameter Collections in Unreal Engine | Unreal Engine 5.3 Documentation
  2. There’s currently no way to mask out physics. Depending on how you’re using physics, you might be able to manually filter out the undesired collision events. But for built-in behavior like gravity, I don’t know of any way to do it.
  3. I’m not sure what you mean here.
  1. There is a transparent material (similar to glass) in my original model. I can’t hide this glass model through OpacityMask, which seems to have no effect on the glass material.

Ok. If you’re rendering something translucent, presumably you’re using a translucent Material. In a translucent Material, you need to set the Opacity, not the Opacity Mask.

Also, I should mention that there’s a separate “material slot” on the Cesium3DTileset for things that are translucent. So if you’re trying to set up a custom material for something translucent, make sure you’re also providing a custom “Translucent Material” property.