#Model Replacement API & SDK
1 messages · Page 2 of 1
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
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
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

did you get any warnings or errors when you set up the humanoid rig
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
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?
You just tell jiggle physics which bone to start wiggling from and that's it. E.g you just tell it to wiggle the bone on the base of the tail and it will wiggle the rest of the bones on the tail.
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
should be yeah
yeah, even better, if you only want the middle part to wiggle, you can apply jiggle to a bone and ignore a further bone in the chain and only those middle bones between will have jiggle physics (though the end will still move based on how the middle moves since they are connected)
Have you tried reinitializing the model?
Weirddd
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.
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
unity be like that sometimes
have you tried initializing it again, that worked for me
like with another version of the asset
^
When it reinitializes it just centers sideways on the feet like seen in the photo
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?
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
I really wish I knew why, but restarting does tend to fix that problem. I think it's a bug relating to the unity editor, as everything I do should be completely deterministic.
Rename your assetbundles to something unique.
I see, that was the first thing that I tried because I'm used to Unity being very buggy with lethal company mod development
All I know is that it has something to do with Materials. Personally I haven't had this issue, otherwise I could give better assistance.
keep getting this error and I'm not sure why
your assetbundle names are the same
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
Is this making a new asset bundle or updating one?
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
@median rain is there a way to get normals to load into the game?
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.
I mean normal textures, they show in unity but never load into the game
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
ignores all children
dude, I have some models with like 20 jiggle scripts
or more
Sheesh
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
Gotcha
oh also, if one of your bones is jiggling weridly at the end, try excluding the last bone in the sequence
the end counts as a bone, that is normally what messes it up
unity just makes bones have ends sometimes
Do you make your models in blender
no, but I port a lot from blender files
I really should learn how to make models, I think I'd enjoy it/be good at it
yes
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
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
I don't use it
K
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...
Fair enough
👀
Bruh i got flagged for laughing at model dysfunction 😞
I released you from prison, try not to bang your keyboard in a way that spells a slur, haha
Its a naughty word for gay people
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”
Well there are only so many ways you can keep 40,000 children behaving, hehe
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
Im really satisfied with how s m o o t h the belt rope is
Like that is 40 polygons max and it looks that smooth
this model up yet, or are you still working on it?
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
@hushed wharf you should add some model pictures to the thunderstore page
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
I believe you can change your materials to not have shadows and that will work
don't quote me on that though
<img src="[png name here]" width="700" height="671"> add this to your text file
needs to be linked to a site, probably upload image to imagur
That’d be great if I knew how to do that
I’m used to working with Urp not hdrp
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
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)
I believe there is a little check box, lemme find it real quick
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
Why not add an alpha then?
okay, so i made a new project with a new install of the API tool and i get the same result with a new export of the model from blender
i do get this fbx import warning now though, that did not show before
That's unfortunate. There's really nothing I can do to help.
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?
mate, I think your Unity is just bugged
its a new install
That would be this mod. There's a bug that I've let exist for far too long where all of the LODs are showing.
Your model is rigged right? Did you set up the armature and bones manually?
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
Sorry, I finally got around to doing this. I don’t have that checkbox. I have a different checkbox that is already unchecked
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
that's the whole model, select a part of it
No, it is a part of it
Would an emmision map work
Better question: why did this become irreveribly green when I did add an emissive map
The texture file for that part of the face is blue, so I have no idea why it’s green
it's probably related to the glow color, not sure though
emmision does strange stuff sometimes
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
emmisive is glowing, so maybe? it probably won't work if you aren't using HDRP
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
Any idea why this is happening?
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.
What about my greenness
No idea. I'm not really an expert on shaders.
Womp
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
honestly, just make a new texture, i'd be faster
Nah i fixed the problem already
ok
The following appears in console when going back into orbit:
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.
Not that I've seen
Is it possible to attach a particle emitter to a model or are there issues with that
Why not try and find out?
Fair enough
To my knowledge any prefab should work, provided it doesn't have any custom scripts.
I mean that makes sense
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.
I assume sound effects would require a different library mod entirely
Nah.
Oh really?
Just put them in the same asset bundle you are already using.
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.
It's some random function I made in the Assets class.
Lemme guess
Files with similar names have an equal but random chance of being picked
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.
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
Why wouldn't it be?
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.
Now im confused
This made me assume it’s a function I can call in my own scripts-
But this makes me assume the opposite
Oh, no.
Well shit
If you're loading custom assets like audio clips or whatever from your assetbundle, you'll have to write that yourself.
I don’t know the first thing about that lol
Oh I mean in general. It wasn't the API.
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
Yeah I can help with that, one moment.
Tysm
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.
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
When you click on a asset, there's a window in the bottom of the Inspector that lets you put assets in assetbundles.
Ohhhhh
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.
Yeah my assetbundle appears in the list
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.
Pretty sure its either pitch or volume
Lemme check the doc
Its volume
Its clamped from 0-1
btw I've made a PR to fix the OnDestroy having a nullref for naturally spawned masked enemies
Thanks, I'll pull it some time soon.
Probably actually fix that LOD issue while I'm at it.
Excuse me, you renamed it and it worked?
so, ig add that to the list of troubleshooting for that issue
yeeepp
i tried so many things in blender
How even?
dunno
God I hate unity.
i assumed a new project would not have any cache issues
I can't fathom what they're messing up but it's not nice.
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
Alright it's going in the FAQ, lmao.
crazy stuff 
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.
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
This only happens when Lethal Snap or TooManyEmotes is on. Otherwise its completely normal. Is there a fix to this or just gonna be an unfortunate incompatibility?
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 🤷♂️
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.
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
I'm pretty confident that that is a morecompany bug.
I've never noticed it whilst using MoreCompany so i dont think so
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.
It is a bug with your API it also happens only sometimes it's not constant
I've only ever seen it happen with model replacers
It just uses a material, which is HDRP/Lit
Is that even runnable on linux?
It's a mod that lets you view and modify gameobjects in game.
Can you run lethal company on linux?
Yes
bunya, do you know how to resolve this?
No, I've never seen it. Perhaps try deleting the contents of your assetbundle folder.
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
I couldn't say then. Any leads from looking up the error?
no. I worked around it by building another asset within the scene and exporting the files though, that works but it definitely isn't the
"correct" way to do it. the model works fine after doing that
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
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
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.
Yeah it's a known bug but Bunya seems to not think it's a bug with MRAPI even though it is a MRAPI bug with V50, cus it happens inconsistently
Interesting
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.
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
I'm hoping @hollow oracle can help you with this, cus I can't say why it happens sometimes lol
its just in the project
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
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.
?
then how do i make my prefabs
or add the needed scripts onto my femployee
and it worked before v50
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.
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
I see, I thought you meant custom scripts.
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
So you do mean adding custom scripts.
idk
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.
this is just how everyone told me do to prefabs with scripts
?
wdym through assembly references
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.
oh
yea
thats what i ment here
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.
i drag these on
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
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.
guess im SOL then,,
@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
That would do it
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?
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.
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
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.
the bones are rigged correctly, but for some reason, it has moved the leg rotation to the foot, and the foot rotation to the toes. so when the model is imported into Lethal Company, the "knees" are the ankle
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.
I manually adjusted it
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
You can change your rotation offsets, like I mentioned.
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.
I suppose a temporary fix is to always ask people who are using such models to swap to a default skin just before laving
Can the bundles be extracted once they are made? I wanted to see what another mod creator used for shader settings etc.
No but you might be able to view that in unityexplorer.
does anyone know a unity plugin for mouth movement with mic activity?
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
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.
I know the lightning mcqueen and Loona models both have it
Oh, then why not just look at their source?
something called jaw sync
on both of them
I'm going to be honest, I don't know what I'm looking for
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.
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
that’s not something this mod does. this mod just replaces the player model. hence the name.
Well technically the name is just “ModelReplacementAPI” and not “PlayerModelReplacementAPI”
Which is why I asked
yeah, that is something else different entirely
are there any mods that do that actually?
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
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()
@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
I'll get to it not too early, nor too late, but only when the time is right.
Lol I just hope to see that update come soon c;
@median rain what's the deal with the .Networking project? is it / may it ever be viable to use to network a player model?
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.
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
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.
They weren't for a while 😂 I think 'hkw do I make an enemy model replacement' is still the most asked question in #dev-general - but yeah, I agree, it's quietened down
how is the suit index sent over the network ?
(yikes that it uses suit index 😭)
It's managed in the PlayerControllerB, which is a network prefab, so is synced automatically in game.
It's a network variable?
Not one I implemented. it's base game.
or a collection of RPCs?
variable.
aye, I understood that part
RPCs are insanely unreliable, so I do checks frequently.
zeekerss used a network variable ?!?!
I wouldn't say that, just that they shouldn't be used for syncing values / state haha
they are reliable just misused
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.
it sounds like it isn't a network variable, that it is a variable with a collection of RPCs being invoked to sync the value
trying to figure out order of execution for network-y stuff, got a person invoking an RPC from the Awake of a behaviour inside a model replacement prefab , and it seems the model replacement hasn't been instantiated yet on the client when the client tries to execute the invoked RPC
Is this issue every time you put on a model, or only when you switch from one model to another?
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
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.
Ehh, no, because the model replacement itself can't have network behaviours
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
Oh that's simple.
could always go with a polling solution, it just feels janky
When the RPC is invoked on client, defer your logic until after some coroutine confirms the existence of the model replacement.
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.
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.
- There is a persistent white glow that I can’t figure out out how to remove.
- The base map always renders black.
- 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
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
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 👍
Lol it actually needs fixed @little sandal because of moments like this XD https://clips.twitch.tv/ShakingVastHyenaSmoocherZ-QgSuh-W33GsjvwC2
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
The fact it happens with vanilla bodies though
Lol
oh it does?
That was a vanilla body I picked up there
XD
Not a model replacer
yea was about to say after watching again just now
so its the api, but NOT the models
something it does to the base player then ig
well i send the gud coding vibes for finding the fix some day!
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
Yeah I keep hoping these issues will be fixed whenever Bunya merges 1A3's pr
lmao, that is pretty funny.
Do you know which model was being worn in that clip?
I can check and see what I can do about it.
It was the default scavenger
XD
Custom suit lmfao
I'm talking about the guy who picked up the body, not the ragdoll.
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.
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
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.
i didn't have that mod when my game decided i needed to fly
that is my plugins folder if that helps narrow it down to any outside causes
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.
oohh sorry mb!
@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
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
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.
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)
Could be a morecompany issue
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.
In relation to this, lethal emotes api broke compat by having a sphere collider added to the player prefab I believe, if modelreplacementapi did smthn similar recently then I cant turn off kinematics
But that's a pretty good point. That was something I planned for, but forgot about. Thanks for the reminder.
I do add a collider, but it's specifically set to the layer that is used for nametags to appear over people's heads, and unless zeekers changed their layer masks in the recent update, doesn't interfere with things like enemy targeting.
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.
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
What in specific are you talking about?
Not sure I understand what kinematics means here.
My enemy targets a player, grabs, turns their rigidbody kinematics off, and adds force to throw them in an upward direction
Ah, got it.
Sorry I had to take care of something.
I assume your issue is that there are colliders getting in the way of your raycasts, preventing you from actually getting the character.
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.
Then is there some way to make it A: not naturally spawn with one of the skins in the mod and B: re/move the mask model for the manual interactions?
Shouldn't be the problem, was sleeping but I already have the player from way before they're being thrown as a network variable
Configuring the mask is in the list of things I may or may not implement. Making the masked just not use skins won't happen, though.
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
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.
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
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.
ModelReplacementSDK Tutorial - https://github.com/BunyaPineTree/LethalCompany_ModelReplacementAPI/wiki/Using-the-Unity-Workflow
Package URL - https://github.com/BunyaPineTree/LethalCompany_ModelReplacementSDK.git#upm
ModelReplacementAPI.dll - https://github.com/BunyaPineTree/LethalCompany_ModelReplacementAPI/releases
MoreSuits Mod Page - http...
got these errors, and as you can see the model doesn't show.
Show whatever errors appear in the console at the time of putting on the suit
ok one second
got this
im pretty sure the assetbundle name was correct
ill send the vsc file
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?
yeah my assetbundle is here with the other stuff
What about the manifest?
its here but the tutorial didnt touch it so i never messed with it
No, does belbundle.manifest actually have your prefab in it?
this one? i cant tell i havent opened this one either
should i try remaking the bundle?
Frankly I couldn't say what the issue is. Perhaps.
To make sure, inside BodyReplacements.cs, your suit name string is "spaceGirl", right?
probably.
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
I've tried remaking the bundle in Unity but to no avail, any help???
Lmao. Does it move or is it always stationary?
That has something to do with the position offset of your model, which is something you need to sort out in unity.
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
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
If i rotate the 3d model stays in the same spot
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
no other model does this, heres a vid just in case
log gives 0 clues
I WAS RIGHT, SOMEWHAT.
I'll send another video. look it's like it moves at double the speed of the player. i managed to almost make it to the model
HOPEFULLY this helps. cause idk what causes this at all
I guess there's a first time for every bug.
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.
thats what i was thinking but like the model isnt disfigured, i'll send a screenshot of the bones
vid if this helps
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
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?
ok so im gonna try this: deleting every extra bone except the root and see if that fixes something
Sure.
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?
yeah no, didnt work
wait i downloaded a preview version... that might be it
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 
ok starting over from scratch, ill see if the problem happens on this unity build
I've been at this for 12 hous now.... this'll be my last attempt and then i'll just try again later
... i hate unity
ok it works, its set to the default suit instead of the moresuits but ill do that later....
Don't we all. It's insane to me that a preview version just works differently.
And that differently, especially.
yeah, im glad it's workin now tho, thanks again for the help 
So, is it possible to literally replace the player model, rather than using the crutch of costumes?
If by that you mean replace the playermodel mesh, you're free to try, but I wouldn't recommend doing it that way.
Any ideas on how to do this most correctly?
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
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?
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.
I think I’m gonna go with the latter due to the sheer volume of face assets
Like seriously theres 14 per model
Are you changing the face texture instead of using something like shapekeys?
That's rough
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
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
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
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.
I wasn't aware such a plugin existed. That's pretty cool.
Please leave me step-by-step instructions on how to create a costume skin for the game.
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
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
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.
oh? how would i go about that
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.
oh yeah never thought of that
hm arms are facing behind and legs look a little odd
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.
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
Are those missing scripts still there on your prefab that you have in your assetbundle?
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
OH
💀 💀
wow, im sorry about that
i was so sure it was the right version in the video i watched
Ah. That was the next thing I was going to bring up.
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
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.
Yep.
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
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?
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.
Are you looking into porting the Fortnite version of the model but able to work with suit texture mods? ;o
That'd be kinda sick tbh
no lmao
i'm looking to do #1198790641933635674
Ah well still that would be cool since the Fortnite version actually looks better, the boots especially
our idea of how to do it is they'd work by adding pieces of equipment onto the default playermodel
Noice
yeh the fortnite ver would be cool asf
that's awesome! thanks
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
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.
That's a really cool idea. Here's a unitypackage with my scavenger prefab. It should contain the FBX.
Admittedly, I cannot recall whether this scavenger uses the standard UV mapping or an alternative UV mapping.
not my idea, it's Caliginous'
but i'm doing the game design document for it
and kinda gathering people up to help w it
also thank you so much!!
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
@hybrid seal
there ya go, here's some useful info bud
(tilted's in charge of all the model stuff)
WAGH
or, atleast some of it hehe
haii,,, read above :3
.
Ok Femmployee uses a different UV tho 🥺
So it and any other base model changer would bork the colors
smh, thats what you get for not seeing this comin'!
I really couldn't tell you how your mod would interact with model replacers like femmployee, just giving what I do have.
still very much appreciated lmao
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
do you mean dot net?
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.
Yup fixed. Thanks
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
I doubt it'll affect much.
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.
well... does anyone have any tips on fixing this? ☠️ "Remove Post Processing on Model" didn't help
That's not post processing, probably a shader issue. What shader are you using?
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
Hello, @sly crest, we have a dedicated support channel and forum here: #help-and-troubleshooting #1185732310700654732
Anyone responding is a volunteer so be patient.
shhhh
don't worry about the bot lmao it just does that when you type help
or say need help
oh got it
most likely the rig doesnt have very good weight painting
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
OHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
well thanks for help
👍
also you know a way to make it less glossy?
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
okay thanks
its likely that the metallic/smoothness values are set high
welll thanks for everything then
np 👍
wait i forgot to say something
I imported this model into lethel, but I didnt made the model
is their anyway I could fix it in like unity or blender
absolutely, is this the same model as the questions you had?
yep
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
Okay
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
okay, the model I have was a xps model so I have to use a older version of blender to make them into fbx.
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
Hello, @sly crest, we have a dedicated support channel and forum here: #help-and-troubleshooting #1185732310700654732
Anyone responding is a volunteer so be patient.
That's a miserable bot.
There's two causes for that, and unfortunately neither of them are weightpainting.
oh?
oh?
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.
interesting, i totally assumed it was weight painting
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.
i dont think ive never had issues with the models hands ive implemented BUT im also kinda dumb and miss things so idek
WAIT REALLY IS THAT WHY THE ARMS ALWAYS SEEM OFF ON ONE SIDE
i swear
every time i implement a model it seems off but i always assumed it was the model i was working with
WOW
Yeah, isn't it insidious?
crazy
ill be hopping on lethal soon so i can check my models to see if i notice the hand thing
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.
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)
Yeah the less realistic the hands the better.
Hmm
Especially with long fingers, it gets pretty bad. I've seen some that just by chance turned out well, though.
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
Thankls
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
Oh yeah, this is for reload
yup i figured
Yeah high production game rigs are crazy.
they likely have specific methods to make that rig work
yep i once worked with an akechi rig from p5 which had... 260 bones?
Good lord.
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?
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.
arknights damn
Oh I've seen those before. They're simply awful.
I mean everything else went great, besides the fingers
What shader are you using?
personally i just smacked the metallic/smoothness values down to 0 and it looks (mostly) how i want it to
WAIT YOU MADE THAT
Yeah, if that isn't enough you can also put on an all black mask map.
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
Yeah that what I mean
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
Actually the game just uses regular HDRP for its shader.
all og models from either PS2/PSP for their respective games
Im confuse by the mixamo website
interesting
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.
how so?
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
wdym
actually honestly if the rig outside the fingers is just fine you probably dont need to re-rig it
Yeah thast what im saying, the model it self looks fine, the fingers is the only thing thats wrong
maybe deleteing bones?
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
Everything seem to be in the right place
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
I have no idea why that seem to be the case
hm might not be the issue then
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
hrm
im still not entirely convinced it isnt funky weight paints, but at the same time idk why theyd be off, they shouldnt be
Loos like its the thumb, ring finger and pinky
the middle and index finger looks fine
interesting
and thoose two finger, beside the thumb, are the one you mention
that are not highlighted
Question how do you do this?
your model imports with materials so you have to extract them to edit them
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
AHH there i see it
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
I broke item offset at some point in time when adding first person viewmodels. Should probably fix that.
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
😆
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....
@median rain any chance for a fix for this soon? 🥺
Considering that I don't even know what you're talking about, the chance is currently 0%
I imagine this was in the Call Stack DiFFoZ mentioned before and he was saying that it's still doing that but the other stuff is fixed
Dunno for sure
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.
Dunno, it's just an issue DiFFoZ brought up even if it's minor lol