vircadia-native-core icon indicating copy to clipboard operation
vircadia-native-core copied to clipboard

Feature Request: Material entity has "get material" dropdown referencing entity list.

Open Aitolda opened this issue 4 years ago • 14 comments

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.

Aitolda avatar Jul 13 '20 22:07 Aitolda

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)

HifiExperiments avatar Mar 05 '21 02:03 HifiExperiments

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?

AleziaKurdis avatar Mar 05 '21 20:03 AleziaKurdis

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 ?

AleziaKurdis avatar Mar 05 '21 20:03 AleziaKurdis

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

SilverfishVR avatar Mar 05 '21 21:03 SilverfishVR

Maybe we should have a small meeting to spitball this.

Aitolda avatar Mar 05 '21 21:03 Aitolda

We can speak about it at the community meeting and/or maker meeting. :)

digisomni avatar Mar 05 '21 22:03 digisomni

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.

AleziaKurdis avatar Mar 07 '21 21:03 AleziaKurdis

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.

Basinsky avatar Mar 07 '21 21:03 Basinsky

Related to #114

Aitolda avatar Mar 09 '21 21:03 Aitolda

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.

stale[bot] avatar Jul 07 '21 22:07 stale[bot]

  • 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.

Aitolda avatar Dec 05 '21 19:12 Aitolda

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.

AleziaKurdis avatar Dec 05 '21 21:12 AleziaKurdis

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.

Aitolda avatar Dec 07 '21 16:12 Aitolda

Hello! Is this still an issue?

stale[bot] avatar Jun 05 '22 23:06 stale[bot]