Giter Site home page Giter Site logo

rurre / pumkinsavatartools Goto Github PK

View Code? Open in Web Editor NEW
697.0 20.0 43.0 3.07 MB

A toolbox for easily setting up VRChat avatars in Unity. Adds functionality to the editor and automates some of the tedious tasks.

License: MIT License

C# 98.22% ShaderLab 1.78%
vrchat component-copier dynamic-bones avatar virtual-reality tools unity avatars

pumkinsavatartools's People

Contributors

babo4d avatar bluwizard10 avatar dreadrith avatar float3 avatar imagitama avatar jellejurre avatar notakidonsteam avatar rurre avatar tayouvr avatar ty802 avatar vocalfan 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pumkinsavatartools's Issues

Does not copy Dynamic Bones that reference hidden gameobjects

I copied everything from one avatar to another and all of my Dynamic Bones except 1 that has the root bone set to an inactive gameobject were copied.

I put the Dynamic Bone outside the inactive gameobject only because emmVRC does not activate global dynamic bones for toggled Dynamic Bones.

'Mesh prefab is missing, can't revert to default pose'

Getting this with the latest version. Someone told me it might be because I need to set the T-Pose animation for my avatar as a prefab for the program, yet I've never had to do that before (nor would I know how to do such a thing outside of using UMotion).
I get this with Avatars 2.0 and 3.0.
Unity_2021-03-20_21-17-35
What the heck does it mean by 'mesh prefab'?

[Request] Scale Audio Source Max Distance

I'd like to request an option to scale audio source max distance when adjusting avatar size. Useful for proximity sensitive on-avatar items like heart beats, or purring sounds.

[Suggestion] Remove VRC and VRCSDK dependencies

This tool will error without the VRChat SDK. This is inconvenient when using it in projects other than for VRChat as most of the functions in this tool are not specific to VRChat and the tool itself is incredibly useful even if it is tailored to VR avatar making.

This would also make pumpkin tools work in ChilloutVR related unity projects without the need to also install VRChats SDK.

Proper ChilloutVR CCK support would also be nice but generalizing the tool would be amazing to do.

Copying Game Objects

Hi,

I know that this was mentioned ~3 years ago in #5, however I'm rather confused. On the latest release, there is no way to explicitly copy Game Objects in the way I think should be expected. My avatar has several things attached to the hands and they never get copied over to the new one. I end up having to manually copy and paste them into the new armature.

image

Could you please help me figure out the correct way to have these copied? I see there's a Transforms option, though to me that doesn't make as much sense as saying it's Game Objects.

Breaks tool tabs and dynamic bones

If the latest version or even older versions are in my project dynamic bones no longer remembers settings and all the other tools I have disappear from the tabs at the top. If I delete the folder for pumkins tools the tabs return and dynamic bones returns to normal.

If GameObject is disabled, copied hierarchy is also disabled

Hi, thanks for your awesome tools. I have just one problem that is easy reproduceable, but really annoying:

If I copy everything over from one avatar to the other, and there are disabled GameObjects, if those GameObjects have other Objects underneath them, they get copied, but get also disabled (but they are enabled in the source hierarchy).
That makes it really annoying if you use that for logic or similar things.

I hope it's not a limitation of the Tools, and just a bug :/

Cheers

  • tschaerni

unity 2017.4.28f1

PumkinsAvatarTools.cs(1182,42): error CS1061: Type DynamicBone' does not contain a definition for m_UpdateMode' and no extension method m_UpdateMode' of type DynamicBone' could be found. Are you missing an assembly reference?

[Suggestion] Copy Materials

This is an edge case, but losing an avatar always sucks.
I'd like to not go through the process of ripping my own avatar.
A simple tool, called LoadBundle, will let me spawn an instance of my vrchat avatar with every script present, it also includes every material. I am not able to save this however, so it is only a temporary solution that lets me copy over dynamic bones.
I find myself in this weird situation where i have to go through every material on the avatar, and copy > paste the settings to my reimported fbx.

A nice feature to have would be adding the ability to copy over materials with the same names, just like dynamic bones etc.
Don't know if this is possible but if it is it'd be cool to have.

[Suggestion] Transparent Thumbnail pictures

I know it's possible, i have seen it ingame on multiple avatars.
But the camera module always falls back to a colored background and completely ignores the alpha values.
Can you work on something like this?
Thanks

[Creator Companion] PhysBones & Contacts

Pumpkin Avatar Tools cannot find the SDK when using a Creator Companion project. Breaks PhysBone and Contact copier.

image

static bool GetPhysBones()
{
Debug.Log("<color=blue>PumkinsAvatarTools</color>: Checking for PhysBones and Contacts in project...");
var pPaths = new List<string>();
pPaths.AddRange(Directory.GetFiles(Application.dataPath, "VRC.SDK3.Dynamics.PhysBone.dll", SearchOption.AllDirectories));
pPaths.AddRange(Directory.GetFiles(Application.dataPath, "VRC.SDK3.Dynamics.Contact.dll", SearchOption.AllDirectories));
if (pPaths.Count == 0) //No Physbones or Contacts in project
{
Debug.Log("<color=blue>PumkinsAvatarTools</color>: PhysBones and Contacts not found in project.");
return false;
}
else //PhysBones and and Contacts Present
{
Debug.Log("<color=blue>PumkinsAvatarTools</color>: Found PhysBones and Contacts in project!");
return true;
}
}

small request to toggle constrains on off

having constrains on avatar im using copy components transforms
but due to constrains it breaks most of the time
would be nice to turn all constrains on avatar while copying or to turn off like dynamic bones

Copy of VRC Avatar Descriptor is sometimes borked

Hi, again ;)

I found another bug, it's not that easy reproducable, but it happend several times by now. If you copy the VRC Avatar Descriptor over, it sometimes messes up the Animation Layer settings under Playable Layers. It basically messes up the Descriptor it self, not only the settings. I'm not sure if its just a cosmetic problem with the UI, or the descriptor script it self...

I have some screenshots, the upper one is the original, the second one is the copied version.

pumkin

Cheers

  • tscherni

Dynamic bones type conversion issue

Upon importing greeted with script compliation error:

Assets\PumkinsAvatarTools\Scripts\Editor\PumkinsAvatarTools.cs(5209,50): error CS0029: Cannot implicitly convert type 'System.Collections.Generic.List<DynamicBoneCollider>' to 'System.Collections.Generic.List<DynamicBoneColliderBase>'

Avatar Info PhysBone rankings are incorrect

I didn't check any more than just this, but at least the PhysBone transform ranking is incorrect.

Check here for the correct values.

In this case, the avatar has 84 PhysBone transforms, which marks it as a Medium (Good's threshhold is at 64, so <64 PB transforms on PC drops you to Medium).

Your Avatar Info panel incorrectly calls that a Good rank.

image

When the source and destination avatars have a common parent, Dynamic Bones are not copied correctly

Expected Behavior

Root Game Object
├ Avatar A
│└ Object include Dynamic Bone 1
└ Avatar B
↓ Copy
Root Game Object
├ Avatar A
│└ Object include Dynamic Bone 1
└ Avatar B
 └ Object include Dynamic Bone 1

Current Behavior

Root Game Object
├ Avatar A
│└ Object include Dynamic Bone 1
└ Avatar B
↓ Copy
Root Game Object
├ Avatar A
│└ Object include Dynamic Bone 1
└ Avatar B
 └ Avatar A
  └Object include Dynamic Bone 1

Possible Solution

Perhaps there is a problem with FindTransformInAnotherHierarchy() or CopyAllDynamicBonesNew().

Steps to Reproduce

Run a copy with the same hierarchy as Current Behavior.

Context (Environment)

Use latest SDK3(Avatars), latest Dynamic Bones, PumkinsAvatarTools v0.19b


This problem can be solved by changing the avatar location, but I've heard that v0.9.2b will allow this tool to be used in UDON world, so I'll let you know this.

Attempting to upload avatar, fails with missing file exception

When attempting to upload an avatar with the tools imported, fails to upload, creates a prefab_id prefab of the model in the assets and reports a:

FileNotFoundException: C:/Users/SEVAST~1/AppData/Local/Temp/DefaultCompany/TestProject/prefab-id-v1_avtr_ca9d5709-7068-4f37-b5ae-31ab7dd2866a_8180208465.prefab.unity3d does not exist
System.IO.File.Move (System.String sourceFileName, System.String destFileName) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)

Issue not present when tools are removed in the same project.

Error after importing unitypackage

After importing the package, I was given the error:

Assets\PumkinsAvatarTools\Scripts\Editor\PumkinsAvatarTools.cs(6838,81): error CS0117: 'LogType' does not contain a definition for 'Log'

I've tried using older versions from the discord, but I still get the same error. Looking through the FAQ on the discord didn't show anything relevant to my issue either.

Tools tab disappeared permanently after opening project

The tools tab that makes the entire package work disappeared this morning when I loaded the package.
Reimporting changed nothing. Deleting and re-adding changed nothing.
Nothing I tried changed anything. Is there a way to force the tools menu to open or is it just.. gone forever?

[Suggestion] Dynamic Bone Reset

add a function that deletes and re-applies all dynamic bones (with prior settings) on an avatar fresh, to reset their starting positions.

Cannot convert from 'DynamicBone[]' to 'UnityEngine.Object'

I'm using a fresh install of Unity(Ver. 2018.4.20f1) with the VRChat SDK and this plugin, whenever I try importing avatar tools it displays these two messages and the toolbox never appears.

Assets\PumkinsAvatarTools\Scripts\Editor\PumkinsAvatarTools.cs(4090,65): error CS0246: The type or namespace name 'DynamicBone' could not be found (are you missing a using directive or an assembly reference?)

Assets\PumkinsAvatarTools\Scripts\Editor\PumkinsAvatarTools.cs(4093,60): error CS1503: Argument 1: cannot convert from 'DynamicBone[]' to 'UnityEngine.Object'

image

VRC Spatial Audio Source component not copied w/Audio Source

When using Copy Components with Audio Sources checked (along with all suboptions selected), although the sound gameobjects and Audio Source components are copied over, the VRC Spatial Audio Source component is not. I do see that it is a Script, and presume there are issues copying scripts? But I am unsure, so wanted to submit this as a potential issue just in case.

Temporarily show avatar without shaders

It would be neat if the tools had a toggle to replace all custom shaders with the default ones while enabled so one can preview how the own avatar would look to people without shaders enabled

Cannot put Pumkins Tools into subfolder

You cannot shove Pumkins into subfolders which I like to do for organization. Doing so causes the console to output errors about being unable to find namespaces for VRCSDK2, so it needs to always be in the assets root.

Is it possible to resolve this? I was using .9b but could recreate it on the newest version.

Copy Active State & Bounds

I would like if the active state and bounding box of a gameobject were copied with the Copy Components function.

When I copy an avatars components I always have to go back and fix the bounds and active state.
I disable unused colliders/dynamic bone objects per outfit, so having to go through and fix that can be quite annoying and taxing.
I also set my bounds myself so I do not disappear at weird angles.

Please add the option to copy them instead.

Missing options since updating

Since updating from 0.9.1 to 0.9.2 I found that several options under the avatar section are missing, as well as copying components does not work like it used it.

image

[Suggestion] Copy Cloth components

I noticed that the copy components function wasn't copying cloth components, and after a search of Discord I noticed it was only mentioned mid-2020 and that it would require a bit more work to get it implemented. Therefore, to avoid any potential inadvertent bug reports, I figured I'd post this suggestion/request for whenever it might be possible to implement. :)
Thank you!

Missing bones when importing from vrca FACS

I've been having a continuous problem with an avatar I'm trying to recover. Basically, I'm trying to add on the dynamic bones for the shader, which is always inconsistent with the vrca FACS avatar. I am also given a message on the bottom saying that the armature scale is not set to 1. Below is a picture of it. If yo ucould tell me if I am doing something wrong or if there is an issue with the PumpinsAvatarTool, it would be greatly appreciated if you can help me in any way. Thank you,
image_2022-01-29_234154

[Suggestion] Dynamic Bone Consolidation

I realized while working on a model that I'd like to be able to consolidate all dynamic bone components to the root to work on so all the dynamic bone components are in one place rather than exploring the armature and potentially missing bones if you happen to have an avatar with a weird bone hierarchy (like how hair can be sometimes, I've missed this damn piece of hair like eight times)
. This reduces the chances I'd lose one. Perhaps a button to move them back to their respective roots would come in handy later, but I'm still rather novice and as far as I'm aware, the location of the components don't matter as long as the root is assigned correctly.

I don't know if this is actually possible, though.

3 Errors After Importing Unity Package

Assets\PumkinsAvatarTools\Scripts\Editor\Data\PumkinsAvatarInfo.cs(8,19): error CS0234: The type or namespace name 'Validation' does not exist in the namespace 'VRC.SDKBase' (are you missing an assembly reference?)

Assets\PumkinsAvatarTools\Scripts\Editor\Data\PumkinsAvatarInfo.cs(9,19): error CS0234: The type or namespace name 'Validation' does not exist in the namespace 'VRC.SDKBase' (are you missing an assembly reference?)

Assets\PumkinsAvatarTools\Scripts\Editor\Data\PumkinsAvatarInfo.cs(17,9): error CS0246: The type or namespace name 'AvatarPerformanceStats' could not be found (are you missing a using directive or an assembly reference?)

Not sure what any of this means, but its keeping me from finishing an avatar, upon importing an older, most likely depreciated version it crashes after exiting PlayMode.

Dynamic bones (Not Found)

I can't copy dynamic bones because it says they aren't found.
I tried uninstalling and reinstalling dynamic bones
I also tried using different versions
And i still get the same thing "Dynamic Bones (Not Found)"

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.