#Model Replacement API & SDK

1 messages · Page 2 of 1

silent patio
#

exact same errors

#

doesnt happen for any other model

#

anyone who knows what/why this happens please lmk bc i have been trying to fix this for a while now

prime galleon
#

those look great

#

does anyone know how to make an object that is using jiggle physics make contact with other parts of the body? cause I have objects that just phase through and I'm pretty sure it is possible since I swear I have seen a model that does that

little sandal
#

trying to work on a mod with some short free time and randomly the model is now sideways when i use the setup model button, ive changed nothing so unsure why this is going on

long hinge
#

did you get any warnings or errors when you set up the humanoid rig

little sandal
#

closest thing i found was a log

#

but the avatar is fine, i made sure

#

only missing a few non required bones, being upper chest and everything on the face other than the neck and head

hushed wharf
#

Do jiggle bones require any pre-setup in blender or is it just something you can attach to a normal bone? Does it require multiple bones to function?

long hinge
hushed wharf
#

So say you have a chain of bones, you would only need to apply it to the base? And, assuming it’s applied somewhere in the middle, it would only wiggle the rest of the chain?

#

I.e. would only the tip of a tail wiggle in that scenario rather than the whole tail

long hinge
#

should be yeah

prime galleon
last oriole
little sandal
#

yes

#

first thing i click after using "set up model"

last oriole
#

Weirddd

last oriole
#

Is the model tposing when you're rigging the bones in unity? I don't think this really matters maybe, but just trying to suggest that option.

prime galleon
#

I have just had this happen to me as well, I have no idea why

#

thought it might have been related to the toe bones, but no dice

#

I just unbuilt and rebuilt and it is ok now, no idea why

last oriole
#

unity be like that sometimes

prime galleon
#

like with another version of the asset

little sandal
#

When it reinitializes it just centers sideways on the feet like seen in the photo

prime galleon
#

yeah, I mean completely rebuild it with a new asset. Reinitializing just centers the feet, that is always how it has worked. If you look at the model, it's rotation is probably off at the top along I believe the x axis?

lofty ravine
#

i have two seperate custom model mods that both work correctly unless theyre in the same pack, in which case the one that loads second cant load any models

#

in the console i get this error while the second is loading

#

and this when i try and change to the model

median rain
median rain
little sandal
median rain
prime galleon
#

keep getting this error and I'm not sure why

prime galleon
#

when building the project in unity, make sure they are different. My guess is you left them both on templatebundle and didn't change that, I used to do that

#

basically, the game is saying it can't load 2 things into the same space at the same time

#

so the first one takes priority

long hinge
prime galleon
#

making a new one

#

it also only does it with the one model

#

ok, I got it to work, but it required jank that is beyond human comprehension

#

I don't think modelreplacement likes it when you make a massive model

prime galleon
#

@median rain is there a way to get normals to load into the game?

median rain
#

Depends on what you mean by normals.

#

If it's something like your normals being inverted, you should be able to handle that in the material settings.

prime galleon
hushed wharf
#

For the jiggle physics, if I tell it to ignore a transform, will it ignore just it or its children as well

#

For example, I have two different parts of the body I want to have jiggle physics but they are not parented to the same bone. I don’t want everything in between to be jiggly but I also don’t want what I do want jiggle to get ignored

#

Would two jiggle rig scripts on the same object work or would that break things

hushed wharf
#

Ough

#

Would the multiple scripts thing work?

prime galleon
#

just make 2 instances starting from where you want them

#

yeah

prime galleon
#

or more

hushed wharf
#

Sheesh

prime galleon
#

yeah

#

sometimes, I want one part to have different jiggle than others in the same chain, or there are a lot or hair tufts or something

hushed wharf
#

Gotcha

prime galleon
#

oh also, if one of your bones is jiggling weridly at the end, try excluding the last bone in the sequence

hushed wharf
#

Gotcha

#

Shouldnt be too big a roblem since my chains are no more than 2 bones long

prime galleon
#

unity just makes bones have ends sometimes

hushed wharf
#

Do you make your models in blender

prime galleon
#

no, but I port a lot from blender files

hushed wharf
#

Better question

#

Do you export as fbx from blender

prime galleon
#

I really should learn how to make models, I think I'd enjoy it/be good at it

prime galleon
hushed wharf
#

Just turn off leaf bones in the settings

#

Disables that end bone thing

prime galleon
#

should remember that, now that you mention that, I have heard of that before

#

forgot though, long time ago and most of the time it isn't a problem anywyas

hushed wharf
#

Still a good tip to keep in mind

#

Also if you’re doing a lower poly model I’ve heard Edge smoothing is best for performance (geometry dropdown)

#

Keyword heard, I’m no pro

#

Also is an LOD required or is it just a suggestion

prime galleon
#

I don't use it

hushed wharf
#

K

prime galleon
#

time I tried to use it nothing worked, there is probably more there, but since I can't really find any tutorials or anything and it is working...

hushed wharf
#

Fair enough

sterile kettle
#

👀

hushed wharf
#

Bruh i got flagged for laughing at model dysfunction 😞

sterile kettle
#

I released you from prison, try not to bang your keyboard in a way that spells a slur, haha

hushed wharf
#

I spelled a slur?

#

What slur?

sterile kettle
#

Its a naughty word for gay people

hushed wharf
#

That is

#

An extremely overzealous flagging system

#

Likeno normal person would look at that and say “he’s trying to hide a slur get im bois”

sterile kettle
#

Well there are only so many ways you can keep 40,000 children behaving, hehe

hushed wharf
#

I keyboard smashed in a way that happened to contain three bad letters in a row

#

Much to everyones displeasure

#

Anyway this is what i was laughing at

hushed wharf
#

Like that is 40 polygons max and it looks that smooth

prime galleon
hushed wharf
#

This model in particular is up yes

#

I have others I’m working on to add as well

#

I didn’t know how to add categories because I’m a clown so it just doesnt

#

VoxelModelsForFriends, if you want it

prime galleon
#

@hushed wharf you should add some model pictures to the thunderstore page

hushed wharf
#

Idk how to do that

#

If I knew how to I would

#

Also what material would I use for something that I don’t want affected by lighting

#

I tried unlit but it just made everything a white mess

prime galleon
#

don't quote me on that though

prime galleon
#

needs to be linked to a site, probably upload image to imagur

hushed wharf
#

I’m used to working with Urp not hdrp

median rain
# hushed wharf I tried unlit but it just made everything a white mess

Don't quote me on this since it's probably not right, but Lit uses an albedo map, whereas Unlit uses a color map. Your materials which are designed for Lit are going to have their textures on the albedo map, but you would need to put them on the color map for it to work on an Unlit.

#

though if you're going for a nonrealistic unlit texture, I'd recommend using something like lilToon. I use it on my models, and it has a Lit/Unlit slider

hushed wharf
#

Definitely not going for realistic

#

My color palette is literally a 1px tall image

#

Like straight up this is the entire palette

#

Is tiny

#

(Thats for the wrong model but idc it gets the point across)

prime galleon
#

sorry, it's on the objects in the hierarchy

#

recieve shadows

#

I typically leave it on since when it's off, you can see people through the darkness on maps

hushed wharf
#

thats exactly what im going for

#

two of the skins are literally fire spirits

median rain
#

Why not add an alpha then?

little sandal
#

i do get this fbx import warning now though, that did not show before

median rain
#

That's unfortunate. There's really nothing I can do to help.

little sandal
#

just giving an update just in case,

#

haven't had a chance to work on it till now

glacial ivy
#

My default player model looks like this for some reason.
the replaced model itself looks perfectly fine and works well though. Does anyone know which one of my mods are causing this?

prime galleon
little sandal
median rain
long hinge
little sandal
#

Yes the rig is fine

#

Every version of the model up until this point work to just fine and now this current version of the model won't work at all but old versions will

#

There were a few stages that we went through when finding the direction we wanted to go in hence why there's multiple models

#

I was getting ready to work more on the mod in unity when after deleting the previous model and getting ready to set up a new one it went sideways

#

Today I tried to download the blend file again that I was sent once tilted was done working on it to see if maybe something I changed was causing the issue but it is now also affecting the base unchanged version of the model that was working fine before

#

Tomorrow I'm going to try clearing some temp files and also reinstall the version of unity

hushed wharf
#

Would setting a part of the texture as emmissive work or nah

#

Also why does the model keep doing that weird smear thing like when rendering is unassigned

prime galleon
hushed wharf
#

No, it is a part of it

prime galleon
#

nevermind then

#

that's strange

hushed wharf
#

Would an emmision map work

#

Better question: why did this become irreveribly green when I did add an emissive map

hushed wharf
#

The texture file for that part of the face is blue, so I have no idea why it’s green

prime galleon
#

emmision does strange stuff sometimes

hushed wharf
#

Its not

#

When I remove the emission it remains green

#

And also a similar model with red and pink has no color issues

#

Well, yellow and orange and red and pink

#

But still no issues here

#

Like straight up it’s using the exact same material just with different colors

#

Idk what the problem with the blue one is

prime galleon
#

emmisive is glowing, so maybe? it probably won't work if you aren't using HDRP

hushed wharf
#

I am using hdrp

#

I had to to make the project

#

And it still doesn’t explain why it remains green even after removing the emission

#

Google is unhelpful too

long hinge
#

Any idea why this is happening?

median rain
#

Perhaps they just didn't parent the tanks to the model.

#

If it's not parented correctly, it will default to the 0,0,0 location of the map.

#

There have been similar problems in the past where people's legs weren't parented.

#

That's if I understand what's going on here, which honestly I don't think I do.

hushed wharf
#

What about my greenness

median rain
#

No idea. I'm not really an expert on shaders.

hushed wharf
#

Womp

hushed wharf
#

The issue seems to become worsened if I make the texture fully white, and even more if I set it to Point (no filter)

#

Imso confused

#

Nevermind figured out the problem

#

For future reference if anyone else has this problem set Non-Power of 2 to None

prime galleon
hushed wharf
#

Nah i fixed the problem already

prime galleon
#

ok

hushed wharf
#

The texture was too small so it was interpolating weirdly

#

Or something

rustic hornet
#

The following appears in console when going back into orbit:

median rain
#

Has this resulted in any strange behavior?

#

All it means is something no longer exists by the time the model replacement is destroying itself. But when you go to orbit the scene is destroyed, and the masked's model replacement is in that scene, so I wouldn't expect it to matter.

rustic hornet
#

Not that I've seen

hushed wharf
#

Is it possible to attach a particle emitter to a model or are there issues with that

median rain
#

Why not try and find out?

hushed wharf
#

Fair enough

median rain
#

To my knowledge any prefab should work, provided it doesn't have any custom scripts.

hushed wharf
#

I mean that makes sense

median rain
#

It's possible that particle emitters might not work given that we have to use HDRP, but that's just a random guess that's as likely false as true.

hushed wharf
#

I assume sound effects would require a different library mod entirely

median rain
#

Nah.

hushed wharf
#

Oh really?

median rain
#

Just put them in the same asset bundle you are already using.

hushed wharf
#

Oh sweet

#

I dont need to learn lethalsounds thank god

median rain
#

This implementation is slightly convoluted as I had a few sounds that I was cycling through randomly for emotes in Lethal Fortress 2, but you can see how I implemented them here.

#

The Assets class is in plugin.cs.

hushed wharf
#

So i see

#

I’m not familiar with GetRandomAudio

median rain
#

It's some random function I made in the Assets class.

hushed wharf
#

Lemme guess

#

Files with similar names have an equal but random chance of being picked

median rain
#

I just made lists of AudioClips for each emote for each character, and populated all of those lists with sounds.

#

GetRandomAudio literally just takes a random audio out of one of those lists.

#

It's not terribly important.

hushed wharf
#

I assume it’s not possible to assign a “chance” to those clips. As in, high chance of clip A, low chance of clip B

median rain
#

Why wouldn't it be?

hushed wharf
#

Idk

#

Its your code

#

It wasn’t really made clear if it was List<> or a literal list

median rain
#

You can write whatever you want. The actually important things in that example is how to load AudioClips from assetbundles, and how to play audioclips in game.

hushed wharf
#

Now im confused

hushed wharf
hushed wharf
median rain
#

Oh, no.

hushed wharf
#

Well shit

median rain
#

If you're loading custom assets like audio clips or whatever from your assetbundle, you'll have to write that yourself.

hushed wharf
#

I don’t know the first thing about that lol

median rain
#

We all start somewhere.

#

I think the first mod I made took me like an actual month.

hushed wharf
#

To be fair

#

You were also the one making the api

median rain
#

Oh I mean in general. It wasn't the API.

hushed wharf
#

Oh

#

Good grief

#

Any hints on where I can begin in terms of loading the audio files? I’ve been using Resources.Load for my personal project but idk if thats like incompatible with this or smth

median rain
#

Yeah I can help with that, one moment.

hushed wharf
#

Tysm

median rain
#

So all of the API stuff is in your BodyReplacement class, and a little bit is in your Plugin Awake(), so it actually gets registered to the game. The Assets class has nothing to do with the API, and is just a convenient method that I personally like for loading assets, like your model, and whatnot. So I decided to use it in the project template that you generate.

#

You can change it however you like.

#

Yours probably looks something like this

{
    public static string mainAssetBundleName = "mbundle";
    public static AssetBundle MainAssetBundle = null;


    private static string GetAssemblyName() => Assembly.GetExecutingAssembly().GetName().Name;
    public static void PopulateAssets()
    {
        if (MainAssetBundle == null)
        {
            using (var assetStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName))
            {
                MainAssetBundle = AssetBundle.LoadFromStream(assetStream);
            }

        }
    }
}```
#

This is just the assets class that I took from the miku project.

#

What you want to do is store your AudioClip (or any other asset you have to load) in a static field, so you can access it from anywhere whenever you need it.

#

Then you want to load your audio clip out from your assetbundle in the PopulateAssets() function after your assetbundle is loaded in.

#

So it would look something like this

#
 {
     public static string mainAssetBundleName = "mbundle";
     public static AssetBundle MainAssetBundle = null;

     //Create a static variable to store your audio clip for when you need it
     public static AudioClip MyAudioClip = null;

     private static string GetAssemblyName() => Assembly.GetExecutingAssembly().GetName().Name;
     public static void PopulateAssets()
     {
         if (MainAssetBundle == null)
         {
             using (var assetStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName))
             {
                 MainAssetBundle = AssetBundle.LoadFromStream(assetStream);
             }

             //Load your audioclip here

             MyAudioClip = Assets.MainAssetBundle.LoadAsset("MyAudioClipName") as AudioClip;

         }
     }
 }```
#

All I changed in here is like 2 lines.

hushed wharf
#

How would I actually get the audioclip to be stored in the assetbundle

#

I would assume I need to do something with it or put it in a place

#

After all you need to assign the models to the assetbundle

median rain
#

When you click on a asset, there's a window in the bottom of the Inspector that lets you put assets in assetbundles.

hushed wharf
#

Ohhhhh

median rain
#

If there aren't any you can choose from, make a new one, but be sure it has the same name as the assetbundle you specified in your project.

#

If your assetbundle is already there, obviously pick it.

hushed wharf
#

Yeah my assetbundle appears in the list

median rain
#

Anyways once you actually want to play your audioclip in game, you can do something like

controller.movementAudio.PlayOneShot(clip, 0.8f);```
#

I forget what that 0.8f is, you'll have to work out the details yourself.

hushed wharf
#

Pretty sure its either pitch or volume

#

Lemme check the doc

#

Its volume

#

Its clamped from 0-1

hollow oracle
median rain
#

Probably actually fix that LOD issue while I'm at it.

little sandal
#

i found the issue @median rain

#

it was the file name

median rain
#

Excuse me, you renamed it and it worked?

little sandal
#

so, ig add that to the list of troubleshooting for that issue

#

yeeepp

#

i tried so many things in blender

median rain
#

How even?

little sandal
#

dunno

median rain
#

God I hate unity.

little sandal
#

i assumed a new project would not have any cache issues

median rain
#

I can't fathom what they're messing up but it's not nice.

little sandal
#

but ig maybe a globa; cache of something?

#

yeaaa very whack

#

wait i wonder,

#

the first time i tried the api around when it got the wiki i had this same issue and gave up

#

dident try too hard to fix it as i assumed it was just my rig or model

#

omfg

#

that is just a fix

#

flat out, re naming the file

median rain
#

Alright it's going in the FAQ, lmao.

little sandal
#

crazy stuff pain6

median rain
#

I would love to test this myself, but thankfully I haven't had this issue show up the past few models I've worked on.

little sandal
#

yea, unity just out of the blue decided gaslighting was the way

#

okay, more info

#

its not the model name

#

its the name of the gameobject

#

good thing you gave the asset name option lol

glacial ivy
hushed wharf
#

probably an incompatibility, like how morecompany cosmetics bug out with TooManyEmotes

#

also,

#
            var dance = replacementModel.transform.Find("Happy_BearCave");
            var part = dance.GetComponent<ParticleSystem>();

            if (emoteId == 1)
            {
                head.gameObject.SetActive(false);
                dance.gameObject.SetActive(true);
                part.Play();
            }```
Unless I wrote this wrong, particle effects don't work with the API
#

granted the particles do use a mesh so idk if I have to load those somehow or anything but the mesh is included in the assetbundle so 🤷‍♂️

median rain
#

What you might want to do is install UnityExplorer and look at your actual particleSystem to figure out what's going on.

#

It's not a matter of working with the API so much as there being rendering issues in game, which uses HDRP.

#

I don't know if your particle meshes utilize materials and shaders, since I've never worked with ParticleSystem, but you may need to convert your particle materials to HDRP if so.

prime galleon
#

anyone know why I get this error?

sonic atlas
#

Btw @hollow oracle I should ask did you also look into why model replacers don't destroy sometimes when a player using one leaves the lobby? I noticed @median rain still hasn't gotten around to fixing this. I've also noticed with ModelReplacementAPI installed dead bodies sometimes cause lag as well when carrying them

median rain
#

I'm pretty confident that that is a morecompany bug.

hollow oracle
median rain
#

It's a bug that doesn't occur with only my API installed to begin with. Perhaps it's more visible when a model is left behind, but that doesn't mean that mine is the cause.

sonic atlas
#

I've only ever seen it happen with model replacers

hushed wharf
hushed wharf
median rain
#

It's a mod that lets you view and modify gameobjects in game.

#

Can you run lethal company on linux?

hushed wharf
#

Yes

prime galleon
median rain
prime galleon
#

there is nothing in there

#

I got it with another model earlier, and I just redid the whole model and it worked, but this one still won't

median rain
#

I couldn't say then. Any leads from looking up the error?

prime galleon
#

I've done that once before with a massive model I had, but that one probably just didn't like how big the model was

hushed wharf
#

Both the mesh and the material say they’re loaded in memory. I’m not familiar enough with the system to be able tell if the texture for the material is loaded or if the Play() command is running properly

#

Wait yeah the texture is also loaded

#

So its just the particle system itself having issues

#

But idk why

hushed wharf
#

So my friend left while wearing one of the suits and the model stayed behind. It wasn’t tangible or interactible in any way, just a statue.

sonic atlas
hushed wharf
#

Interesting

median rain
#

If you can point out where in the code it is caused from, I would gladly fix it.

#

I've tried debugging it, but who would have guessed, it doesn't happen with only the API installed.

little sandal
#

hey hey so having a very big strange issue since i updated to v50

#

having the SDK package installed into my unity project breaks my mod and stops it from fully loading and i cant use my scripts

#

but if i remove the package and just use the .dll for the mod it loads my mod just fine

median rain
#

What are you doing with the SDK?

#

I'm not 100% following what the issue is

sonic atlas
little sandal
#

its presence is the issue

#

without the SDK and with the mod dll. it works and loads fully, no errors

#

when i have it installed as normal via the package manager though, my mod does this

#

and only loads one script and its not one i even use on prefabs for my asset bundle

median rain
#

Your VS project and unity project are two seperate things and should be kept separately. VS cannot compile the unity scripts and unity cannot compile the VS scripts, leading to issues like this.

little sandal
#

?

#

then how do i make my prefabs

#

or add the needed scripts onto my femployee

#

and it worked before v50

median rain
#

You can't add custom scripts onto your prefabs by base in unity. They aren't serialized in assetbundles. You have to add them manually to your prefab during runtime.

little sandal
#

i had 0 issue doing it before

#

there were 3 prefabs that i made withen unity to pack into the bundle

#

and i also added scripts onto the model before building the model

#

i was also told this is how you do it

median rain
#

I see, I thought you meant custom scripts.

little sandal
#

they are scripts from my VS project

#

i just need to add the references onto the game objects

#

like this script, it goes onto the model itself that the API spawns in

median rain
#

So you do mean adding custom scripts.

little sandal
#

idk

median rain
#

That doesn't work by base. I can guarantee you that. If you got it to work in the past then it was done through assembly references.

little sandal
#

this is just how everyone told me do to prefabs with scripts

#

?

#

wdym through assembly references

median rain
#

If you have a custom script in unity, and you want it to appear in game, you have to tell unity where to get that custom script from, because unity doesn't allow scripts to be serialized into assetbundles. Assembly references tell unity to look inside your mod .dll for that script.

little sandal
#

oh

little sandal
#

thats what i ment here

median rain
#

If you put that FemmployeeSettings monobehavior on your prefab in unity, and import it in game, you must go through that workflow.

#

As for getting that to work, it's a rather involved process, and I can hardly help you with it.

little sandal
#

the scripts are made in VS

#

i dont make them in unity

little sandal
#

i make the scripts in VS then build the mod, add the .dll into the unity project then attach the reference onto the prefabs as needed

median rain
#

That's not something I'm familiar with. If it's not working all of a sudden then I don't know what to tell you. the SDK wasn't updated for v50.

little sandal
#

guess im SOL then,,

little sandal
#

@median rain welp it was another unexplainable thing

#

namespace

#

of the 2 main files

#

the last version of mod used the default "ModelReplacement" as i forgor to change it when i generated the project with the SDK

#

this time i used "FemmployeeMod" and that was it

median rain
#

That would do it

prime galleon
#

my model is assigning the foot to the lower leg for the model replacement despite the fact that in the rigbuilder the bones are assigned correctly

#

is there anyway I can fix it or manually override it?

#

like is there a way to move the bone rotation offsets or something?

median rain
#

By rigbuilder do you mean your model's avatar?
Of course you can simply change your foot to be your foot on your avatar, but if that for some reason can't be done then yes, you modify the offsets.

#

You click on your model's transform that corresponds to the foot and there should be a script you can modify that specifies the rotations.

#

I was trying to also make to where you could rotate it via the widget to adjust your offset, but for unkown reasons that completely failed.

hushed wharf
#

Weird thing: I have a check for if my model returns null, but for some reason the model both triggered the non-null state while still being null.

#

Also considering it’s literally in the project i don’t even know why its returning null

#

Also fun fact, this model was previously working. All i did was change its name

#

Eh whatever it was just gonna be a bonus thing to keep I guess ill just cry about it

median rain
#

That's a material problem.

#

I'm pretty sure in this case it's unity not packaging your materials into your assetbundle for some reason, so when the API goes to grab your materials they return null.

#

People in the past have been able to fix this by manually adding their materials to their assetbundle to ensure they get packaged, but it also hasn't worked for some people.

#

Just another case of unity doing incomprehensible things.

prime galleon
median rain
#

The way rotations are transformed from scavenger to model is extremely simple and exclusively pulls from your avatar. The only way that can happen is if the avatar isn't mapped correctly, which if you did automatically, is very possible. Unity frequently makes mistakes with the automatic mapping process.

prime galleon
#

that's why I'm not sure what is up

#

honestly this is an outlier and I have no idea why it is doing this. I might just scrap the model since this is so specific. I just wanted to know if there was any actual way to fix this

median rain
#

You can change your rotation offsets, like I mentioned.

languid oyster
# sonic atlas Yeah it's a known bug but Bunya seems to not think it's a bug with MRAPI even th...

Yeah I can verify for me this only happens with this API installed and using MoreSuits models that use it. For me it happens literally every time though. It's super consistent for me and it's frustrating cuz my friends love furry mods and some won't play without them, but if someone DCs or goes to bed when standing in a terrible place, their giant model is obscuring stuff the rest of the night. It also makes headcounts hard in a pinch when rushing to leave if the person shared a skin with one someone uses later. And it's just... overall annoying and creepy

#

Poked in to see if it was fixed yet but guess not ;o; I don't know anything about coding or anything so I have no advice on fixing it, I only know it didn't happen to me before v50 and it does NOT happen unless the person is using a custom model. Anyone using a MoreSuits skin that is not a model replacement leaves with zero trace just fine.

primal pier
#

I suppose a temporary fix is to always ask people who are using such models to swap to a default skin just before laving

limber hull
#

Can the bundles be extracted once they are made? I wanted to see what another mod creator used for shader settings etc.

median rain
#

No but you might be able to view that in unityexplorer.

prime galleon
#

does anyone know a unity plugin for mouth movement with mic activity?

hushed wharf
#

I dont think you actually need a plugin for it

#

Its just a lot of scripting

#

Could probably mess around with rotation/translation and lerping for the mouth bone/object multiplied by the dB of your mic input or something like that

median rain
#

I know I've seen people achieve that before, but I can't recall any specific mods off the top of my head.

#

If your model has vocal shapekeys, you can probably run a script on update that measures the volume of your sound emitter and sets the shapekey value accordingly.

prime galleon
median rain
#

Oh, then why not just look at their source?

prime galleon
#

something called jaw sync

#

on both of them

#

I'm going to be honest, I don't know what I'm looking for

median rain
#

The lightning mcqueen one seems to actually have a class named something like jaw sync in their source code, that they add as a component onto their model. Your best bet is to study that class and implement something similar to it.

#

Yeah, they add it in the AddModelScripts() section. The implementation is a bit lower than that.

hushed wharf
#

Probably stupid question

#

How easy would it be to replace the arrow thing above the player that the ship map uses

#

If even doable with the API

paper hearth
#

that’s not something this mod does. this mod just replaces the player model. hence the name.

hushed wharf
#

Well technically the name is just “ModelReplacementAPI” and not “PlayerModelReplacementAPI”

#

Which is why I asked

prime galleon
#

yeah, that is something else different entirely

#

are there any mods that do that actually?

paper hearth
#

yeah but this mod only deals with player models..

#

i’m sure the arrow thing is moddable, but not sure if there’s any mods that deal with it

median rain
# hushed wharf Probably stupid question

That arrow is literally just a model on the player's gameobject that is set to a layer only the map can see. It would be really easy to replace. Just make sure you put it back to how you left it in your BodyReplacementBase.OnDestroy()

sonic atlas
#

@median rain Do you plan to push that update with that pr soon that 1A3 pushed for you? I notice that I see that OnDestroy error a lot in my logs when masked enemies spawn lol

median rain
#

I'll get to it not too early, nor too late, but only when the time is right.

sonic atlas
#

Lol I just hope to see that update come soon c;

full night
#

@median rain what's the deal with the .Networking project? is it / may it ever be viable to use to network a player model?

median rain
#

It's going to be an optional plugin that will do things like synchronize the person a masked is impersonating, allow people to select models without needing to use the rack, and maybe also serve as enemy model replacement sync.

full night
#

also - out of curiosity - how does the selected model propagate (sync) over the network? I had a quick glance over the code on GitHub but couldn't find anything glaringly obvious

median rain
#

Though I'm still uncertain on whether I want to do enemy model replacements. People seem to be getting by just fine without an API.

#

As a client side implementation, it synchronizes using the suit index, which is rife with flaws, but it works well enough if everyone in the lobby has the same mods.

full night
full night
#

(yikes that it uses suit index 😭)

median rain
#

It's managed in the PlayerControllerB, which is a network prefab, so is synced automatically in game.

full night
#

It's a network variable?

median rain
#

Not one I implemented. it's base game.

full night
#

or a collection of RPCs?

median rain
#

variable.

full night
median rain
#

RPCs are insanely unreliable, so I do checks frequently.

full night
full night
#

they are reliable just misused

median rain
#

You would be shocked. I initially hooked into the RPC for when a suit is changed, which is essentially how suit index is set, and yet it still only worked some time.

#

Anyways, is there anything in particular you're interested about?

#

Syncing with suit ID's isn't really a nuanced topic.

full night
full night
median rain
#

Is this issue every time you put on a model, or only when you switch from one model to another?

full night
#

it's whenever their particular model is initially equipped

#

'they' being the model author

#

the issue is a them issue, trying to get context to help them fix it

median rain
#

Well a delay is simply unavoidable seeing as the values need to be synced.
I update a person's model on update if the suit ID changes, it's very possible that when someone changes their suit, that won't be reflected on other clients until some number of updates after.

#

I do feel like invoking an RPC from Awake should be designed to account for that, though. I don't know what they're doing so I can't really say more than that.

full night
#

so it instead invokes an RPC on another (already spawned) network behaviour

#

then on the client-side the RPC looks up the behaviour that it expects to be on the player model once the model replacement is applied

#

but the behaviour isn't there yet

#

which is consistent with my hypothesis and your confirmation, so just need to work around it somehow

median rain
#

Oh that's simple.

full night
#

could always go with a polling solution, it just feels janky

median rain
#

When the RPC is invoked on client, defer your logic until after some coroutine confirms the existence of the model replacement.

full night
#

yeah, polling solution

#

so there's no more elegant way?

median rain
#

Nope. There's nothing I can do about that. I'm sure you've already looked through dnspy, but in lethal when some RPC is called, it's called on the client at the same time as it calls to invoke for other clients, so the frame that a model replacement is put on will always have delay.

#

I didn't know it was a whole update.

#

But I think a coroutine really is the simplest and most straightforward solution.

#

Some

If(!ModelReplacementAPI.GetPlayerModelReplacement(playercontrollerb)) {yield return new WaitForEndOfFrame();}

// Your stuff here
#

Ah, that should be a while loop, actually. But you get the idea.

hushed wharf
#

Idk if this is the right place to be asking but I’m having a lot of issues with the Toon Shader and google is extremely unhelpful as always.

  1. There is a persistent white glow that I can’t figure out out how to remove.
  2. The base map always renders black.
  3. The outline refuses to change color and for some reason increases in size the closer it is to the camera.

The toon shader also isn’t under the HDRP category for some reason either even though the unity website told me that’s where it would be downloaded to, but I don’t know how much or if that matters

#

Image shows all 3 errors occurring at once

little sandal
#

Just had a very interesting moment was play testing our mod and when a player died I picked up their body only to start levitating into the sky

#

I assume this is a known bug? Kind of like the other related bugs with weird corpse physics

sonic atlas
#

Yes this mod causes really weird behavior with dead bodies

#

idk why lol

little sandal
#

i dont blame the mod

#

its one of those "it isss what it issss" things

#

ill make sure to include a note when its uploaded to TS

#

it was so sadd tooo, the player helping me test got dogged then i was clutching up getting their body last.
i was already super low from a early thumper so the short drop killed me and we lost like 1.5k of built scrap

#

still very funny though 👍

sonic atlas
little sandal
#

eyeeep

#

thats the same thing that i got

#

send that clip in the femmployee thread

#

very funni lol

#

i wonder how much of the jank can even be fixed without just properly replacing the model

#

but i think the current method is the best for what the API is meant for

sonic atlas
#

Lol

little sandal
#

oh it does?

sonic atlas
#

XD

#

Not a model replacer

little sandal
#

yea was about to say after watching again just now

#

so its the api, but NOT the models

sonic atlas
#

Yes

#

LOL

little sandal
#

something it does to the base player then ig

#

well i send the gud coding vibes for finding the fix some day!

languid oyster
#

Corpses freak the fuck out with the api and models get left behind when people DC. Pretty common happenings. I've had the freak out send me to the sky and kill me to gravity more than once XD

sonic atlas
median rain
#

Do you know which model was being worn in that clip?

#

I can check and see what I can do about it.

sonic atlas
#

XD

#

Custom suit lmfao

median rain
#

I'm talking about the guy who picked up the body, not the ragdoll.

sonic atlas
#

Oh I picked up the body, I was wearing the default scavenger model

#

XD

median rain
#

I'll look into it once I have the time. Maybe it has to do with the lod issue that currently exists.

#

Also 1A3's PR only serves to remove some messaged from console. It doesn't fix anything.

#

So that bug will unfortunately have to remain until whoever caused it fixes it.

#

I would have fixed it if it happened with just my mod installed, but I did some testing with a friend and it doesn't, which means it's a compatability issue caused by someone else.

languid oyster
#

Is it something about MoreCompany or something common then? It happens on even my simpler lists

#

I have no idea cuz before v50 everything worked perfectly but after v50 virtually every mod updated so it's hard to track it with a time line otherwise

median rain
#

I believe so. I also have a bug report in github that states the same.

#

But I haven't had the time, (or my friends' time) to do real testing on the matter of which mod causes it.

little sandal
#

that is my plugins folder if that helps narrow it down to any outside causes

median rain
#

We were talking about a different issue.

#

I've adjusted the lods. If that hasn't fixed it, then I can't say what would. I don't really touch colliders, or anything to do with the base game model other than rendering them.

little sandal
#

oohh sorry mb!

sonic atlas
#

@median rain So interesting scenario, @cinder oriole can't be thrown by @elder hill's Driftwood anymore after the MRAPI update XD

#

Maybe it's a coincidence but he's the only one and he's wearing a model replacer

sonic atlas
#

Yeah no it happened again lol

#

@elder hill any idea why model replacers can't be thrown after the newest update? It doesn't sound like anything was changed that should be breaking your mod lol

prime galleon
#

I have never had any of these problem with this, so I imagine it is the combination of this mod with something like more company. I hardly run more company, the worst problem I have ever had is body desync where the ragdoll is in a different position for different players.

hushed wharf
#

Is there an easy way to remove/replace the mask from a masked replacement model, or at least move it? Due to the way my models are proportioned it just kinda floats in the air above their heads and it looks super goofy (i don’t have a pic for this)

#

It also likes to desync and not show the same player model for everyone (when spawned as masked)

median rain
#

Well just wonder to yourself how a clientside mod can sync the masked playermodels.

#

If the masked is mimicking a player already, like someone who puts on a mask, or gets eaten by one it's always synced, but if there's just a masked out there without a mimick target it's set to random.

#

And by nature of a client side mod, that part can't be synced.

elder hill
median rain
median rain
#

However, some mod makers don't set up their colliders for jiggle physics correctly, and that is something that's known to cause issues.

#

And is also nothing I have control over.

elder hill
#

Ah that's a rip then

#

I'll have to switch over to using external forces anyway

#

Switching kinematics off hasn't been a great reliable method

median rain
#

What in specific are you talking about?

#

Not sure I understand what kinematics means here.

elder hill
#

My enemy targets a player, grabs, turns their rigidbody kinematics off, and adds force to throw them in an upward direction

median rain
#

Ah, got it.

median rain
#

If so, a possible solution would be to raycast to the layer that the nametags are on, I think that's layer 8?

#

In that case you would capture base game models, as well as model replacements.

#

On my nametag collider I have this monobehavior ModelReplacementBase.RaycastTarget

#
{
    public PlayerControllerB controller = null;
    public BodyReplacementBase bodyReplacement = null;
    public GameObject modelObj = null;

    private void Update()
    {
        if (bodyReplacement == null && modelObj != null)
        {

        }
    }
}```
#

If you end up getting my collider in the raycast, you can get the corresponding playercontrollerb by accessing its controller field, and from there get the rigid bodies, or whatever else you need to get.

hushed wharf
elder hill
median rain
hushed wharf
#

Making the masked not use skins sounds more like something on the coding side of things and I was more questioning if it was feasible for me as an individual to implement rather than something you implement on your side of things

#

Although it does bring up the question of why the masked can naturally spawn with modded skins but I never see them with vanilla ones

median rain
#

Well the purpose of the masked is to fool you into thinking it's a person. Internally, masked can be mimicking a player or not. If they aren't mimicking a player than I assign them one to mimick at random. If that player is wearing a model, then the masked take on that model, if they aren't, then the masked will use its base game model.
I would assume that just means you're using a model when they spawn.

#

If I didn't do it that way, then masked won't really fool anyone.

#

Though it's not a very accessible system. You can probably write a patch if you want that will prevent a masked from putting on your skin in specific, but I'd ask that you don't write a patch that removes it entirely, so as not to damage other people's experience.

hushed wharf
#

That’s kind of extremely subjective, I don’t think masked have ever fooled me outside of the very first time I’ve encountered them

#

But since you say it’s not very accessible i may as well not bother since I’m terrible with stuff like that

stark fern
#

Ok so I've been trying to make a model replacement mod and I've been having some troubles, I've been at this for 6 HOURS NOW so i NEEED HELP.

I've followed this tutorial to a T and yet at the very end when I put the file into my "BepinEx\plugin" folder with the other mods and run it, the suit skin shows but the model does not.

https://www.youtube.com/watch?v=g9itEmQ2-6s

I've also used the tutorial on the ModelReplacementAPI github but had the same result. The only errors I've seen are in VSC and idk if those are the issue or not.

#

got these errors, and as you can see the model doesn't show.

median rain
#

Show whatever errors appear in the console at the time of putting on the suit

stark fern
#

ok one second

stark fern
#

im pretty sure the assetbundle name was correct

#

ill send the vsc file

median rain
#

So long as you didn't change the name it's correct.

#

Can you confirm that you actually have an assetbundle, and that your prefab is in the manifest?

stark fern
#

yeah my assetbundle is here with the other stuff

median rain
#

What about the manifest?

stark fern
median rain
#

No, does belbundle.manifest actually have your prefab in it?

stark fern
median rain
#

Well, all you have to do is open it and see.

#

I'm not seeing any issues with these.

stark fern
#

should i try remaking the bundle?

median rain
#

Frankly I couldn't say what the issue is. Perhaps.

#

To make sure, inside BodyReplacements.cs, your suit name string is "spaceGirl", right?

stark fern
#

its " string model_name = "Bel"; "

#

is that the problem

median rain
#

probably.

stark fern
#

ok ill go rebuild and see if this works

#

thx for helpin btw

#

ok so.... i dont have any errors in the terminal anymore however my model is completely invisible.

#

looks like its working tho, if im using TooManyEmotes then i can see the custom suitl but the actual model itself is invisible

#

WAITT

#

I SEE MY MODEL

#

ITS LIKE 5 MILES AWAY FROM MY BODY

#

better image to show the problem

stark fern
#

I've tried remaking the bundle in Unity but to no avail, any help???

median rain
#

Lmao. Does it move or is it always stationary?

stark fern
#

it does move, if i go up it goes up with me

median rain
#

That has something to do with the position offset of your model, which is something you need to sort out in unity.

stark fern
#

is there a reference to what it should be? I'll send a pic of the model properties if that helps

#

this is such a weird bug cause evrything looks A-okay in unity, i've gotten no errors and it fits the playermodel

#

i also dont see another model in the air or offscreen

stark fern
#

yeah, no nothing in unity is leading me to any solutions... it's literally exactly how it is in the tutorials

#

changing the position and root scale did nothing

stark fern
#

i'll show an example and hopefully this gives clues to whats causing this

#

ok NEVERMIND, this shits incredibly weird

#

im sending a vid, its like the model is faster than the player or some shit

stark fern
stark fern
#

HOPEFULLY this helps. cause idk what causes this at all

median rain
#

I've got no idea what could cause this, but I suspect it has to do with the hip bones on your avatar.

#

Could you send a screenshot of your humanoid avatar, and the hierarchy of your model's armature?

#

Maybe there's something weird going on there.

stark fern
#

thats what i was thinking but like the model isnt disfigured, i'll send a screenshot of the bones

median rain
#

I doubt this will help, but consider setting s2 as the chest transform.

#

Do you have any IK components on your model, or any other component that may not need to be there?

#

Looks like your root transform is set up correctly, so that shouldn't be the issue

stark fern
#

theres a phone attached to her hand

#

could that be it?

median rain
#

Doubtful.

#

I mean monobehavior components. You would have to exit the avatar screen and look at your transforms in the inspector.

#

Seeing as you have IK bones, maybe there's some residual component that's messing it up?

stark fern
#

ok so im gonna try this: deleting every extra bone except the root and see if that fixes something

median rain
#

Sure.

stark fern
#

nothing happened, got the same result

#

i thought i was onto somethin too 😭

#

wait... the bones never deleted themselves, unity bugged

#

you know it might be a unity bug, i used the latest version of unity but it could be broken. what version did you use?

stark fern
stark fern
#

i'll download the official version and see what happens

#

idek why they have the preview version as the first thing you see when you type unity download boiled

stark fern
#

ok starting over from scratch, ill see if the problem happens on this unity build

stark fern
#

I've been at this for 12 hous now.... this'll be my last attempt and then i'll just try again later

stark fern
#

... i hate unity

#

ok it works, its set to the default suit instead of the moresuits but ill do that later....

median rain
#

Don't we all. It's insane to me that a preview version just works differently.

#

And that differently, especially.

stark fern
gloomy cairn
#

So, is it possible to literally replace the player model, rather than using the crutch of costumes?

median rain
#

If by that you mean replace the playermodel mesh, you're free to try, but I wouldn't recommend doing it that way.

gloomy cairn
#

Any ideas on how to do this most correctly?

languid oyster
#

I know Lethal VRM does something like that but it can cause issues.

#

My group had models showing wrong for other players, errors when some of us didn't want to manually add them and opted for vanilla, etc. Especially if masked mimics spawn of the player. We had a player with a super good pc lag to basically a stop in a place with high mimic spawns in the instance, etc.

This way has scuff too but it's way more tolerable

hushed wharf
#

I have a bunch of alternate face textures stored in the assetbundle, would I need to load them somehow before calling their filenames or is it fine as long as they’re actually in the bundle

#

And if I do need to load it, where?

median rain
#

Load them in Assets.PopulateAssets() and assign them to a static property in the Assets class.

#

Then whenever you need them in the future, just pull them from that static property.

#

In my opinion that is the absolute best way to do it, but I mean, if you want you can just load them from the assetbundle as you need them.

hushed wharf
#

I think I’m gonna go with the latter due to the sheer volume of face assets

#

Like seriously theres 14 per model

median rain
#

Are you changing the face texture instead of using something like shapekeys?

#

That's rough

hushed wharf
#

Never heard of shapekeys before

#

Straight up didnt know that was a thing

#

But yeah its just a bunch of face images slapped onto a plane in front of the face model

#

I would’ve taken a better pic but I need to get ready for my grad ceremony so i just dont have time

hushed wharf
#

Any idea what could be causing this mess? (This error seems to have called every frame because it goes on for a hot minute)

#

(2nd image is in 3rd person)

#

If i need to send the absolute abomination that is my c# class I will

hushed wharf
#

Decided im just going to

#

nvm disregard i fixed my own problem (and found a new one but its my own fault for not adding debug logs

long hinge
#

Wahey. @/realcanad1an helped in providing some code snippets from a mod he worked on that implements mouth movements. Apparently it's just adding a dependency + adding some code. No other mod dependencies needed.

median rain
#

I wasn't aware such a plugin existed. That's pretty cool.

frank spear
#

Please leave me step-by-step instructions on how to create a costume skin for the game.

delicate glade
#

does anyone have any experience impementing their own model replacements with ModelReplacementAPI? I'm currently trying it with a few existing models that either came with a rig, or i rigged myself but no matter what i use the rig is NEVER the same ingame as it is in unity/blender, and its starting to drive me crazy
the one i just implemented i tested every individual bone and they seem to work perfectly but ingame almost all of them have horrid offsets that cause weird problems
almost.
the first one i rigged myself over 4 or 5 days mostly worked but half hips area is just plain missing into the model in-game, and no amount of messign with weight painting seems to have helped

#

ill leave some example images below, and some errors/warning that have appeared in the unity console that may help

delicate glade
#

idk if it means anything, but every child of the prefab created in AssetsToBuild that contains a Rotation Offset script also has a None script

#

this is only on the Prefab, not the object itself in the hierarchy

#

additionally, I occasionaly get some errors regarding the Scavenger model

#

such as this

#

1>C:\Users\adven\Documents\My_LC_Mods\ChieSatonaka\obj\Debug\netstandard2.1\ChieSatonaka.AssemblyInfo.cs(14,44,14,74): warning CS0436: The type 'IgnoresAccessChecksToAttribute' in 'C:\Users\adven\.nuget\packages\bepinex.assemblypublicizer.msbuild\0.4.1\contentFiles\cs\any\IgnoresAccessChecksToAttribute.cs' conflicts with the imported type 'IgnoresAccessChecksToAttribute' in 'MonoMod.Utils, Version=22.3.23.4, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Users\adven\.nuget\packages\bepinex.assemblypublicizer.msbuild\0.4.1\contentFiles\cs\any\IgnoresAccessChecksToAttribute.cs'.
1>C:\Users\adven\Documents\My_LC_Mods\ChieSatonaka\Plugin.cs(16,34,16,40): warning CS8618: Non-nullable field 'config' must contain a non-null value when exiting constructor. Consider declaring the field as nullable.
1>C:\Users\adven\Documents\My_LC_Mods\ChieSatonaka\Plugin.cs(19,41,19,63): warning CS8618: Non-nullable property 'enableModelForAllSuits' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
1>C:\Users\adven\Documents\My_LC_Mods\ChieSatonaka\Plugin.cs(20,41,20,61): warning CS8618: Non-nullable property 'enableModelAsDefault' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
1>C:\Users\adven\Documents\My_LC_Mods\ChieSatonaka\Plugin.cs(21,43,21,65): warning CS8618: Non-nullable property 'suitNamesToEnableModel' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
1>C:\Users\adven\Documents\My_LC_Mods\ChieSatonaka\Plugin.cs(45,53,45,57): warning CS8625: Cannot convert null literal to non-nullable reference type.

#

i also see this in visual studio output every time i build ^ not sure if its anything helpful

median rain
# delicate glade

Can you confirm that when you've built your assetbundle subsequently, that it actually updated the one in VS? Unity won't build assetbundles if there are errors or missing scripts.

#

It will act like it did, however.

#

Also, could you show how your model appears in unity when you press the play button and go into game mode?

#

That should reflect how it appears in game.

delicate glade
median rain
#

It's been a really long time since there's been a failure in the automatic offset mapping, and your T-pose looks correct. There might just be something weird with your model that you'll have to manually set the offsets for.

delicate glade
#

hm arms are facing behind and legs look a little odd

median rain
#

Just look at the Date Modified of your assetbundle in VS, and make sure that it actually changes when you build.

#

That's really strange. There's no issue in unity.

delicate glade
#

yeah thats why i was so confused, if it looked as broken as it did in-game in unity/blender then i would just fix it

#

but considering it looks pretty okay i dont know whats really happening/how to fix it

median rain
#

Are those missing scripts still there on your prefab that you have in your assetbundle?

delicate glade
#

yes, theyre on every bone with a rotation script

#

it does this whenever i do a new build

#

the unity version is supposed to be 2021.3.8f1 right?

#

just remembered that maybe that could affect something, but im pretty sure its right

#

💀 💀

#

wow, im sorry about that

#

i was so sure it was the right version in the video i watched

median rain
#

Ah. That was the next thing I was going to bring up.

delicate glade
#

no wonder it kept yelling at me about shaders, i wasnt even using the right version lmao

#

OHHHH i see what went wrong

#

i downloaded that version but neevr actually applied it

#

that explains things

median rain
#

Well let me know if it still messes up after getting the right editor. I have no clue why that breaks things, but somehow it does.

delicate glade
#

yep, as a coder i know that sentiment far too well

#

will give it another shot

median rain
#

Yep.

delicate glade
#

i hope it fixes my other model too

#

the initial results on that one was hilarious

#

oh wait

#

that was after my first adjustmentrs

#

THIS is what it first looked like.

#

💀

#

honestly a miracle i almost got it working with a totally busted unity version

#

(3 days of work)

#

i wouldve quit earlier but i just wanted these in so bad, theyre from the same franchise as a collection of models someone else uploaded using this framework

#

and they just fit the style so well imo

#

ontop of it being my fav franchise

#

etc

delicate glade
#

IT WORKKKKKSSSS YAYYYY

#

i can now sleep in peace tonight 😭

cobalt orbit
#

Question: Would it be possible to make a model replacement that uses the same textures as the vanilla employee model, in a way that would make it possible for you to stack it with normal suits?

median rain
#

Yeah without a doubt.

#

In the LoadAssetsAndReturnModel() function, you can easily grab the texture of the currently worn suit. As for how you would map that texture to your model, that's something you would have to figure out.

sonic atlas
#

That'd be kinda sick tbh

cobalt orbit
#

i'm looking to do #1198790641933635674

sonic atlas
#

Ah well still that would be cool since the Fortnite version actually looks better, the boots especially

cobalt orbit
#

our idea of how to do it is they'd work by adding pieces of equipment onto the default playermodel

sonic atlas
#

Noice

cobalt orbit
hollow talon
#

im currently trying to do these steps but nothing is showing in the solution explorer and i dont know waht to do since im new to visual studio

median rain
#

You probably don't have the C# runtime or whatever it's called installed.

#

Should be at the top.

#

Typically, if you do have that installed, any time you open a csproj it will create a solution file as well.

median rain
#

Admittedly, I cannot recall whether this scavenger uses the standard UV mapping or an alternative UV mapping.

cobalt orbit
#

but i'm doing the game design document for it

#

and kinda gathering people up to help w it

median rain
#

But if you take that FBX and put it and its texture in blender, you should be able to see if it is the correct UV. From there you would just need to modify the model, preserving or modifying the UVs to the new mesh as required.

#

@torpid fog

cobalt orbit
#

@hybrid seal

#

there ya go, here's some useful info bud

#

(tilted's in charge of all the model stuff)

hybrid seal
#

WAGH

cobalt orbit
#

or, atleast some of it hehe

cobalt orbit
hybrid seal
#

Ok Femmployee uses a different UV tho 🥺

#

So it and any other base model changer would bork the colors

cobalt orbit
#

smh, thats what you get for not seeing this comin'!

median rain
#

I really couldn't tell you how your mod would interact with model replacers like femmployee, just giving what I do have.

cobalt orbit
#

still very much appreciated lmao

hybrid seal
#

I mean it would most likely just try and use its coordinates

#

But because the texture on the mod model's sheet is differently positioned, it would just like

#

Be a weird random color

#

But consistently

#

Because still the same coordinates

median rain
#

Probably.

#

There's a lot of variously named .NETs out there. Just make sure you have the package that allows you to compile c# class libraries.

hollow talon
#

How do i add my model to a new suit variant so that its displayed as a serperate suit and not just on the default player model?

#

Oh wait hsouldve looked at the FAQ

#

Be back and see if i am finished

hollow talon
#

yep it works

#

always look for a solution kids!

long hinge
#

I doubt it'll affect much.

median rain
#

If you have a number of hair bones that you can count on one or two hands, it's negligible. If you have like 30 hair bones(Miku), it gets pretty bad when you have a full lobby.

#

That said, jiggle physics is an enormous upgrade in speed to dynamic bones. Back when I used dynamic bones it would stop my game with like four people.

shadow fossil
#

well... does anyone have any tips on fixing this? ☠️ "Remove Post Processing on Model" didn't help

median rain
#

That's not post processing, probably a shader issue. What shader are you using?

sly crest
#

so I need help , the model I use seem to have probelms because the fingers are bend weirdly, is there anyway to fic the model? Im pretty new to this

wet ginkgoBOT
#

Hello, @sly crest, we have a dedicated support channel and forum here: #help-and-troubleshooting #1185732310700654732
Anyone responding is a volunteer so be patient.

cobalt orbit
#

don't worry about the bot lmao it just does that when you type help

#

or say need help

sly crest
#

oh got it

delicate glade
#

and theres not much that can be done unless you contact the mod creator directly to fix it, or make your own model replacement with the same model

sly crest
#

well thanks for help

delicate glade
#

👍

sly crest
#

also you know a way to make it less glossy?

delicate glade
#

that would be a material issue, unfortunately the same logic applies as before, either the mod creator would adjust the unity materials the model uses or well.. yeah

sly crest
#

okay thanks

delicate glade
#

its likely that the metallic/smoothness values are set high

sly crest
#

welll thanks for everything then

delicate glade
#

np 👍

sly crest
#

wait i forgot to say something

delicate glade
#

glad i could help an ace detective at work

#

oh?

sly crest
#

I imported this model into lethel, but I didnt made the model

#

is their anyway I could fix it in like unity or blender

delicate glade
#

absolutely, is this the same model as the questions you had?

sly crest
#

yep

delicate glade
#

okay so for the fingers i would check the weights on the hand/fingers using Blender, there are some tutorials out there for that its just doing a spot check on the rig to make sure its all accurate

#

just search up like weight painting blender

sly crest
#

Okay

delicate glade
#

as for the glossiness i would edit the materials in unity, check the metallic/smoothness materials specifically

#

if you want it fully matte you can set both these values to 0

#

if you dont see the materials because theyre embedded into the model, you can extract them and edit them by going to the model in the unity file thingy (i forget what its called), then go to the materials tab, then hit extract materials

sly crest
#

okay, the model I have was a xps model so I have to use a older version of blender to make them into fbx.

delicate glade
#

blender probably has an addon that allows imports of funky filetypes but im not too knowledgable on the topic

#

my blender knowledge is pretty barebones so i cant entirely help ya there

sly crest
#

Here he is

#

Ill come back if i need help again

wet ginkgoBOT
#

Hello, @sly crest, we have a dedicated support channel and forum here: #help-and-troubleshooting #1185732310700654732
Anyone responding is a volunteer so be patient.

median rain
#

That's a miserable bot.

median rain
delicate glade
#

oh?

delicate glade
median rain
#

The first one is simply that the character's fingers are extremely sensitive to incorrect rotation offsets. the SDK calculates a rotation offset between your model's armature and the scavenger armature, so that the mod can drive your model the same as the scavenger in game. It calculates those offsets with your model's humanoid definition pose, that's why your humanoid definition needs to be in a T-pose with the palms facing down.

#

Unfortunately it's really hard to get the fingers close to the scavenger's finger pose, since the scavenger model is kind of messed up in every way.

#

So the finger offsets can't be calculated to very good precision.

#

Second issue is even worse, and it's that the scavenger model only has two segments per finger, instead of three.

delicate glade
#

interesting, i totally assumed it was weight painting

median rain
#

Nah, the fault is entirely in the awful base model we have to work with.

#

The thing is awful.

#

in so many ways.

#

It's not even symmetric.

delicate glade
#

i dont think ive never had issues with the models hands ive implemented BUT im also kinda dumb and miss things so idek

delicate glade
#

i swear

#

every time i implement a model it seems off but i always assumed it was the model i was working with

sly crest
sly crest
delicate glade
#

crazy

#

ill be hopping on lethal soon so i can check my models to see if i notice the hand thing

median rain
# sly crest

If you really want to suffer, you will want to match the fingers from your avatar to the avatar of the scavenger as closely as possible (Even if unity screams that it's not in T-pose). But I wouldn't recommend it.

#

I'd just take it as a fact of nature that the hands will be awful, and let it go.

delicate glade
#

if it means anything every model i implemented the rig for the fingers was like 4 total bones

#

most of the fingers were controlled by 2 bones from what i recall

#

(ps2 model moment)

median rain
#

Yeah the less realistic the hands the better.

sly crest
#

Hmm

median rain
#

Especially with long fingers, it gets pretty bad. I've seen some that just by chance turned out well, though.

sly crest
delicate glade
#

personally

#

i would actually ignore the rig that came with that model entirely

#

and re-rig it with mixamo

#

even if that rig is accurate for whatever its use-case was, we want something close to the ingame player model

#

which mixamo is pretty good with

#

or atleast, good enough for our purposes

sly crest
#

Thankls

delicate glade
#

especially if the original rig was a very specific use case, often rigs for games are designed a specific way that the game engine can interpret, especially major games

#

like the Chie model i worked with has a very strange and archaic rig

sly crest
#

Oh yeah, this is for reload

delicate glade
#

yup i figured

median rain
#

Yeah high production game rigs are crazy.

delicate glade
#

they likely have specific methods to make that rig work

delicate glade
median rain
#

Good lord.

delicate glade
#

it was a NIGHTMARE

#

by the end i just said fuck it, ill re-rig it myself

#

but yeah the chie model im talking about the bones arent like how bones are done nowadays, each bone is like a dot on a graph basically

#

so they look VERY strange in blender

#

you look at it and think how is this functional?

median rain
#

Some people leaked models for a character angelina for a game endfield (which hasn't even come out yet). I don't know how they worked their deformation, but each limb had like 7 bones.

delicate glade
#

arknights damn

median rain
#

Oh I've seen those before. They're simply awful.

sly crest
#

I mean everything else went great, besides the fingers

delicate glade
#

crazy models are already getting leaked

#

thats a SHINY BOY

median rain
#

What shader are you using?

delicate glade
#

personally i just smacked the metallic/smoothness values down to 0 and it looks (mostly) how i want it to

sly crest
median rain
#

Yeah, if that isn't enough you can also put on an all black mask map.

delicate glade
#

well less so made, more so found the model uploaded and rigged it with mixamo

#

the only thing that bugs me is the materials still look off to me

delicate glade
#

i think its the normal map im missing

#

something about the normal map the main player model uses makes it look a bit different with the shaders

#

but ye that was me

#

ive done 4 suits so far, chie, kanji, kotone, and shinji

median rain
#

Actually the game just uses regular HDRP for its shader.

delicate glade
#

all og models from either PS2/PSP for their respective games

sly crest
#

Im confuse by the mixamo website

delicate glade
median rain
#

All of the crustiness comes from their post processing stage, which adds a ton of posterization.

#

That's why I added the no post processing option.

delicate glade
#

OH WAIT

#

make sure to remove the rig in blender first

#

and then import it into mixamo

#

additionally, when importing it i would zip the fbx along with the textures so mixamo applies them

sly crest
#

Hm hmmm

#

coul I just break the finger lol

delicate glade
#

wdym

#

actually honestly if the rig outside the fingers is just fine you probably dont need to re-rig it

sly crest
delicate glade
#

yeah id just go into unity and try adjusting the fingers a bit

#

uhhhhh

sly crest
delicate glade
#

hmmm

#

im tryna think how exactly these could be adjusted

sly crest
#

maybe deleteing bones?

delicate glade
#

maybe go through and see if all the bones ACTUALLY match

#

it may have gotten confused and placed one incorrectly

#

probably not it, but hey probably worth checking

sly crest
#

Everything seem to be in the right place

delicate glade
#

if you click on each bone on the right you can see which object its attached to

#

dont recall if this means anything but some of these bone ends dont seem to be highlighted like the rest

#

the best way to check is click on each in the list on the right and confirm its where its supposed to be

#

meticulous, but an accurate way to be sure

sly crest
delicate glade
#

hm might not be the issue then

sly crest
#

I think it might be,

#

let me open the game for me to get a better veiw

delicate glade
#

yeah the frustrating thing about using someones existing rig is its set up, and used in a specific way so you just gotta sit down and figure out how exactly everythings set up, it could be the bones are mislabeled, or are meant to be used in a specific way, etc

#

and you get moments like this where you think you get how the rig is set up, but somethings not quite working

#

whether its the funky rig of this model, or the funky rig of the scavenger model, not too sure

sly crest
delicate glade
#

hrm

#

im still not entirely convinced it isnt funky weight paints, but at the same time idk why theyd be off, they shouldnt be

sly crest
#

Loos like its the thumb, ring finger and pinky

#

the middle and index finger looks fine

delicate glade
#

interesting

sly crest
#

and thoose two finger, beside the thumb, are the one you mention

#

that are not highlighted

delicate glade
#

to do this go to the model in the editor, then hit extract materials int he materials tab

#

itll look something like this

#

once theyre extracted, theyll appear whererever you extracted them to

#

to adjust the values, just click on each of them and youll see a list

sly crest
#

AHH there i see it

sly crest
#

Okayim alomost done, now it seems the thumb is backwards,

#

eh its okay

delicate glade
#

anyone have any experience with particularly small models? my small model has implemented very nicely except for one major problem, the item offset is very funky

#

it looked okay in unity so i assumed itd be mostly fine but ingame its super off

#

as an experiment i decided to try setting it all the way down here, but got the same results

median rain
#

I broke item offset at some point in time when adding first person viewmodels. Should probably fix that.

delicate glade
#

so im trying to setup a mod that includes all my custom suits as a standalone all-in-one mod, but im a bit confused at how the mod attaches each model to each suit, i put the asset bundles from each mod in the folder, and have a class for each replacement in the BodyReplacement.cs, then create a suit for each in the Awake function in the Plugin.cs script, but when you equip the suits ingame the only one that actually gets the model is the one i originally set it up with, which makes sense but i dont know where to go from here to finish the functionality

#

in all the stuff im finding theres only one asset bundle, but i dont understand how thats possible because as far as i can tell i can only assign 1 prefab in the unity section of the setup

#

oh.

#

just as i said that out loud i thought "hey wait what if i just assign the model replacement file to multiple prefabs? maybe that will add them too?"

#

classic coder moment, struggle for an hour then just ask myself out loud what im doing wrong and immediately solve it

#

😆

delicate glade
#

wait

#

i just realized something

#

i really dont need to be making a new project for every single suit 💀

#

i can just use one project to build them all in....

sonic atlas
#

@median rain any chance for a fix for this soon? 🥺

median rain
#

Considering that I don't even know what you're talking about, the chance is currently 0%

sonic atlas
#

Dunno for sure

median rain
#

Why is this an important issue? NREs I can understand, and so they are fixed. But this is a request for a really, really marginal performance improvement.

#

In fact even before the NREs were fixed performance wasn't a problem.

sonic atlas
#

Dunno, it's just an issue DiFFoZ brought up even if it's minor lol