speckleworks / speckleunity Goto Github PK
View Code? Open in Web Editor NEWStream live 3D data into Unity with the open data platform for BIM - Speckle!
Home Page: https://speckleworks.github.io/SpeckleUnity/
License: MIT License
Stream live 3D data into Unity with the open data platform for BIM - Speckle!
Home Page: https://speckleworks.github.io/SpeckleUnity/
License: MIT License
Refactor the four classes so that only a single component is in the scen and it contains n number of client objects that can be configured through the inspector for easier to understand use.
Check the name of the root object and destroy it if it looks like a default generated one.
As geometry is spawned in, according to the properties of the object, a material should be assigned to it. This mapping could be done either via the inspector of a monobehaviour or with a scriptable object.
For fields where the material is left null, a fallback / default material could be used.
A feature like this would allow for support between the built in, universal and HD render pipelines so that SpeckleUnity could be used in any scale project.
Super weird bug that has a pretty ugly work around for it using update, a Boolean and a string.
Need to investigate what the issue really is and likely file a bug report to unity or just fix it.
Expose a couple of fields in the inspector as well as a couple of public methods to assign these values.
Custom SpeckleCore dll broke the Speckle type values somehow. Need to add the elements dlls to the project.
This will enable easy and customisable support for built in render pipeline, URP and HDRP.
Developing feature parity with the web viewer so this is a must.
The code for SpeckleUnity should be open for extension yet closed for modification. If installed as a UPM package, developers should be able to override some underlying functionality to allow their own bespoke implementations without needing to directly modify the source itself.
Need to expose some new methods that return a list of floats or strings. Only looking to support the raw values of numbers and strings rather than any properties or meta data for now.
Need to ask some users about how they want this API to look before properly supporting it.
This is because the generated meshes have no UV values assigned to them. Need to unwrap the mesh once generated and calculate approximate UVs for it. Without this, rendering rules can't be used to texture an object to look like wood or brick.
Results may no allow for perfectly seamless texturing.
Just do what I did for getting the streams
Right now there needs to be a specific reference to the user's api key in order to access a specific speckle stream on start of the scene. There should be an alternative option to authenticate on triggering some event as well as passing in some given user credentials or default guest user arguments. This should follow on to a list of available streams to load in.
The UI for this feature should be provided as prefabs with the speckle works branding. The prefabs would be customisible so that users could use the same underlying logic but have their own interface design on top.
Just add it
This would allow for easy interactivity via sphere colliders and also make them more intuitive as points in the scene.
Unity have a new package manager based on NPM. A verdaccio instance like the one I have would be great to host this code as a package on so that it can be easily installed into Unity projects with versions, dependencies and everything else you'd expect from packages.
Just set up a speckle stream for the development that is public and keep that referenced in the project. That way, those that install the package that aren't familiar with speckle can more easily understand what it does and how it works without being blocked by needing to set up their own stream.
Need to add additional kits to support this conversion while also maintaining support for IL2CPP and .NET Standard for maximum compatibility.
Could be an issue with the current beta i'm using. Needs investigating.
Unity have released an npm package for newtonsoft json. Ideally, SpeckleUnity would have a fixed dependency on that to avoid api conflicts where a project is already using the newtonsoft json package.
Breaking changes in the npm package would need to be tested for if this gets incorporated.
This is due to how the SpeckleCore DLL was coded. Ideally this could be changed and merged into the main SpeckleCore repo as a pull request.
Since it's a static field in the conversion class, if a second manager needed to use a different scale factor, only one of them would be applied and it would be across both managers.
Write up some articles in markdown for the docfx compiler to convert into web pages for documentation.
Should match the product name of the Unity project.
Need to start writing unit tests to validate code in Edge cases
Need to introduce a queuing system so that streams get scheduled to be received to avoid getting them in parallel. This system needs to also queue nicely with stream updates. This will also help save network bandwidth as well.
Updates may be disruptive for what the use case of the package is in unity so an extra boolean should help this.
Fields should typically start with a lower case letter and properties should typically start uppercase.
Use the strategy pattern and scriptable objects to make this possible and extensible. This feature is needed to improve feature parity with the web viewer.
This is a regression due to how setting the server URL also causes logging out to occur which in turn clears the receivers.
Need to just clear the dictionary that facilitates the lookup on update started.
Tried fixing before but didn't work. Needs a second look.
Just a simple table with a semantic version and a description of the new feature to give some indication for what the future plans are.
Generate a scripting API using docfx based on the available xml comments
The inspector for the manager component looks different.
Users need to be mindful of using certain inherited fields in either of the components. The better solution would be to refactor the base class and reduce the fields in the inspector down to only what's necessary.
Log in and other api calls are working fine but when setting up a receiver, the web socket connection tries to get established, fails and then doesn't output any logs or exceptions describing what happened. Without this resolved, android builds can't be fully supported.
Add a condition to increase the index format to 32 bit for meshes that need it.
The whole API is for unity so there's no need to include it everywhere. Will also shorten class names and make code more readable.
Major regression from previous version renders the package effectively unusable. Just add the necessary foreach loop to initialise all receivers properly.
This throws off things like transparency culling and also limits the usecases of objects once received.
Looks like I just need to add it to the project.
This means that the speckle initialisation looks for kits in a debug folder on windows which isn't there by default. Also, when switching to a release DLL there seems to be new errors popping up about missing type definitions.
Needs testing.
As soon as it's released, convert to that bad boy instead of the crappy LineRenderer ASAP!
Need to return an array of SpeckleStreams
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.