Git Product home page Git Product logo

characterstudio's People

Contributors

alextitonis avatar allcontributors[bot] avatar bayou-brogrammer avatar belopot avatar davincidreams avatar dependabot[bot] avatar emmyn5600 avatar gm3 avatar gonnavis avatar id-daniel-mccoy avatar kimenyikevin avatar lalalune avatar madjin avatar mavisakalyan avatar memelotsqui avatar muhammad-raftlabs avatar nus-will avatar pankaj2k9 avatar soulofmischief avatar tcm390 avatar xpertwebapp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

characterstudio's Issues

Reusable animations

Currently the process of adding custom animations is complex, need to figure out a way to optimize exported animations and make them work with any vrm file (probably a unity plugin)

Incorrect Pathing for Assets in Public Directory

The current configuration serves files in the public directory at the root path, which leads to incorrect asset pathing when trying to import them from JavaScript. Below are the encountered errors:

files in the public directory are served at the root path.
Instead of /public/style.css, use /style.css.
Assets in public cannot be imported from JavaScript.
Instead of /public/sound/background/cc_bgm_balanced.wav, put the file in the src directory, and use /src/sound/background/cc_bgm_balanced.wav instead.
Assets in public cannot be imported from JavaScript.
Instead of /public/sound/sound-files.json, put the file in the src directory, and use /src/sound/sound-files.json instead.
Assets in public cannot be imported from JavaScript.
Instead of /public/sound/sounds.mp3, put the file in the src directory, and use /src/sound/sounds.mp3 instead.
Assets in public cannot be imported from JavaScript.
Instead of /public/ui/weba.png, put the file in the src directory, and use /src/ui/weba.png instead.
Assets in public cannot be imported from JavaScript.
Instead of /public/ui/traits/shuffle.svg, put the file in the src directory, and use /src/ui/traits/shuffle.svg instead.
Assets in public cannot be imported from JavaScript.
Instead of /public/ui/selector/cancel.png, put the file in the src directory, and use /src/ui/selector/cancel.png instead.
Assets in public cannot be imported from JavaScript.
Instead of /public/ui/selector/tick.svg, put the file in the src directory, and use /src/ui/selector/tick.svg instead.
files in the public directory are served at the root path.
Instead of /public/sound/sounds.mp3, use /sound/sounds.mp3.
files in the public directory are served at the root path.
Instead of /public/ui/weba.png, use /ui/weba.png.

Let the user display hidden faces from cull mesh

Currently, the manifest decides how the mesh below will be culled by top meshes, but sometimes its hard to get a perfect culling. We should be able to shoot hidden geometry to trun it on again, as a final polish before exporting.

image

Support additive transparent textures

We should be able to not only to upload custom textures, but also transparent textures that adds on top of existing texture.

This will help adding things like tattoos, cloth branding or underwear without mesh

Increase camera max distance

Camera distance can be set for each trait, but there is a maximum camera distance that will reset back to this max distance.
Let set the max allowed distance as a base parameter in the manifest of each character.

image

VRM download size is huge (Sparse accessors required)

Currently vrm download size is huge when combining a mesh.

This has to do with morph targets saving all the data from the skinned meshes for each morh attribute.

This can be fixed by using sparse accessors, and will drastically remove size, as it will only save morph target vertex deformations

Some spring bones are being removed

Part of the code is filtering bones, but it seems there is a case were some bones are getting removed were they shouldnt, this happens in spring bones, in the image is shown how the pony tail no longer has spring bones after being exported

image

Documentation: Improve README

Make a beautiful readme with links to community, screenshots, how-to information, etc. Search for best practices on generating good README files.

Slider for tweaking culling distance per trait

Be able to tweak the culling distance very carefully (+ input custom number if need be) with a slider, preview effects in real time

  "cullingDistance": [
    0.3,
    0.01
  ],
  
  https://github.com/M3-org/character-assets/blob/main/anata/manifest.json

Fail to Deploy Bug

Following the install instructions, I am getting a 404 in console after running npm run dev

brave browser, arch linux, using --legacy-peer-deps

image

Mention character-assets repo somewhere

most probably don't realize it's 2 repos to build the project, one for the main program and the other for the assets being loaded in. Mention in README + documentation

Support loading VRM0 format

There are some issues when trying to export vrm1 from blender with some models (Mainly hair)

Exported some hair models in vrm0 format and vrm1 format from blender and seems vrm0 has no issues, this is more notorious in hair, which include spring bones, exported vrm1 from blender is not including this information

image

Also, for some reason, exported hips for vrm1 format are rotated 18 degrees in t-pose, which is making the character look bald

image

Should be 0 like vrm0 exported model

image

So the best approach is to also support vrm0 as import model. I still have to check how complex this is, if its too complex, to finish the objective in time, we can export vrm0 and reexport from unity as vrm1 as unity exports the models correctly:

(image shows hair working correctly, by exporting from blender as vrm0 then exporting from unity as vrm1)
image

Improve Texture Atlas

Current texture atlas generation creates same section size for each texture as image

image

But some of them are more important than other (for example, body section should be bigger than small details like litlle plant in the head)

image

We should make the atlas creation consider texture sizes and trait importance to determine it's size in the atlas

Export VRM 1.0

Right now exports VRM 0.X, which is ironic given that the program requires VRM 1.0 assets for ingestion. IMO best to give user option to download VRM 0.X or 1.0

Move Animation Selection out of Trait Edit

Currently to test different animations we have to open any trait option to see animation options and mouse look.

image

User should be able to select animation without opening trait options, also it should be able to pause and play. Probably a new lower menu can fix this (include randomize, debug, animation selection, play, pause, mouselook)

something like this ( design can be improved )

uiProposal

Explore making a MetaFactory version

Scope out what it'd take to make a version for MetaFactory in terms of UI, assets, avatar bases (can use hyperfy bot). Will need to make new wearable meshes

Colliders are not being exported

Collider bones are not being exported from the character studio (only spring bones)

But we might also need to define which trait will be used for colliders as we dont want to use every collider from every trait, we can defrine this in the manifest. (example image shows how collider bones should be displayed in unity, current exported model from character studio does not have this info)

image

Support Transparent Materials

Current atlas will grab all materials from every vrm model and combine it to a large atlas, but this atlas is meant to be opaque only.

In case the user has anytransparent material on their model, we need to create a secondary atlas map for all transparent materials it has

image

Add KTX2 export support

We should be able to choose to export ktx2 textures for optimized performance in supporting platforms

Ability to change backgrounds

Imagine this is character select, or populated once you connect wallet / see the NFTs you own
Screenshot from 2023-10-01 16-34-34

Next screen, have ability to have a custom background per each persona
Screenshot from 2023-10-01 16-34-23

New idle animation / animation selector

Something sassy and expressive movement in order to give us more chances to debug / find clipping issues. Would be cool / useful to select different animations

Tooltips / Hovertext / Verbose mode

Add some UI about what item is being equipped or hovered over, this can help us better debug like visual print statements. Would be useful to have overall stats visualizes in addition, like how blender / hyperfy display them.

image

Tweaking cullingDistance freezes the app

Sometimes it works, other times it just freezes entirely. It will eventually unfreeze tho. Seems like a regression from a recent patch. It doesn't matter if using arrow or slider.
image

Option to choose scale at export

currently when exporting VRM without atlas for artists to tune up, the scale shrinks to 0.7 of what most are working with in anata project. This looks fine when fully assembled, but if we need to tune something up it would be better to keep consistent with rest of the project files.
mpv-shot0337

we can use an outline of a default VRM armature from blender as the reference point, then a slider / scale (like how we do 0.7 currently).

I don't think this is a big priority right now, because if we drag and drop a VRM trait into character studio it will scale to appropriate size. I just want to post this just in case.

Apply official vrm animation to character to avoid Desynchronization from trait assets

The way how currently animations work in Character studio is complex and not realiable as sometimes it gets desynchronized making loading new traits look awkward.

Lets find a way to implement vrm animation spec to achieve animations and be able to simplify the process.

I've noticed that the vrm exporter from blender already includes a way to export animations:

image

We can do some testing with an exported animated file from blender and see if it gets support in vrm-three plugin loader

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.