cesiumgs / cesium-unreal-samples Goto Github PK
View Code? Open in Web Editor NEWGetting Started Sample Project for Cesium for Unreal
License: Apache License 2.0
Getting Started Sample Project for Cesium for Unreal
License: Apache License 2.0
When I make the terrain transparent, a skirt will appear, how can I transparent this skirt?
I downloaded the TAG package of V1.3, But the documents of the levels 2, 3, 5 cannot be identified by UE4,Then I downloaded V1.1 is normal.
I think that 13_CesiumTileExcluder would be a more effective sample if the material actually accounted for the box size and position. (Rotation would be a cool plus, but perhaps is ambitious).
Currently, it discards fragments outside of a fixed world-position area. So if you move the trigger box (and therefore move the exclusion zone), you get this:
It's not a bug; the material is simply set up that way. But it would be more intuitive and powerful to make it account for changes in the box.
It would be cool to have a sample level showcasing Cesium World Bathymetry. Something similar to the submarine underwater we used in this blog post.
Test out samples in UE5 with cesium-unreal UE5 changes. CesiumGS/cesium-unreal#806
A while ago, I was inspired by this forum post to make a procedural window material for OSM buildings. After some polish, it works well in most areas and I'd love to make it available for Cesium for Unreal users. This comment contains an overview of the material that I made. We can use this issue to discuss whether it's appropriate to add to the samples, as well as possible improvements, adjustments, or alternatives.
The assets have been added to the branch procedural-osm-material, and a pull request has been created here.
(There's actually two materials, one that uses metadata for randomization, and one that doesn't, but they are similar otherwise. The metadata version is shown in the initial images.)
These materials add a window-like effect along the sides of OSM Buildings meshes. It can work with any tileset, but is designed for the simpler OSM buildings rather than photogrammetry.
The windows are a darker color, and reflect the environment. They are also emissive, which can create a "city lights" effect in nighttime scenes.
The materials have adjustable parameters so that users can optimize them for their scenes. For example, you can adjust building colors, window size, emissive intensity, and roughness of both the building and the window.
The material only maps along the sides of buildings, and even works for slanted roofs. The angle at which it cuts off the windows can be adjusted.
There's two variants:
elementId
parameter. It is a slightly more expensive and complex shader, but produces a more convincing visual effect.elementId
removed.These materials could be expanded upon for improved visual fidelity. For example, instead of blending between different colors, you could use metadata to choose between textures, like brick or stone.
These materials perform within the typical range for 3D Tileset materials. Neither significantly impacted FPS on my machine.
They both use a 1024x1024 texture, which introduces some overhead.
ProceduralWindowsSimple stats:
ProceduralWindowsMetadata stats:
To compare, here are the stats for MI_CesiumThreeOverlaysAndClipping, which is the default Cesium for Unreal material.
Note that this material is not intended for photorealism. It's useful for helping OSM Buildings read more as buildings in a scene, but it's not perfect.
The window pattern is projected in world space along the X and Y axes. Therefore, it's subject to all the drawbacks of a world-aligned texture.
Here's how it looks in various situations on various buildings.
We received request for 2 fixes to be made to the samples project. I've asked for more information about Item 34, and asked them to confirm the version of the plugin they are using for Item 68.
@nithinp7 Can you please help?
We need to show off a few more features in the Samples:
As of CesiumGS/cesium-unreal#454, FloatingPawn is deprecated.
These are the images for launch, icons etc. Lets change them from defaults to Cesium logos.
The ion tokens that are distributed with the samples are usually valid for two months. With the monthly release, there is some grace period for people to have a chance to update, and receive new tokens. But when the tokens expire, the "end user experience" might just be that ~"nothing appears, everything is broken" (it just prints some error message on the console that doesn't tell much about the reason).
Users should be informed about the reason why "nothing appears", in a way that is easy to understand and accessible. We could go fancy there, and present that error to the user, maybe as a dialog with some link to the site for updating the samples (and of course, for registering on ion, so that fewer people rely on the sample tokens).
This affects all levels:
cesium-native
, there should be a mechanism for more detailed error messages. The point for starting to address this may be near Tileset::_handleAssetResponse
, where we might check the return code (401 for "Unauthorized", I think) and somehow retain this information. This could be along the lines of some enum TilesetError
(not using the HTTP codes, because we might need some PARSING_ERROR
error types as well), and a Tileset::getLastError
or socesium-unreal
, there should be a method for obtaining that information and making it available via the Cesium3DTileset
(accessible via Blueprints and such)cesium-unreal-samples
there might be a dedicated blueprint to handle the case of expired tokens.The latter could make sense, because in the usual workflow, a 401
error would roughly mean that the user misconfigured his ionToken
. A dedicated blueprint for the samples could capture this error, and identify it as the special case of "The sample token is expired" (because in the samples, there should be no other 401
errors).
All this is related to (and largely depends on) CesiumGS/cesium-unreal#542
Unreal uses an auto-exposure system, so that while in bright sunlit areas, Unreal brings down the exposure to achieve an appropriate light level, and vice versa for dark shadowed areas. However, in certain scenarios, especially in cities, the auto-exposure will compensate too far in dark areas, and any visible sunlit objects will be extremely bright with clipped highlights.
We can fix this issue by setting a minimum Exposure Value (EV) to our scenes. This requires adding a PostProcessVolume with infinite extent in the level.
Default exposure in shadowed area with no minimum EV. Sunlit areas are over-exposed and have clipped highlights.
This makes it difficult to fly the camera to parts of the globe far from the origin. As reported here:
https://community.cesium.com/t/navigating-on-earth-with-dynamicpawn/24046
We should also check if other levels have the same problem.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.