esri / vitruvio Goto Github PK
View Code? Open in Web Editor NEWVitruvio brings the powerful ArcGIS CityEngine procedural modeling capabilities to Unreal Engine.
Home Page: https://esri.github.io/cityengine/vitruvio
License: Apache License 2.0
Vitruvio brings the powerful ArcGIS CityEngine procedural modeling capabilities to Unreal Engine.
Home Page: https://esri.github.io/cityengine/vitruvio
License: Apache License 2.0
It can happen that the generated building is upside down, when applying a RPK to a concave shape and changing from static mesh to splines for further processing.
Tasks:
PolygonTriangulation::ComputePolygonPlane
)Currently holes are not handled correctly when using a static mesh (with holes) as an initial shape.
Tasks:
I get an unexpected error on v 1.4 when I try to extract it. I DL'd 1.3 and several of the other packages with no issues, and I turned my AV off. Seems like it must be something specific in 1.4.
This is not the only file that throws the error. Let me know if you need more info.
Thanks!
EDIT: I was able to DL the source and compile it with the prompt. No luck on the packaged file though.
Unpacking RPKs can take a long time currently. As we only need images from the RPK in Unreal we can read them through PRT directly from the RPK instead. This would also solve our issue that we can not load TIF images from Unreal.
Tasks:
Tasks
Currently if there is an error during generation (eg mismatching CGA versions) zhe errors are only displayed in the log. This can be a bit confusing as some users might not have the log open by default.
Tasks
The description of Vitruvio says "..for the generation of procedural buildings in the Unreal Editor or at runtime". I've seen examples of how to export from CityEngine to the Unreal Editor using Datasmith, but I haven't been able to find any examples of how to generate a city at runtime (outside the editor, after the game has been built). I'm assuming this is what is meant by "runtime"? I've seen the Python & C++ plugins so I'm assuming it has something to do with that? The jupyter notebooks with pyprt seem close - import the rule package and then generate the 3D building / tree / city.
https://github.com/Esri/pyprt-examples/blob/master/ex7_building_modeling_optimization.ipynb
This example does it in the web:
https://www.esri.com/arcgis-blog/products/city-engine/3d-gis/converting-3d-geometry-formats-made-simple-using-pyprt/
But I haven't seen an example of doing it within an Unreal game.
Specifically, I want to be able to do everything in code - so have a rule package file and then use that plus user input in the game to generate a tree or building or entire city dynamically (rather than pre-built). Is this possible and if so, is there a tutorial for the code to do this? Thanks!
Currently only scalar attributes from PRT are supported.
Tasks:
Hi, when the UE5.3 version will be released?
Currently all UV sets are encoded from PRT which can lead to issues as Unreal only supports 7 UV sets at most and CGA materials potentially can have up to 10. Also the default Vitruvio material currently only uses the first UV set.
Tasks:
Currently any change to a VitruvioActor cannot be reversed. This functionality would be very helpful when accidentally breaking anything and trying to get back to its initial stage.
Currently material values > 1 are not working correctly. Eg. CGA code with
set(material.color.r, 1.5)
set(material.emissive.g, 50)
don't work properly.
Tasks:
Currently it is not possible to export initial shapes from CityEngine together with attributes. This could be useful if buildings should be generated exactly as they were in CityEngine. Currently we always use the default attributes which results possibly in a different generation.
Tasks
I am not able to see vitruvio component drop-down list, everything else ios coming except this drop-down folder where it has all the attributes
Can we expect a release of of Vitruvio that supports Unreal Engine 5?
Echoing a question that was put in UE Marketplace here.
Thanks!
I know it just came out but i really need motion matching and this plugin at the same time.
Hello,
When I try to package the game for windows I get the following error, is this error known to you and do you know how I can fix this?
UATHelper: Packaging (Windows): ERROR: Expecting to find a type to be declared in a module rules named 'Vitruvio' in UE5Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. This type must derive from the 'ModuleRules' type defined by Unreal Build Tool. PackagingResults: Error: Expecting to find a type to be declared in a module rules named 'Vitruvio' in UE5Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. This type must derive from the 'ModuleRules' type defined by Unreal Build Tool.
When I add the Vitruvio plugin to the plugin folder of the project I get the following error upon creating the package:
PackagingResults: Error: System.ArgumentException: An item with the same key has already been added. Key: Vitruvio
Currently attributes are not sorted according to their order (metadata from PRT attribute annotations).
Tasks:
Currently we do caching at various places (RPKs, Materials, Textures). Each cache is implemented in a similar way to support async access etc. We could extract some code into a base cache structure and reuse it for all cases.
Tasks:
Currently reimporting an RPK asset does not work (for example dragging an RPK which already exists into the content browser). If an updated RPK is needed the user has to import it with a different name and update all the references.
Tasks:
Currently it is not possible to save generated geometry. For some applications it might make sense to "cook" (save the generated geometry) the VitruvioActors so that they don't have to be procedurally generated anymore (eg before relasing a packaged build where no interaction with the VitruvioActor is necssary). This could save performance in such cases and also allow for proper collision mesh setup.
Tasks:
It would be great if static meshes keep their scaling when they are converted to vitruvio actor using the context menu.
Right now the shape is generated for the mesh at (1,1,1) scale even if the static mesh had a different scale before conversion. The issue is that the if the CGA rule generates different shapes based on the size of the footprint, the generated geometry will not have the right shape. Scaling the vitruvio actor doesn't solve the problem as it only scales the generated geometry but doesn't recreate it.
If a rule without "generated geometry" (for example only an insert eg R --> i("someModel.fbx")
) is run, or the generation result is empty because the generation did not run through (eg because there was an error during generation because of mismatching CGA versions) Vitruvio crashes.
Hi,
I can import RPK file, but it's not procedurally generating the city.
RPK exported with CGA from CityEngine 2019.
I'm on the Paris Base project.
Can be some clarifications about the procedure?
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.