vircadia-native-core
vircadia-native-core copied to clipboard
Feature Request: Material entity has "get material" dropdown referencing entity list.
Within the material entity, have a "get material" button. A dropdown populates (piggybacking off the entity list) allowing you to grab the materials of any existing entity. This would then populate the data field of the material entity in use. Alternatively button could also exist the moment you press the option to create a material entity, right above the usual URL box, as an alternative.
Note, It may need an additional dropdown to choose WHICH material to extract, however It's come to my attention that a material entity can technically house multiple materials. This requires some thought.
this is actually already mostly possible (from the engine-side). luci.js > tools > material demos a simple script that lets you click on an object (currently only shape or model) and it copies out its material properties into the same format that can be used for a material entity. on models, it even chooses the top material for whichever mesh part you click on. perhaps this script could be emulated in create. maybe @AleziaKurdis would be interested in this?
(the API it uses actually returns ALL materials applied to the object, in order, but then it only selects the top one)
Material Inspector seems to not support the bloom effect on the "emissive" property.
For this feature, what are the needs that we try to cover? Create a new "unused" material entity from any clicked surface?
or just copy Material data from a clicked surface (in order to reuse this data somewhere else.. (apply it to an existing material or create a new material entity using the copied data ?
I have tried to make something like this before so clearly I like the idea: create a material entity for each material on a selected model, but I could never figure out how to actually extract the textures (and save them somewhere) it is kind of confusing if the new material entity still references textures embedded in another model, and with baked assets I guess you would need to parse the texmeta.json to find the textures.
🤔 If instead of creating multiple material entities, we make one with all the materials in it, will it still load all of the textures or only the ones used? I think I prefer the one material pr. material entity approach
Maybe we should have a small meeting to spitball this.
We can speak about it at the community meeting and/or maker meeting. :)
I would keep this functionality for the Material Data Creator App. So you could copy and then generate a material entity where you want. But there is a significant problem with this: Maps.
- Not sure I would like people to use the map from my storage directly.
- And maps embedded within a model file can't be really used.
Downloading maps could be an option... but it can't be manage by the script. I could only offer you and URL to do it. If we wanted to make things simple.. this part won't be for users.
I think it would be nice if we could add 20 general purpose CC0 materials (Rock, grass, metal, water, glass etc) at a not too high resolution on the vircadia content repo. We could add the materials on creation of the shape.
Related to #114
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
- Not sure I would like people to use the map from my storage directly.
~~Can you elaborate on how this currently works and why it references your storage atm? I'm wondering if this is a reasonable time to re-open this discussion.~~
Wrong issue.
If anyone copy a material, the maps url are still pointing on the current storage. People would have to copy them on their own storage and change the url. People might not do that, and at the end the original owner will host the maps for every one that has copied. Personally, I'm very ok to share every content I have for free, but certainly not to pay for the hosting for the everyone.
If anyone copy a material, the maps url are still pointing on the current storage.
~~I'm not sure I understand. The map fields are blank when first open it and I link it to textures on my aws.~~
I think I was replying in the wrong issue.
Hello! Is this still an issue?