webaverse / app

Web metaverse client
https://app.webaverse.com
MIT License
340 stars 207 forks source link

Art: Megasword #1335

Closed Vianvolaeus closed 1 year ago

Vianvolaeus commented 3 years ago

The 'megasword' was previously elected as the MC's sword, but following developments in lore / character direction changes now need to be made.

Below is the previous design for reference: image

Proposed changes: Remove cable / tassel Sphere material change to match style, feels out of place Add trigger system for blade activation

Potential changes:

avaer commented 3 years ago

I would keep the trigger separate from the blade — if by system you mean some scheme of tying them.

Vianvolaeus commented 3 years ago

Can work either way, depends what's needed in terms of design / technical. Currently it is a separate object with it's own activation shapekey, separate from the blade activation shapekey.

avaer commented 3 years ago

Thanks, the two are best separate for coding it. 👍

avaer commented 3 years ago

I also noticed that the sword does not have a blade morph -- only an animation.

It seems there needs to be three dynamic elements here: trigger, blade, folding animation.

Vianvolaeus commented 3 years ago

I don't think that's correct in the case of the Megasword_Anims blend file in the drive, which already has those three elements separate:

https://user-images.githubusercontent.com/80061436/124643062-800a2880-de88-11eb-980a-45436ebfe2be.mp4

I'll update the file with the drivers removed and the shapekeys' names updated, as per req. on #1341.

avaer commented 3 years ago

Thanks for the video, I was able to locate all of the morphs. 👍

avaer commented 3 years ago

The main thing which IMO doesn't fit in the sword is the "core".

image

This wasn't clear until recently (no design phase), but the main idea behind these assets is they are intentionally made by someone (both in world and out) to tell a story or express something. Therefore having a unique new material for such an important object requires explaining the material and ensuring it makes sense in the rest of the world -- and I can't figure out anything for that without adding a new dimension to the "lore"/"design" that explains weird materials or meteorites.

So what if we changed that core to something organic like an alien heart, or something that could have been ripped out of a creature and requires less new explanation?

avaer commented 3 years ago

Some random ideas to show what I mean for the core:

10 Cloverfield Lane - Studies, Kurt Papstein Beroe abyssicola throwing up Bolinopsis American Museum of Natural History Claire Lindner_ L’Air est une Racine – Galerie de lAncienne Poste Exploring the Darker Sides of Ceramics (Published 2015) William-Kidd_-Ceramic-‘Organic-Possibilities’ Limacina-helicina-feeding-mucus-ball-small About-BuzzFeed These-Endangered-Wildlife-Photos-Are-Artistic-Masterpieces Mary’s-Monday-Metazoan_-Salpflower

avaer commented 3 years ago

Also the core doesn't need to have any sort of "cage", but it could certainly have some cool heart beat type animation.

avaer commented 3 years ago

In removing the carbon fiber and potentially collapsing the geometry a bit, here is some more texture/design inspiration:

Skyforge - Weapons   Items, Anton Lavrushkin (1) .

avaer commented 3 years ago

Another idea is to trap some kind of organic object in a bubble.

Tea Weird _ The Griffon's Saddlebag on Patreon

avaer commented 3 years ago

The Ecco orbs could possibly also work here.

The difference from what we currently have would be that this is organic and a mysterious part of something else, rather than being a rare mining resource you would power the sword with.

Genesis 32X SCD - Ecco The Tides of Time - Asterite Globes lol

Vianvolaeus commented 3 years ago

I think this is going to need a redo with the new design ideas in mind in order to fit the criteria for it, as well as the comment here in #1343 : https://github.com/webaverse/app/issues/1343#issuecomment-875764328

regarding basing the weapons around the basilisk parts.

I think the having an encapsuled eye rather than a heart makes sense more on lore, (filter guidance) and will fit the sphere shape better, so I will explore that.

Vianvolaeus commented 3 years ago

We could have a sphere with inverted normals, with another inside it also with flipped normals to create an interesting effect based on viewing angle. It would remain flat / 'normal' looking when viewed headon, and is still easy to draw / outline / svg in that context.

The video also shows just a regular eye sphere encapsulated in a flipped-normal sphere at the end. https://user-images.githubusercontent.com/80061436/124941596-d26f5480-e002-11eb-9186-60c09836d33b.mp4

Vianvolaeus commented 3 years ago

Context within an actual sword model. https://user-images.githubusercontent.com/80061436/124959533-34d05100-e013-11eb-9149-0419beab3742.mp4

avaer commented 3 years ago

I think the having an encapsuled eye rather than a heart makes sense more on lore, (filter guidance) and will fit the sphere shape better, so I will explore that.

That idea did show up in the generation, but the creepiness factor and the realization that it is a common trope to have an eye in a sword put me off on the eye concept. The second suggestion was a heart, which could animate and seem meaningful but without as much creepiness.

avaer commented 3 years ago

https://github.com/webaverse/app/issues/1335#issuecomment-876585983

That doesn't look bad, but IMO fitting in something organic and pulsating somewhere would be more impactful.

The inverted normals thing also is kind of a weird experience in VR since it violates the usual laws of physics.

Vianvolaeus commented 3 years ago

I've spent some time putting different shapes and variants together for shapes so we can narrow down a bit. Generally speaking the design focus here was to have some kind of spine that can expand from a handheld size, and have an animation that will protude the blade, but importantly, add a point to the end of the weapon so it can have it's compass function.

Left and right are the same designs, just rotated so they can easily be viewed from both angles.

image

avaer commented 3 years ago

799F142D-A573-4FC5-A625-60B0221C6B6D

IMO all of them meet the bar (gj), but the best would be the red handle (since it is most arrowable when animating), combined with the overall asymmetry and // symbolism of the blue.

Vianvolaeus commented 3 years ago

The sword shapes would look something akin to this, then:

https://user-images.githubusercontent.com/80061436/125542744-61e4145e-c6b4-4e68-b0fe-f8b307c65fd2.mp4

(w metal matcap & screen shadows, static:) image

avaer commented 3 years ago

Looks great.

avaer commented 3 years ago

I would still add a trigger for some sort of blade action, but that shouldn't get in the way of progress with e.g. texturing.

Vianvolaeus commented 3 years ago

image Added a simple trigger, it's better to have it in now for texture work.

@avaer, previously you hinted at wanting the actual blade itself to be a seperate material so you can work with some realtime shader effects in the engine. Is this a requirement for this one also?

avaer commented 3 years ago

That would be nice, yes (blade as separate mat).

However it would be good if the blade had a default texture too.

The idea is pulling the trigger turns on the blade and has a cool effect.

avaer commented 3 years ago

The trigger is good already, nice and simple.

Vianvolaeus commented 3 years ago

However it would be good if the blade had a default texture too. The idea is pulling the trigger turns on the blade and has a cool effect.

It'll be textured as normal, but I can separate the blade mesh specifically as it's own material following the same texture set 👍

Effectively it can be one or two materials as required, with the same texture set for visual parity.

Vianvolaeus commented 3 years ago

Timing can probably be edited to be a bit more impactful and visceral, but here's an activation animation for it. Trigger is at the end to bring the blade out fully, but could be at the start.

ezgif com-gif-maker - 2021-07-15T155749 818

Vianvolaeus commented 3 years ago

Video for pausing playback.

https://user-images.githubusercontent.com/80061436/125812792-d4d9bd59-4fac-4a50-bbba-623e171da687.mp4

avaer commented 3 years ago

That looks mostly good, but the scaling of the bottom seems out of place.

The reason for the sides was to be able to fold them into an arrow shape without scaling, only sliding into place.

image

Vianvolaeus commented 3 years ago

Color blockouts and variants.

It's not explicitly stated in loredocs, but I was under the impression Scilly was blue themed based on initial concepts.

Following this comment here regarding color theming: https://github.com/webaverse/app/issues/1343#issuecomment-879808393

image

I was also experimenting with some extra detail based on a curvature bake. Can add color (and height, emission, etc) to edges to varying degrees.

image

avaer commented 3 years ago

Yup you got it, and Scillia is indeed blue. I did throw in the color coding to the lore doc.

I know it's probably just the lighting + metalness but it feels like there is a very nice gradient on this one, which in addition to feeling high quality, could be animated. If that's just a trick of the lighting I would try to recreate it in emissive, or vertex colors.

image

I was also going to say the handle should not be blue, but I think this material looks fine in this shot. It's just that you wouldn't want it to appear to be lighting up like the blade, like some of the other shots.

Vianvolaeus commented 3 years ago

There is a base color gradient running along the blade, yes. The entire blade can still be it's own seperated material and everything as required, if you wish to animate anything in real-time, which would likely be best for a scrolling emission like you're suggesting.

The only thing emissive is the blade itself, that is just the metal/roughness reflecting light for the other parts. I'll tone it down a bit to avoid that confusion.

Vianvolaeus commented 3 years ago

image This is the color only, for reference.

Vianvolaeus commented 3 years ago

image There is an alternative blade, but I don't know how well this'll translate over since it's relying on transparency a bit. Top full material, bottom base color only.

avaer commented 3 years ago

Alternate blade looks good as well, it's probably the best one, but I would want that as a separate object/material that can be swapped in code.

It looks fine in full mat.

Vianvolaeus commented 3 years ago

I'll upload the Blender file shortly. Still reworking the animation and rig, but there will be a single blend / object.

The two materials for the blade can be swapped by selecting the blade, selecting all in edit mode, and applying the other material.

If you need a seperate completely blank material, it can be added.

image

avaer commented 3 years ago

If you need a seperate completely blank material, it can be added.

Nope, as long as it's a separate object it's all good. 👍

avaer commented 3 years ago

I kind of saw that middle object as a hear that can beat. If it's a heart I see two ways I see of doing it.

One is gruesome (an actual heart of some sort): image

The other way is more cute and symbolic. image image

I can fit either of these in. It could also be a flower or a cool eye, but I'm less a fan of the sword looking at you.

If it's a flower and not an explicit part of the Basilisk, it could be the "Rose of the Basilisk" from the logo:

image

avaer commented 3 years ago

Sources: https://www.reddit.com/r/blender/comments/drn1qe/creative_take_on_an_alien_heart_what_do_you_guys/ https://www.youtube.com/watch?v=6AXoU_SSdj4

Vianvolaeus commented 3 years ago

I did toy with the idea of the realistic gruesome heart, but it's not great shape-wise, it's probably going to be in the character's view a lot... it seems very out of place in my opinion. It also implies that the very heart of the basilisk has been removed, which suggests it's not alive!

I thought also about a toony, cutesy heart. The resulting would probably look a bit like a Piece of Heart / Heart container from Zelda, etc. (I see that the heart is exactly that from the source)

It'd look best from multiple angles, though, and would be pretty recognizable from however you look at it.

The rose / flower immediately references the logo, suggesting the importance of the sword and the character, but it's also a lot more detailed than the other two options.

Here are some previews for all of them:

image

Vianvolaeus commented 3 years ago

Turnaround / zoom for all of them:

https://user-images.githubusercontent.com/80061436/126186575-77b01b90-5e52-4b08-ad37-64c2bc578fe7.mp4

Personally think the rose works really well, reads at most angles, doesn't disrupt shapes too much either.

https://user-images.githubusercontent.com/80061436/126186455-0e52a822-1bb0-4844-9a67-42bce6702a11.mp4

avaer commented 3 years ago

I agree about the rose being best. IUf it's not too much trouble let's keep the Zelda heart hidden. I can see it being useful later.

avaer commented 3 years ago

Here is what the OpenAI loop had to say about this weapon, it thought that it is a "finger" of the Basilisk, but it is all very metaphorical.

“It started a year ago with my first Liskmare. I had a dream where I saw the Lisk. It told me I would receive three gifts. The first is the bite mark, then it bit me! The second is the sword, the Liskfinger, and it broke off its finger and put it in my inventory. Liskfinger will always point me to where I need to go next. The third and final gift is the most important and it awaits me at the end of the Street. When I woke up, both gifts were recorded on the blockchain. You can check it yourself.”

avaer commented 3 years ago

The sword currently is a "collection of parts", not a model in the asset. That makes it hard to copy paste and work in with other scenes.

IMO there should be a top-level object. We need to write a standards guide for this.

image

avaer commented 3 years ago

The materials in the version of the model in GDrive are highly busted and do not look like anything in this shot: https://github.com/webaverse/app/issues/1335#issuecomment-882642691

image

avaer commented 3 years ago

Because the model's materials are broken, I think we should change the blade to an emissive gradient that doesn't look as bad in these conditions.

avaer commented 3 years ago

In addition to the broken materials, it would be cool if this looked fine in darker environments, since that is one of the main uses.

That means having an emissive, glowing blade, and glowing the rose somehow. This can be done using emissive chevron arrows from the logo, or simply making the rose entirely emissive.

image

avaer commented 3 years ago

The rose seems to be baked into the "middle" model rather than a separate object that can be enabled/disabled, making it less than useful for swapping out the center for another model like the heart.

Vianvolaeus commented 3 years ago

This is currently waiting on a transparency fix before it can be finalised and exported as a gltf/glb, in which case it would be portable and a single object.

Why this was marked for review I don't know, because it's been acknowledged it's not ready, and we've been actively trying to solve the transparency issue between Blender and gltf export so it can be cleared. If we can't use transparency in this manner, the asset needs to be changed, and if the asset needs to be changed, it shouldn't be posed with for preview, so it's not ready.

The sword currently is a "collection of parts", not a model in the asset.

The reason for the separation is due to the history of post-completion tweaks, animation changes, etc. It is much better to keep things separate like this in the .blend file to avoid headaches later, and compile it as a model once it is actually complete.

Worth nothing that a GLTF / GLB can be grabbed at any point if (even a WIP) model is wanting to be posed with, etc.

The materials in the version of the model in GDrive are highly busted

The materials are no different at all. It is a different preview HDRI / preview map (background) in use. Given that the engine currently has issues with lighting, I am testing it in both light and dark environments.

In this case it looks as if the file wasn't reset to the standard studio light HDRI that's been used for the rest of the shots, and the character itself. This is why I'm including color-only screenshots where relevant (eg: https://github.com/webaverse/app/issues/1335#issuecomment-881481594)

The default Blender HDRI is a highly lit forest, which gives everything a green tint and is overbright. It should be this studio light, since it is sufficiently dark, and has main / key lights:

image

You can change them in this window (not all of these will be here in a default Blender install) image

The reason for using this is that they are much more lightweight than full tonemapped render environment background textures - 8k, 16k, etc, but still give an accurate example of different lighting scenarios in realtime (EEVEE)

The rose seems to be baked into the "middle" model rather than a separate object that can be enabled/disabled

This doesn't match up to the request for everything to be joined. Either you include geometry the 'baked' (joined) model and toggle it via shapekeys, or you keep it separate and toggle the entire object itself.

glowing the rose somehow.

This can be added. I advise a gradient or full emissive rather than the chevrons, they'll be barely visible at any kind medium to far distance.

plankatron commented 2 years ago

after baking and fixing a few rigging issues as well as a few vertex group issues , checking this against webaverse / babylon.js / gltf viewer (donmcnurdy) running it by LoryHoof , the model seems to mostly playback correctly but now seems to glitch worse and worse after every playback when previewing the glb with drag & drop feature.

gdrive link for QA testing : https://drive.google.com/file/d/1v2Fv-TTIkFeujPxKJaGSP4hG5xUmR6Ji/view?usp=sharing