#development-advanced
1 messages · Page 30 of 1
uh oh @mental narwhal's going to start teaching us the ways of our lord and saviour Monad and how he can transform one state into another safely and purely
sorry I worked with someone who really really really liked Haskell and talked about it a lot 😛
Is there a way to remove keyframes on fbx export so that blender doesn't fall asleep while eating my CPU for 30 minutes ?
I suppose turning off Baked Animation in the export options is not what you're looking for?
Sadly not since i'm doing this specifically for an animation
so you'd like to keep some keyframes and remove others?
I'm also not sure why it has an issue with certain animations but not others, they're the same length
Yeah, keep 25 keyframes out of 1600
I think you'd need a script for that, maybe one exists though?
@odd fable Ok, what i had to do was select all my keyframes in pose mode then "bake action", it removed all the unnecessary keyframes 👌
It's very destructive 😄
Disabling NLA Strips and All Actions seems to be necessary too
Maybe by disabling both of those the keyframes don't need to be deleted
is it possible to get the Limb IK script from Final IK working in game? Seems to work fine in Unity and it's a whitelisted script, but doesn't appear to work at all in the game itself
trying to use it on an avatar
thanks, that worked
I'm happy to see people are actually making use of that guide.
I think quite a few Final IK users are using it, they just don't participate on that site much
do you have some more example of what you can do with that ?
Yes, I'm about to post one actually. I'm having some issues
So, I'm trying to make a decent Yoyo using Final IK.
I'm using the CCDIK Component, and I added every bone in the yoyo string to the list (and the yoyo itself).
As you can see, the Yoyo spazzes out quite a bit when moving up/down. Is there a way to prevent that? I want it to "roll up" smoothly
The gfycat I posted should show the issue
Any ideas?
I tried rotation limits on the final yoyo bone, that didn't seem to work.
FABRIK seems to have similar jitter issues, although slightly less so. But then the string doesn't even roll up, it just hangs.
I don't really see any other components that I could be using either
Are you trying to build a physics animated YoYo?
Sort of. In the end I'm just gonna animate the end part of the yoyo (or animate a game object that the IK script has as target transform)
I don't even need full physics or anything
In the end, it needs to look like a basic looping trick, is what I'm going for.
If you are going to be animating it manually I would just use shapekeys instead
But I kinda want to do more with it, stuff that I'm probably gonna need an IK system for
Can you give an example?
I want to easily be able to incorporate other yoyo tricks once I get this to work
Animating it all by hand would be a lot of work
I just wanted to get the IK stuff working
FABRIK makes the string slack, which is neat in itself, but not what I want to start out with
Maellon might be onto something, shape keys sound like a good option. Treat them like keyframes in an animation, then you won't have to deal with bones and everything, you can work straight on the vertices
Well if he wants cool tricks I'd honestly just animate everything manually with bones. Stretch and shrink bones with the Yoyo instead of coiling it because no one will be able to notice the difference anyway. When you need to wrap the string around a finger for a trick, place the finger at one of your bone joints and bend the bone. Of course you'd still have to animate everything by hand. I don't know enough about Final IK to understand how it could help you animate a yoyo
I would check out dynamic bones to see if they'd work too. And you can have them lock to a position with inverse colliders
Hello! Does anyone know if it would be possible to make a light on an avatar become brighter /darker depending on if im talking or not
@drifting pelican you could have a mesh behind said light that would pop out when you talk and that mesh could be painted brighter or have some self illumination
Thats a good idea, i'll have to play around with that
are you trying to use playmaker?
Yeah
Slaps head
I need help with making world objects on my avatar
What i want
https://gfycat.com/AbandonedSmoggyAidi
What i get in vrchat
https://gfycat.com/HardSpeedyAxisdeer
Well, how are you achieving that effect in the editor?
by moving the aramture
but the problem is that avatar is moving by movement of a main game object of it
and when it does it moves the spheres with it
and it kills the effect
is there a way to disable that synchronization between position of parent and child?
Or if you know any other way to make the spheres lag behind me i would love to hear your idea @autumn hatch
Sadly I don't. The only idea I have is maybe somehow setting up a "tail" and playing around with dynamic bones?
I'd there a way to make dynamic bones stretch? Because that would do it
particle systems
for that particular thing maybe some kind of rigid body with a high mass/drag?
like, a spring joint or something maybe
That's exactly what tach suggested above, read what I wrote to him
It would work for something on the hand, people do that all the time. But to lag behind your model itself when you move is a different issue
Not sure how you'd do that without particle attractors
If you parent the particle system to an object with a fixed joint on it does it work? That's how I get regular objects into world space with Avatars
Yeah that's exactly how you do world particles. Problem is it wouldn't follow him
Have an empty object tied to the world with an empty fixed joint. Have the spheres be children of the empty game object. And then do whatever he was doing to have them lag behind on the editor. Like a spring joint connecting the spheres to his chest or something
That's exactly what tach suggested above, read what I wrote to him
Woops somehow I edited what i said to tach with what I said to you
I guess it's gone
Lol
What was the reason it doesn't work though. Since it was lost in the edit. If the object is staying behind when you move your avatar away, you should be able to get the follow to work the same as if it was on your hand.
Because it still had to be inside the model, and unlike on the hand, when you move it moves the model and everything in it directly
When you walk around the empty object should stay still even though it is inside the model because you put an empty fixed joint on it. I think what I'm not understanding is why adding a spring joint to the children of the empty object overwrites that behavior.
Is that just how it all works? Because I can place objects with avatar emotes and walk away from them and they will stay put just fine.
Because you're leaving the connected body empty, which causes it to bascislly bug out and not know what to do. But he can't do that because he still wants it to follow him
i was thinking a vertex shader hack might be possible in the particle system to simulate following the centroid
but looking now, unity_WorldToObject seems to be identity when rendering world space particle systems
Unity 2018.1 when
Unity 5 makes me want to jump off the window
@sterile cipher
God damn tupper upgrade unity soon
Don't @ staff unless it is urgent mate
Also, it has been given a response to it before, just ask someone who is active in the feature-request channel. You also find it on the canny
woah really? I didn't know that
Well it is something they want to do. So it should happen some time in the future maybe.
Majority of that lag isn’t just because of Unity itself thought.
It actually is
Unity 5 CPU computing relies too much in just 1 core
Unity 2018.1 has the Job System which allows hundreds of subprocesses to run at the same time
in pararell
they'd still have to implement dynamic bones and final ik on the job system, which is up to the script developers (or vrc themselves), not unity
would be a nontrivial amount of work
but totally doable and should be done 😃
nah man
need to limit camera for no-friend
effectively blocking all cool shader
also need to limit particle system
so fuck creators
and fuck your fun
also fuck you for playing vrchat because why not eh
/s
Dynamic Bones comes with source code
they could modify it to use the Job System, no need to wait for the original dev
that looks pretty cool
Yo anyone up
sure
Hello guys i have a question there is possible to play vr chat with a leap motion ?
yes but integrate to the game because i dont have succeed to instal this driver
you might have to contact the guy who made it
It works, but are a few requirements that are needed before it can work for you (meaning everyone that wants to view it needs to do it)
and the requieriments are?
Is there a post, or thread anywhere regarding world objects for avatars?
Anyone have any unity shaders for glowing effect?
whcih mk glow shader is best, like im trying to make my avatars eyes glow , somewhat a glowing blur as well.
I dont think emission is enough. I think you need bloom to really get the glow most people think of in their head
you get enough bloom for free from the headset
Judging by the metadata of the Playmaker dlls of the vrchat folder, I think they use the 1.8.5 version
Bloom only works in certain worlds
I don't know of a reliable way to get it working everywhere
Hey everyone, I'm having some issue with the inherit velocity module on a particle system inside a rigidbody. What exactly does "velocity is being driven by rigidbody" mean? Because when it comes to the inherit velocity module, it's not working off the velocity of the rigidbody compared to the world, it's only working off the velocity of the particle system compared to the rigidbody. In other words, if I move the particle system it's fine, but not when moving the rigidbody. Is there any way to make it work when moving the rigidbody?
@near bronze is the rigidbody component and particle component on the same game object ?
Has anyone had an issue with uploading to worlds where their objects won't appear, as if the materials didn't upload? Or some objects in their scene didn't upload at all? I've got kind of a large problem with one I'm trying to upload. This isn't my first or even my second world - so I'm not new to it, but definitely new to this issue.
@harsh nest no they're not
@near bronze maybe you can add them both to same gameobject then ?
no luck
it may work if it were just a regular rigidbody, but this one is connected by joint to another.
because world particles
as a note, what I want totally does work with IKFollowers, but those have their own issues which make them undesirable
Dumb question maybe, but maybe you can use subemitters to emit worldspace particles from a local particle system? @near bronze
You would spawn a dummy particle in local space, and then add a "Birth" subemitter that spawns the world particle
Not sure if this would work
nah, doesn't work either
You can totally emit world particles from a local particle system
I have always used it on death rather than birth
Yeah you can, but they still don't inherit velocity like I need them to
so it turns out VRChat is removing all Final IK scripts. Proof: [Warning:6/11/2018 8:26:57 PM] The referenced script on this Behaviour (Game Object 'Constrained FABRIK Arm') is missing!
no idea whether it's the SDK or the runtime doing it though
I'm guessing it's the SDK, otherwise people's posable dolls would all break too
but I also haven't been to any of those worlds since the last update to check
I have, and I know the doll in avatar testing still works. I'm not home right now so I can't test if Final IK works if I put it in my own world
But I got it to do something on an avatar, it would be extremely strange to allow it on avatars but not worlds.
it could just be that certain scripts are allowed and others aren't, and all the ones I've tried over the past two days just aren't
My best guess is indeed version mismatches. If version mismatches were allowed, people could just modify Final IK to do literally anything they want.
or yes, version issues
Does the asset store allow getting older versions perhaps?
because I can't fetch older versions even if I wanted to, Unity just won't allow that
:/
so 1.7 is what I can get
unless they happen to have an archive of older ones on their web site or something
You might be able to email the devs of Final IK if you know the version that VRC actually uses
I wouldn't have a clue .. but I know someone here will
@normal aurora they're on version 1.6.1
A dev mentioned it earlier in this channel
Do you happen to know which version you're trying to use right now?
1.7, the current available one
digging through the rootmotion web site
or at this point, pirating it off anyone who has a copy seems fair
since I do own it
assuming the version is the issue, anyway. someone I'm asking in another window is suggesting it might just be settings
But if the component is literally missing then that's weird
Unless I'm misreading the error, and the FABRIK script is actually emitting the error itself
You said the FABRIK demo doesn't work, what if you just apply FABRIK yourself? Just add the FABRIK component to basically anything and give it a very basic configuration
Because demos usually have all kinds of extra scripts
ah, hmm... yeah, all the demos have scripts to limit rotation of joints too
(something I wish we could get working in avatars, cough)
lol, ok, I have no idea how to set up a demo like this without it looking bad when transformed, but this is at least enough to test whether it will even move
no movement in VRChat, works fine in Unity, same as every other test so far
I also see a note in the backlog about final IK and humanoid rigs not playing well together, which isn't great news for me either, but I think I've already shown that the initial problem I'm seeing isn't even that
Biped IK works perfectly well on humanoids in this game, it's just not recommended to use on avatars I think
Since VRC uses its own VR IK config
mm for actual player avatars I could understand that
I was trying it out for a posable doll because it's less work to set up than FBBIK and seems to bend limbs in more intuitive directions without needing extra targets
so it's like failed experiment #1
#2 is the FBBIK, #3 is the FBBIK with the straight fbx instead of with the avatar prefab
then beyond that it's mostly existing demos from Final IK which I copied into my test world one by one and just gave them a new target
I should have divided my limited weekend time to get something done on other sub-projects instead of burning it all trying to get this one thing to work
the video player automation stuff could totally be done now, with the new triggers, and I should be working on that
I think I'll at least cram some design work for that into the last 30 minutes I have of the day lol
Has anyone here done good gun sound effects before, trying to figure out how to randomly trigger 3 sets of different sounds every 0.12 seconds
The sets include 4 "core" sounds, 4 "Far" sounds and 9 "near' sounds
I figured out how to do a thing https://youtu.be/guUpGjEMqa8
Nice
phase why my gesture go slow 
Leave behind gestures, transcend to particle triggers
That is really cool
The future is now!
Couldn't the 3D start rotation solve the issue of particle always going in the same direction ?
You mean world mesh particles?
Nah, the direction it's stuck going in is consistent with the world, not my hand
Probably not, that would just give it a predefined rotation
it would just make it stuck going in a different direction, still not following the direction of my hand
The issue is that the rendered mesh completely ignores the particle's actual direction or rotation
There's a shader that aligns world mesh particles to their velocity, which is so far the only known solution to making them work
He was talking about the direction of the subemitted particle in my video. It's a very, very similar issue to what you're talking about though
Ohhh, right
My bad, haha
I think they fixed all that in Unity 2017, so we're like one version behind getting a lot of issues fixed
yeahhh
Ugh, Final IK isn't working in my world either
What's up with that? I thought Final IK was whitelisted?
It's literally supported on avatars as well
Why not worlds?
This says it's supported as well
I even tried an old 1.6.1 from an earlier project and it didn't work either
Scratch that, 1.6.1 does work. Hmm. Convoluted but ok
I'd love if somebody could help me learn shader forge
@verbal plume you use youtube for that, or any guides out there.. nobody's going to teach u shaderforge, as it has a lot of variables etc...
I found it to be very self-explanatory
@drifting egret have you figured out how people do the global announcement when they have entered
Nope
Lol
Maybe a camera set to point to their nametag
Isn't that just a fullscreen shader with transparency ?
I dont know
But it shows on everyones screen when they do it
I just dont know how its done
It's what Ruuubick said.
I think the hardest part is getting the player's name, displaying it isn't too hard after that
It's just screenspace
It's just a screenspace shader with a custom texture on it
Is that easy to make in sforge?
@drifting egret they usually just put their name in as part of the texture
Ohh, I get it
I thought you meant like in a world
Like a world where you'd get a popup if someone new joined
It's a screenspace shader, I'm not exactly sure how they work just yet
Oh i looked it up
Screenspace texture apply to ui and player layer
So the vrc_Triggers, are they just for worlds or can avatars do anything with them?
Just worlds
Avatars have no script functionality basically, we only get dynamic bone and final IK
damn
Whats the learning curve of shaderforge compared to blender unity
?
Hey has anyone messed with the new oscButtonIn sdk function yet? Does it only take single button osc data or can it use all osc data?
Yea
Not sure if they do that is what im asking
And not just livestream 360, live stream 360 inside the vr app
So for example lets say me and a buddy are sitting at a table talking to one another in vrchat
I want to live 360 stream that
So make the vrchat live 360 streaming
At the very least, it wouldn't be something built into the game. There might also be a way to capture 360 from steamvr, but it would be a mod/plugin if it exists or is possible at all And even then, it's unlikely that mod would stream itself, you'd have to pipe the video to something like OBS, which in turn would have to be modded to accept 360 video, if such a thing even exists
If it doesn't exist, it should
Would this be the correct place to ask shader related questions?
yea
this is the shader chat
except i dont know how to do this
Awesome. I am trying to get this shader closed right, I need the whole ENDCG in there, but if I include it, I start getting unexpected tokens '}' and syntax error unexpected $end.
Without it, well it doesn't work because I have CGProgram shit in the shader
Or I manage to fix the unexpected tokens and get 'frag' : frag not all control paths return a value
@warm niche your fragment function needs to return a fixed4/float4 depending on what you used.
I'm trying to do this but I'm not sure what he's referring to or how to use it, any help? https://answers.unity.com/questions/725590/multiple-materials-on-particle-system.html
I am really terrible w/ all these, been follow a heavy mix of guides, I used a fixed4, how exactly would I return something without exploding it? I haven't seen anything that covers it
Like
If I do return i.xxx, can I be sure it wont break anything?
@near bronze That looks like an old version of Unity. As far as I'm aware this is not a supported feature of the current particle systems. You can however get a second material field by activating the Trails component. If you need to randomise within a single particle system I would suggest looking at using a texture atlas in combination with the Texture Seet Animation component.
@warm niche things exploding would depend on your code. for the shader to compile at least, you need to return the expected fixed4.
The effect I'm looking for is a sort of "outline" around my particles, but this outline has to be on a different render queue, set behind every particle not just surrounding each and ever one. Neither trails nor randoms would do that
Is there perhaps a way to have a shader put two different textures on two different render queues?
@near bronze yes that should be possible with a custom shader.
oof I've never touched shaders and have no idea where to begin
if you search exactly what you just asked you can get examples of how to change the render queue and then all you probably need to do is run a pass for the initial particle and then a pass for the outline
@near bronze pretty sure you can choose directly on the particle if he should be in front or behind other particles system
Oh I can easily get the effect I want by just having multiple particle systems. But at this point, I'm trying to make a new effect to get away from an old effect for the sole reason that my old effect was absolutely terrible on performance. So just "moar particle systems" isn't exactly what I'm looking for
Not sure if this is the right place to ask this. In the VRC Home area there are markers on the table that let you draw in the air. I need to try and add this to one of my scenes. Can anyone point me in the right direction to get me started?
I found this, but this seems to be set up on the avatar itself. Im just using a default avatar from VRC, so I dont have it in Unity. I tried to find an avatar in the unity app store to use, but was having a hell of a time trying to find something that was all set up properly so I gave up on it. https://www.youtube.com/watch?v=zLI5mxCBnlk
Don't remember where exactly but I think there is a community made pen prefab you can download and import to your scene on the fan community forums
https://vrcat.club/
Snail's marker pen is for avatars only AFAIK
Well all I really want to do is add a pen to my scene that people who are visiting can pick up and use. Thats why I was confused as to why that tutorial I posted involved the avatar. I found this. Is this what you were referring to? https://vrcat.club/threads/updated-noenoe-pen-prefabs.85/
I think so yes
@near bronze if you want to get into custom shaders I'd recommend following this guide: https://catlikecoding.com/unity/tutorials/rendering/ . Creating an outline effect for a 3d mesh shouldn't be too difficult, just look it up. Try first to get it working on a regular object and then on particles
Can i implement cryptocurrency into my vrchat world
quick question, is there a way to restart non looping animations without enabling disabling the gameobject
I'm curious if anyone here has gotten the osc in vrchat working. im using oscwidgets as a base to try and find the problem. using osc data monitor it shows that an osc packet is coming through to my computer in port 9000 and at the address /button/1 with a float value of 1 when active and 0 when not active. in unity i set the VRC_oscbuttonin with the address /button/1 and the correct triggers below it but nothing happens when the osc button is pressed. anyone able to help?
I need to know if a world will be allowed to be public if it has cryptocurrnecy in it
Can I add cryptocurrency
no where all players have wallets and can send money to players, exchanges and banks
Use it in the world
Besides the fact that is isn't possible, is it against the rules?
Will my world be allowed to go public
if I build it
I need a better answer than that, sorry not trying to be rude
Will be putting alot of time into dev
gotcha
I don't see him in here
also I can't dm any of the admins or vrchat team? Is this normal
If I can't dm him how to I get in touch
@warm niche read the TOS and see if what you are planning might fall under commercial stuff
For example you cannot make worlds that advertise a product
Terms of service
I just am making it where the players can exchange currency
access a bank, exchange, etc
@warm niche I'd suggest sending an email to hello@vrchat.com about it.
So what does that mean
If I am not avertising any products or donations or anything and am strictly using for world function purposes
Can you tell tupper to dm me
it's definitely possible
I'm basically going to provide a way to link your wallet in world, and then when you press buttons you can essentially spend your currency.
You adjust a knob to determine how much you want to put in
once you press the button you confirm transaction
Yea I did already
So are you talking about spending real world crypto or making a purely ingame currency that uses the crypto model?
Spending real world crypto that is an ingame currency itself
What are you hoping to have that would be worth it then?
Can you reword that question, not sure I understand
Why would people spend money on it
To play other players
Oh like betting?
That's part of it
ok that at least makes a little more sense.
I'm excited to get it released, got some work to do though
just need the green light before I start fucking with the models in vrchat sdk
I think your concerns are justified, you're just being shrugged off because you're not exactly explaining it.
Phase do you code in C#?
nah
How so?
@warm niche scripts get removed by the way
Which is why people say it isn't possible
You're limited to whitelisted assets and the trigger system
lol
i feel like my moderation reports and crash logs go directly into the trash
20 days later the users i reported are still ingame spamming their crash guns all over the place
Mhm, this is the world we live in, nothing truly happens to the bad guys but the good guys gets bans all over the place, and never gets a warning, just a straight up ban with almost no description, the e-mails associated with the account should at least get a description of what and how you got banned with an appeal ticket system to get reviewed by an person.
Is it possible to play a youtube video on a screen in unity, to be used in vr chat? In Unity I tried switching the video component to use a url, but the YT vid just wont play. It works only when I import an mp4 into the project.
@fossil mica is it possible you tried some old video with encoding that is not supported by the plugin?
@harsh nest Well they are youtube videos. Arent they all the same basically? I did try one that is very recent and it just wont play using the URL option in the video component. I have seen youtube players in the asset store that arent very old, so that tells me this feature isnt actually built into unity. Can anyone confirm that?
When I view my scene in VR chat in VR, there is something crazy happening where its not refreshing properly. Looks fine in desktop mode, but in VR there is crazy ghosting going on, cant see the skybox at all since the building im in just draws over it as you move your head around. Anyone know what could cause this in Unity? I tried 2 different headsets so its not that.
Sorry for all these messages. Just trying to get some things figured out. In the publish window in VRC, I see this error " room has very fast update rate". How do I fix this?
@fossil mica Did you try ingame? None of my videos play in unity but works ingame
@karmic hill Yes, in VRC the youtube video wont play.
Is it possible to stream vrchat 360 ingame
Yes, but you need a specific avatar made for that purpose. Not sure how to make it though.
Also, is there a way to copy the Y transform position (during animation) of a parent to a child on two different meshes ?
Oh damn I didn't even think about that, you might be right ruubick
Like a 360 degree camera in unity rendering on to a texture that your camera can point at
And then OBS might be able to take that and wrap it around to a 360 video
Yep, the japanese guy i know made one himself https://www.youtube.com/watch?v=qJ8BG3TwD5w
You can see VRChat World without VR headset. If you have requests, plz leave a Comment. Twitter:https://twitter.com/AmashitaKite 【Todays World List】 VRC_Entr...
Ya really feels like that report abuse button does nothing hyperlul I pushed the button.....30 mins passes........No one.
got my time to verify that the older 1.6.1 version of final IK doesn't get stripped and lets me move objects around with IK properly
at this point I'm just dealing with weird inconsistencies, like how biped IK will properly bend an elbow without additional poking, but not a knee
but wow, for arms it's super handy, one target is enough for each side and you can do any movement you want
How would you guys make a game object be detatched from avatar for a while?
Yep
You also need it to be inside an object that has an animation that resets the fixed joint object's to 0 position and rotation
Then disable this animation and enable the fixed joint object in a gesture
Or you can enable it with emote: Emote plays animation that enables Anmation Component that plays animation that enables the target GameObject and disables it self, you need to fiddle with animation in text editor to change the path to make it able to disable it self.
That way your GameObject will stay enabled after Emote is done playing and you didnt have to waste gestue slot
both FBBIK and Biped IK seem intent on only bending my knee at 90 degrees from the direction it actually bends
You mean the knee bends wrongly?
You need to bend the object's legs slightly in the scene
@normal aurora you need to "hint" at Final IK which way the leg bends by slightly bending it yourself. Just slightly. So that the cubes in the knees turn green and not red or yellow.
hmm
This isn't actually mentioned anywhere
It's in a random tutorial video by the guy who made Final IK
Very little documentation on the package honestly.
I can get one to green but the other is blue
and then one of the arms is naturally green without having done a thing, and the other is blue lol
the other odd thing I have is, if I don't add a bend target, legs don't bend at all, even though arms work fine without it
weird how it needs hand-holding only for legs
It tries to guess
even in blue state setting some angle at all seems to work fine
The real question is why it's not looking at the animator properties to figure it out for itself
yes, that.
¯_(ツ)_/¯
80 dollars woooo
But still, it's the best IK solution we have right now, and it works well. Just a tad inefficient.
I mean, it got real close to just working in one shot, which isn't too bad
the arms I haven't tweaked at all since setting a target. I can move the hand to any position with the arm at a sensible position
I have a nice hack to deal with setting a bend goal without actually making the player move a separate goal object, I'm parenting it to the foot target
it just 'feels' like moving someone's foot by holding the ankle
the leg orients with it
I'm not sure if I am posting this in the right place, so if I am not, please let me know and I'll move it to the correct channel.
So I'm having this extremely odd issue that I wasn't having a week ago. Basically, whenever I have a group of 3 or more trying to join my map, it causes a ton of lag for the people already inside the world, sometimes even sending them back to SteamVR Home or flat out crashing the game. This is confusing me as a week ago this wasn't happening, and while I have made updates to the world, the only thing that has been a major addition was some particle pens.
I'm not sure why this is happening as I see no other worlds having this issue. Can someone help me figure out what is wrong?
is there a way to declare variables in a world? i'm trying to set a video player to play videos that have URLs with an incremental id at the end and not trying to 'hardcode' the playlist but have it load each next video on demand
so you trigger a button and it plays "https://videourl.com?vid=123" where 123 would keep incrementing each time you push the button
just for proof of concept of something that will be more elaborate later
You probably want to try messing with animation state machines @molten wraith https://docs.unity3d.com/Manual/AnimationStateMachines.html
You can set variables in VRC_Trigger with AnimationAdd and actions like that. You can "read" from variables by having the animation state machine turn objects in the world on and off which then trigger more VRC_Trigger events
Just reread what you wrote. I'm not sure if Animation State Machines can pass strings.
I'm still using an Animator as a state machine, but each node turns on a game object which sets that URL into the video player when it's enabled
it's just more work than it would be if we had some kind of real scripting 😉
I'm using it for an overcomplicated remote control so I was thinking of breaking sub-playlists down into sub-state machines
at the moment it's just a hairy mess but at least I'm not populating it manually
...anyway, I came here to ask something more esoteric 😉 if I put two or more vertex colour layers into my model, is accessing the second one just a matter of using a COLOR1 in the shader?
I'm (ab)using the vertex colour to store additional data and wondered whether I could also rid myself of my main albedo texture too
I know I could encode the two together into the first layer too...
@normal aurora you can use the UV3 map to store two floats in every vertex extra too
ok thanks @hybrid raft and @normal aurora that at least gives me some ideas
the plan was to have some kind of web panel that i could queue up links to videos on, assign them ids as they are added, then use a redirect script on the host that takes the id and redirects to the relevant video source url
this way the video player could follow a standard base url, but increment ids to go to each next video
part of the issue was that the video player caches the redirect destination of videos so i can't even use a "current.php" script which would always redirect to the current video (as decided on the web panel) and tell the player to go 'next' and reload current.php again (since it already cached where the redirect first went)
if you reload the world it works but that's because the cache clears
i could actually solve the problem if there was a way to disable the caching of redirect destinations
but the only other bypass is some kind of querystring that changes/increments each time you hit 'next' to defeat caching
oh and you also can't make the playlist a ton of urls with different querystrings as the redirect locations are all resolved on world load but maybe some kind of animation state machine thing wouldn't resolve the url until the state is reached?
@warm niche @normal aurora UVs/texcoords are actually float4s but I'm pretty sure they're not imported and just get set to (0, 1). So you have to do it in the editor using C#, create an asset file, and replace the original mesh in the mesh renderer with the asset file.
I don't even know if any modeling software lets you export meshes with a four channel UV map nevermind Unity importing it.
@rough sleet well there's people using them, I don't know anything about the specifics other than that this is a thing
It definitely works, I know some editor extensions use them. MegaSplat for example.
there you go
But it's all in Unity, it edits the mesh UVs, saves the modified mesh to an asset, and then replaces the mesh in the mesh renderer.
beats using vertex colors imho
I know that works, what I don't know is if you can do is set the other UV channels in Blender, Maya, etc. and have them get imported.
I suppose you could have a script combine multiple UV channels if you need more than two floats in UV3 and UV4.
I think the guy who asked this knows his way around unity
Then the editor script solution will probably be fine
just letting him know there's options
That's always good
for avatars you can even use UV1 and UV2 aswell
I've been trying to figure out a good workflow for a shader that lets you use texture arrays to merge tiled materials.
Something convenient like getting all of the tiled materials in a scene, building a texture array, merging all of the tiled sub-meshes in each mesh, writing the texture array index, and the texture's scale and offset values into UV3 and UV4, and then writing it all out into an asset file seems like it might be manageable.
depending on the amount of mats I'd do that atlassing by hand before I write a tool for it
Can the shader that aligns mesh particles with velocity be edited somehow to allow transparency? I just figured out how to get it working but transparency on the mesh particles is the only thing that I need.
editor scripts are definitely something I can mess with but the main thing is having some data channel that does get imported so that I can distinguish objects in the mesh from each other. I maybe guess I could bust it into sub-meshes for import and then join it in unity and add the metadata at that point. at a point it starts to be easier to generate the mesh in unity
current game of golf is trying to fix the logic I have to determine which side of the object is being looked through. it's off somehow in a way which is hard to figure out
if I can fix it, that's the end of using stencil for that 😉
Is there a way to do a complete avatar reset in game without changing avatars? I'm looking for a way to make it so my avatar is synced again with ppl who recently joined the world after me (using VRC Toggle Props)
That's an issue toggle props has
Other than switching, there is no way to fix it
You can change the animator so toggle props actually syncs properly
You either need to make a "reset" emote, or change the animator so the default state is always the same
yea that's what i tried, but it ether send my character to a loop of death or ignores it completely..
Idk if this is the right place to ask this question but does anyone know how to get the npc name billboard to be above an object? Whenever I place VRC_NPC Spawn on an object, it always appear the object.
what's the highest shader model I can declare without cutting any supported platforms off from running the shader?
I usually use 3.0 but apparently I just exceeded the limit for texcoordn values
4.0 has 32, I was reading on some other resource
I just hope that using 4.0 doesn't shut out someone with an ancient graphics card from seeing the result
if it were going to shut someone out then I could work around it
by I guess giving them a slower implementation. lol, adding insult to injury too
you might also be able to combine some of the texcoords together
for example instead of
float2 uv : TEXCOORD0;
float3 screenPos : TEXCOORD1;
float depth : TEXCOORD3;
could be
float3 uvAndDepth : TEXCOORD0;
float3 screenPos : TEXCOORD1;
you just need to use i.uvAndDepth.xy for texture samples
and the .z for using the depth
might not be possible depending on what you are doing
I'm passing through the object position and viewDir so that I can hackily determine which face of a cube is being looked through without using a stencil
and you could also merge that a bit further and do
float4 uvAndDepthSPx : TEXCOORD0;
float2 screenPosYZ : TEXCOORD1;
You'll see vertex streams for particle system do this but it's much more messy
you are hitting texcoord limit with just that?
well, I converted to a surface shader
ah
so it's the texcoords used by that plus my extra two, is just slightly over I guess
I could compute it per-fragment too, it will just run slower
but it's a small prop it's being used on, maybe it wouldn't even be that bad
you could change the amount of data the surface shader uses too
by default it's
struct SurfaceOutput
{
fixed3 Albedo; // diffuse color
fixed3 Normal; // tangent space normal, if written
fixed3 Emission;
half Specular; // specular power in 0..1 range
fixed Gloss; // specular intensity
fixed Alpha; // alpha for transparencies
};
if you don't need some of those you could remove them
ah, this is true
currently I'm using SurfaceOutputStandard even... with standard lighting
because I had in the back of my mind the idea of using a metallic map
SurfaceOutputStandard has half Occlusion; // occlusion (default 1) on top of SurfaceOutput
if you aren't ussing occlusion you could just change it to SurfaceOutput
oh and it has metalic/smoothness instead of specular
yeah. I do know how to convert metallic if I had to though
at the moment I'm just hoping I won't
my custom variables pose a problem for tessellation anyway
so for all I know, I might end up killing it anyway :/
I have some playing to do, to see whether I can hijack some other texcoords and pass it through
yea i'm not sure how easy that is to do without editing the surface shader compiled code a bit
idk surface shaders are weird
yeah
pretty much a black box that just outputs PBR lol
I started to like them because lighting causes me so much grief
I would suggest starting with something like amplify or shader forge PBR base shaders
even if you don't use the node system you can modify the code fairly easily
you can do the same for surface I guess but it's quite large and there's a ton of #IFDEF stuff in there
confusing to follow
Anyone know what could cause this? Pretty simple scene brought in from Unity, acting all crazy in both Oculus and Vive headsets, but works fine in desktop mode. https://vimeo.com/275632954
Ah crap sorry the video is still processing.
Free acct on vimeo. No idea how long this takes.
sounds like shaders though. Not every shader was designed for VR and if it does anything screenspace it'll probably need to be adapted
Once its processed ill let you know. Its so weird because it does like this wacky trailing effect where the skybox is seen. It like pulls the edges of the 3d object out and fills the sky with it.
I think that will happen if you have a shader that writes to depth but is also transparent. I've ran into this with some kinda combination like that before
I thought maybe something was up wit hthe skybox so I tried to change it and it didnt fix anything. I didnt build this scene, Im just trying to get it working ion VR Chat, but there doesnt seem to be anything unusual about it. Its literally just a pretty plain looking office with no roof. The edges of the walls just get dragged out when you look around. Youll see it in the vid when its up
does it work fine in unity?
Yeah theres no issues in Unity. Its only in the headsets in VRC. It doesnt even do it in desktop mode in VRC.
Do you have a reference camera set up? Perhaps you changed the "Clear Flags" to "Don't Clear"?
There is another camera in the scene. Should I delete that? Idk what you mean by clear flags and dont clear. Kinda new to this.
if it's not setup as the reference camera in your scene descriptor it shouldn't matter
that's probably not the issue if the reference camera field is empty
clear flags is found in the inspector when you have a camera selected
it's not going to take effect in game unless that camera is set as the reference cam
but leaving the reference camera empty should use a default which shouldn't have incorrect settings so don't worry about it
I would try to disable all the objects in your world, add just a plane and upload and look in game and see if it still happens. If it does happen it's an issue with a shader on one of your objects
it happens on any place where you would be able to see the skybox, right?
would be nice is vimeo processed that video lol
Yes thats right, you cannot see the skybox AT ALL in it. So weird. but there is also this ghosting effect across the whole scene. Youll see if it when vimeo decides to process my video
yea disable all the objects in the scene and upload with just a plane
it's probably going to happen still but it will narrow down the issue a bit
Alright but I cant actually try that until tomorrow since Im working from home and dont have the headsets here. I just wanted to see if people recognize whats happening in the vid.
yea ill look at it when it processes but it probably won't tell me much if it's just anywhere on the skybox
Aside from the ghosting issue thats happening across the entire view, what sort of thing would cause the 3d objects to like smear across the skybox?
i believe it's called the "hall of mirrors" effect
basically for some reason the color buffer isn't being cleared every frame
so either you have your clear flags set to don't clear or you have an object who is writing to depth but also transparent
basically saying "I'm taking up this space, but at the same time I also should show what's behind me because i'm transparent"
When you look at it, it doesnt look like anything is being cleared at all. It like just keeps doing it, layers on layers on layers.
with nothing behind it
Ah vid says conversion starting soon now
It basically looks like this, right? https://www.youtube.com/watch?v=jKR8inw3A1U
Yeah pretty similar
I'd also check Window->Lighting->Settings and check the skybox material
it should be on default-skybox
or some other skybox material
if i set it to something incorrect like "Default-Particle" it does that effect https://i.gyazo.com/91a132c3480010b0d211625b695ad0b2.gif
Yeah I just have a skybox that I downloaded, but I also tried default and it still had the problem
what is the shader of that skybox material though?
click the material and post an image of the inspector
well actually if default did it nvm
Heres the vid https://vimeo.com/275632954
Yea it's gotta be either an object's shader, clear flags on the camera, or that skybox. I don't know of any other things that could prevent the color buffer from being reset
is there a roof in that video?
like an object there?
No theres no roof, just the sky
Thats what I was saying, that effect is over the entire skybox
also it might not happen in the scene view, but you should be able to enter play mode and move the camera around to see it
I cant actually move the camera when I hit play. Not sure why. Like I said I didnt built this scene. Im also seeing some error that says unknown mixed bake mode in lightmode... etc... not sure if that would have anything to do with this problem
clear flags is set to skybox. is that correct or should i change it?
Wait, you can't move the camera in play mode?
You don't have something taking control over the camera, right? Such as, say, a VR Runtime?
If you have a headset, try putting it on and see if it tries to display the game in there
that's fine
@drifting egret Everything controls fine in VR. Thats not my problem. I was just mentioning I cant control it when I hit play since this was originally just set up for AR by a vendor, and Im now trying to get it into VRC but having some weird graphic issues
@drifting egret Everything controls fine in VR. Thats not my problem. I was just mentioning I cant control it when I hit play since this was originally just set up for AR by a vendor, and Im now trying to get it into VRC but having some weird graphic issues
got a small question about triggers -- i've got a door with a fairly long animation attached to it.
in terms of my network buffer type, would i want to unbuffer everything on the door except for the trigger that activates the end of the door's opening sequence (that disables the clips and toggles the open/close buttons. this would be a bufferonce) -- and then add an objectSync to the door object?
would that be the best way to handle late joining for this animated door instance? i'm trying to wrap my head around how this buffering thing works better.
For shader dev, this is just a small thing, but how does a shader tell unity whether to render flat or round in the preview?
https://i.imgur.com/iniIbaC.png I made the preview pane bigger in the bottom right, usually this is a sphere on a material but on mine it's flat, also shows in the project explorer. This doesn't affect the functionality of the shader though but I imagine people might get confused
@latent hemlock I think that shader has specified PreviewType tag https://docs.unity3d.com/Manual/SL-SubShaderTags.html
Right, ofc it’s the simple things that get me
It has “plane” written there
Thanks
God damn 91 FPS on desktop and 25 on VR wtf
Isn't it just two render ? So shouldn't it be just cut in half at 45 at maximum ?
@echo bay it's not just two renders, it needs to render the whole scene so do all the occlusion and transforms all over again too
if the world needs a ton of stuff like that doubling does not mean half 😐
hmm that sucks
Ofc I do not use any sync component, just 0
vrchat has so much overhead, it's really hard to predict performance sometimes
@warm niche Single Pass Stereo should be avoiding the duplicated occlusion and transforms.
I'm not sure how much of the work it saves but it's quite a bit.
Yeah, it's still more than desktop but less than the 2x of multi-pass stereo.
oh yeah thank god 😄
There's another option in newer versions of Unity called Single Pass Stereo Instanced which is supposed to save more.
By using GPU instancing to draw both eyes together.
It requires shaders to support it which makes custom non-surface shaders more complicated but it might be worth the effort.
Does anyone know how the presentation room's pens work? They're definitely something more than normal trails because of how you can erase just parts of them. Is it particles with trails drawn between them? Or just a script that's able to erase pieces of a normal trail
I tried particles that inherit velocity up until the next particle is emitted but it ends up causing a bad divide between each segmenthttps://i.imgur.com/OUOFHR8.png
And I also see there's a thing called ribbon mode for the particle trails module, which is exactly that, but that's not on this version of unity
It's a dev-owned map so there are almost certainly some scripts involved
Maybe you could look at how Noenoe pen prefabs does it
is that the snail trail or something different?
No, it's a pen prefab for worlds
It's not quite as perfect as presentation room since it just spawns lots of little dots
Oh yeah I've seen that
I'm not sure how the erasing part works, I think it does that by colliding with a certain layer
It's particles
If you use a trail on the particles, you could smooth it out
Idk if it's what he used, but it would be easy to do an eraser with triggers since they work now
And still have it erase-able
You're right, it's using an unused layer
Have you seen the video about particle triggers though? Cause damn
Yeah, I did
Now then, is the separate layer thing something you'd even be able to do on avatars? Or do triggers make eraseable pens on avatars possible now?
Yeah, you can make separate collision layers
Or just use the ones provided by VRC, plenty of unused or reserved ones in there
Presentation room uses scripts, the NoeNoe pens are particles that die on collision.
Ive got a map im working on that has cubes that scale themselves on the y axis according to music (basically a visualizer) everything works when i hit play in the unity editor, but nothing moves when testing.
This is what it should look like in game
@covert oracle You can't use C# scripts in VRChat for security reasons. If you're using them then that's why it not working.
What you can do instead is pre-process the music into a video file with colours based on the scale you want and use a shader to offset the vertices based on that.
I should be clearer custom C# doesn't work
Only specific scripts that VRChat has included with the client can be used.
I can't get Cubed Paradox's shaders to work in Unity WebGL
@low peak those are HLSL not GLSL/WebGL
@covert oracle @rough sleet (non-whitelisted) C# scripts run in local tests but they are stripped out when uploaded. At least they used to work in local testing.
yes C# scrips do work in local testing still but upon upload are removed
only scrips that could be used in worlds after upload would be ones already in client..
does objectSync affect a GameObject being active or not?
I’m not 100% positive but Object Sync I don’t think syncs active status. If you make a synced object inactive you should broadcast that AlwaysBufferOne.
But now I want to see what happens if the master deactivates a pickup locally and then someone else tries to push it around with physics.
@mental narwhal ill have to type it here since typing in #open-beta-discussion is turned off. that's what i finally came to realize I've not worked with networking before and didn't realize two programs cant use the same port. I've gotten it to work since i found that out.
okay, so apparently I’m not the only person to have thought of abusing video and a shader to carry additional data
Is there a limit to how many polygons an avatar can have in vrchat?
yeah 19'999.
Is there a reason? I feel like it could run higher settings
that limit was put there when they wrongly assumed that polys was the primary reason for lag
and they still didnt bother to change it
Interesting. I'd like to see some higher end avatars. Does it similarly apply to worlds as well?
no clue about world
but it's pretty easy to bypass the poly limit to be honest
and a lot of people are probably doing it
Oh thank god
This model was made w/ under 50,000 polygons. I havent ever seen anything this advanced used in vrchat though. Is this something that could get used for vrchat? https://www.turbosquid.com/3d-models/realistic-male-body---max/817663
probably yeah
btw, unity will split meshes after 65k polys
pretty sure that most people still keep the poly count under 65k
Thats reasonable
The biggest thing I'm trying to figure out is do these "lo-rez" worlds and avatars exist because of game limitations set by vrchat, or just either the lack of knowledge or ingenuity the public development community has.
Idk where the bar is set
The "lag-free" worlds exist because the performance in this game is getting worse and worse
Ironically, "lag-free box" is one of the laggiest worlds in existence
Because everyone is visible at once
And I'm pretty sure the lights aren't baked, or the ambient lighting isn't baked
And the player limit is very high on that world as well
Sounds like a rendering problem
@drifting egret I blame the directional light shadows.
There's shadows in that world?
That also means the light isn't baked lmao
Or at least, there are realtime/mixed lights
yah shadows are to blame
Directional lights use four shadow cascades and render the depth buffer. Which is four shadow caster passes for every mesh in the world within 1500 units/metres plus a shadow caster pass for everything in your view frustrum.
There were shadows last time I was there.
It was close to when it was first uploaded.
Shadows need to be better optimized as we create worlds in the Unity engine then
It isn't necessary to bake a directional light without shadows, the brightest directional light is included in the base pass so it doesn't use an add pass.
We have some control of it?
@vapid prairie Baking lighting helps immensely.
Also the new HD Render Pipeline Unity is working on as part of the scriptable render pipelines work is much more efficient.
I think the community needs access to higher end assets to push for a higher standard from vrchat
not that vrchat is already doing what they can but we can help
This isn't really a problem you can fix with assets
It's a limitation of Unity's current rendering pipeline
People need to be less dumb about making their worlds
And we need harsher restrictions on the SDK on material counts
Nobody needs more than 10 materials
Unfortunately the devs are dead set on keeping the poly limit without implementing limits that would actually matter
Do community world build teams exist yet?
Yes
I though you are wrong on your meterial count @drifting egret
I have a 15 worlds maze with beautifull panorama and a skybox for each of them. Just for the skybox it's already 1 per world = 15. So i'm above your limite even if every other world remain all pink untextured
He's referring to avatars only
Oh, so yeah I do agree
@drifting egret where might I find these teams?
Worlds are self-contained so they don't need restrictions on polys, materials, etc. like avatars do.
I though that's fine to let people having any kind of material they want without limite
But I also never go on public worlds so... Only friend +
But when there is a friend + with 50 people, I just check the disable unfriend avatar and it's perfect
Yeah, I do mean for avatars
And I do not think it's fine for people to have unlimited materials at all
10 materials should be the absolute maximum IMO. It's not that hard to texture atlas.
And even 10 is generous as hell
But it'll be a huge improvement from all those 30 material avatars that people shit out in public avatar worlds
I mean, texture atlas is fine, BUT, you cannot shadering a texture atlased
You cannot have separate shaders, correct
Which is the problem, if you wanna paint your avatar in unity and not in blender
But you have room for 10 different materials
That is more than enough for anything you would ever want to do
Tbh the poly limit is much more restrictive than a potential material limit
Unfortunately, the devs have decided that "slapping limits on everything is not a solution", even though that's the first thing they jumped to regarding the poly limit and particle system limits.
Going through Blender/Maya/3DS Max is something that you have to do for models regardless
Well I do agree with them for particle limite
I would be fine if we where not able to use particles at all on avatar
...
You would, maybe, but there's a lot of cool stuff you can do with them
That isn't just earrape memes or billboard spam
But I do not do atlassing myself. I have like 40 material slot in unity, and I end up putting multiple time the same shader to have finally no more than 10 differents materials
Material slots is what matters though
You're incurring 40 draw calls per avatar which is insane
But it's a pain in the ass to do it in blender because you must know exactly what you want your avatar to look like
Even if 10 slots share the same material, that's 10 draw calls
At least use Combine same materials or whatever
Is there a combine same material option in unity ?
Nope
Well that's the problem
Tbh people like you are the reason why I have to block avatars in most public instances
Because you're too lazy to optimize
Most of people have good knowledge on 3D tools, or In unity, both are more rare
I never go to public instances
It's not hard to combine materials or atlas
So it's fine
You literally have to load up the model and press "combine"
Yeah but it would mean do the texturing first on unity to know what you want it to look like, then going back to blender to merge everything, and going again to unity to redo the texturing stuff
And I'm not talking about you in particular, I'm talking about people with your mentality who do visit publics
Yes, and?
It's almost as if optimization takes time or something
Even that shouldn't take you 5 minutes
Once you know how you want the shaders laid out
And whenever you want to reuse the model again with another combination, you must do it again
Well i'll get into it someday for sure
I would suggest saving a copy of your avatar before atlasing and this really shouldn't be an issue if you want to change shaders around
But I mean that's so heavy to do and learn that it's a curve which most of people will never go through
It's not because you do know how it work that it's isn't painfull to learn it. When you don't know how to do it, you just don't do it. Most of people think this way, which is stupid but it's how things are
But I really though that those material and drawcall are not really a big problem in front of the guys spamming particles on their avatars
you talking about optimization and reducing the number of material ?
cuz there is literally a button that combine the material for you
same for atlasing
you don't even need to learn it if you are that lazy
The problem is that people do not use few billboard optimised particles lmao
He doesn't wanna use it because he wants to use like 20 different shaders and he's too lazy to figure it out beforehand
materials are probably a larger issue as you constantly have those active where particle systems are only active when you are gesturing
And besides, people with high drawcalls are more common than spammy particles
You can always ask people to stop spamming particles, you can't tell people "hey, mind atlasing your model in the next 5 seconds?"
lol
You're making excuses because you're lazy and don't care a single bit about performance
I totally do am lazy, but you must admit that if that's a problem that's because it's the same for a majority of peoples
Yeah, a majority of people are too lazy to optimize, or literally don't know why they should.
That doesn't mean you're not still part of the problem that is slowly killing the game for a large portion of the userbase
And saying "Hey, atlas" do not work, as you can see, because we do not know how to do it.
So the best solution would be to make a script into unity to merge materials directly into the SDK
You said it yourself, you know how to do it
You just don't want to because then you need to think about how you're gonna lay things out
I can forgive the people who have 10 materials and are like "nah, I don't feel like atlasing"
But if you have 40 materials, you're being a dick
there's really no reason to do so when there's a blender plugin setup to do all the work for you
there is literally a button that allow you to atlas in CATS.
unity isn't a modeling application
not to say it coudn't be made, but it's not easy to write scripts like that
which would be good enough if everyone did it already
And besides, not every model is MMD either
And on top of that, I have MMD models with only 8 materials
As we said, we are talking about majority
Maybe you shouldn't be using the same shitty overused Deviantart bases that literally every person on Earth is using
Not that the bases are the issue
It is useless to be angry after me specificly. I am there talking to you so you can mind the majority material abusers point of view and to find a solution together
There is no "compromise" here
They either atlas or they lag people
That's not compromise, that's just a fact
Well you certainly didn't, but I'm pretty sure that's a you problem
If that's why we are talking about this
I originally advocated for a 10 material limit
That's what started this discussion to begin with
People would optimize and atlas if the SDK forced them to
I can just say that I'm too lazy to do anything more after 20k (priorities lul), generally it goes to merging images of same size and resizing UVs, thankfully I hang out in <5-8 people rooms, tho I always auto-atlas if I use extra models for animation purposes
people would bypass sdk anyway if enforced
Nah
you need to put reasonable bounds and then ban people who do bypass
The vast majority of people decimate their models
The idea is that less savvy people are still forced to adhere to optimization limits
The people savvy enough to bypass the SDK limits will usually keep their materials to a minimum anyway
they don't
You would be surprised how many skilled avatar makers I meet that still decimate to under 20k
Including you
yea.. mine are all under 20k, even if it's funny LOL
Why would the material limit be any different? Especially since atlasing is easier and takes less time
And doesn't sacrifice quality
If anything, people should be putting their efforts into atlasing instead of decimating to sub 20k
that's where i agree
It's easy to decimate cause you can do it from unity
Wut
no lol
puke
But atlassing cannot be done by unity
decimate = easy omegalul
@echo bay do you have multiple meshes?
Just one body
And you decimate it with a simple asset
But literally nobody does that
there is mantis LOD
Doesn't that break shape keys?
no
I didn't for me
but it's shit
That's interesting then
it*
it decimate everything
But it seems like the results are questionable
every decimation that is not manual is almost always inferior if done by hand
Either way, you're literally the only person with hangups about "but I wanna do everything in Unity!"
but all I can say is that enforce mat/mesh cap and start banning people, then we gucci
Fixing the model up in a 3D modeling program is something you have to do regardless
For the bone structure too
Yep
Yeah but you see, even me I decimate my models because I can do it from unity.
That's why I though that a big amount of people would the altassing too if it was also possible from unity.
If they actually start banning people for the poly limit, they should raise the limit to 65k imo
It makes no difference in performance and allows much better quality models
Isn't 65.000 a max for unity whatever ?
2^16 -1, so you are correct
Yeah 20K remain fine still
20k is a pointless limit
Especially once they start limiting materials
It makes literally no performance difference
It was implemented on a whim because the devs didn't know any better
Even Tupper wanted the limit raised
Yeah but it's a one click button from unity, you do not have to change tool and import.export the whole thing
no, mantis LOD is SHIT for decimation
Yeah but it do work
You're literally the only one who ever complained about having to do stuff in Blender
My question is
You desperately want 70 fucking different shaders for your materials
Yet you're fine with using Mantis for decimation
Where is the logic in that? Your model is gonna look shit anyway
I just do want to paint my model how I do want to paint it with my materials. And I and up with 10-15 differents one at max on the model
with 10 materials u can do anything 🤷
Yeah, but that's still 40 draw calls
I don't know how to paint them in blender
It doesn't matter that it's only 10 materials in the end, what matters is slots
Then learn it?
And I don't want to use another tool
You don't
I disagree
And that's exactly the asshole behavior that only further justifies the material limit
Don't use too many materials, it isn't that hard to atlas
Well, why everybody would have to learn how to manipulate X differents tools
oh shieet, if you think learning atlasing is time consuming, imagine how much time I have spent in blender to get my models to 20k and have them look basically the same as originals
You're already using Blender to convert the MMD model into a format suitable for Unity
You might as well press that extra button to combine the materials
Yep, retopo is pretty difficult
I wouldn't be able to properly do that myself
i don't do retopo, not needed for mmd models
If the majority of people isn't doing it, that's we may find another solution that just telling them all to do it
they are low enough, unless it's extremely badly made clothing piece
why would anyone have to learn to optimize avatars in a terribly unoptimized game
that renders everything TWICE
Renders everything twice?
oh i see
@echo bay we don't have to ask them nicely, that's the point
A material limit would solve this instantly
The vast majority of people would learn how to texture atlas and/or combine materials
Or at least atlas the less important bits separately, like atlas just the clothing
Tbh there are so many things I would change if I were a dev
learning how to atlas is not difficult, or just combine pictures + resize UVs, this is much better to do than put your avatar in Mantis LOD and it makes your avatar look like shit quality
Would this tool do the stuff from unity ?
Custom animator controllers on humanoids, a material limit, dynamic bone limits
Dude, we're not arguing this again
Learn how to use multiple tools or fuck off, is what I'd say.
You're already using Blender to import the model
Unless you're one of those people who uses MMD4Mecanim which is even worse
I have more important topic to discuss then - name for my world and picture
(is honestly the hardest thing to do )
Hey, I were very nice with you, trying to arguing so you can get the point of view of this "vast majority of drawcall destroyers peoples because of materials" to find a solution together. You do not have to be mad at me
For most of peoples it's already a lot to learn how to use one tool. And since Unity is the one to use with the sdk they stay with it
So having a way to decimate material and poly from unity should be the best thing
Because you cannot get back into blender a .fbx imported
I'd argue that most people spend more time in blender than unity tho, unity gets touched only when u start getting into gestures/animations/particles
You can easily import .fbx files, I do that all the time
but i don't think you are willing to do that
I think that's the root of the issue yeah
that's just false
You can import and export FBX files
I have no idea what in the hell you're saying
First of all, that site is shit, and second, I have imported plenty of models from there
You can import and export FBX files from Blender
You also can't mention that site by name here
Since they're shady af
@echo bay Please don't mention that site by name on this discord, thanks.
I'm sorry
only issue with importing fbx back to blender is that your stuff can be broken (bones that is)
It's not even an issue if you're porting the model yourself
Just open the blend file
People who download premade models aren't interested in fixing it up anyway
Once again, fixed with an SDK limit
And people would be encouraged to actually update to this new SDK if they also raised the poly limit at the same time
I can just wish to live to the day when it's actually that - decent limit on poly, mat/mesh cap and ban ppl who don't care about it
Nah, 60k is fine
and I'll agree any day that my 20k 18mat avatar is worse than 60k 5mat
I still people should be able to go past it, but not be allowed to use it in public worlds/pedestals
Meh, I'm not a fan of that either
Think*
because Unity splices up meshes when its over 65k
Visemes stops working before 65k from what I heard. Don’t quote me on it though
Yeah, that's because Unity automatically splits the mesh above 65k
they work, but u need to split head from body in blender
That too
But I'm not a fan of that, performance and lighting issues
Just keep the limit at 65k and it's gucci
There is a lot of breathing room at 65k
Unity 2017.3 doesn't have that limit, so that may change in the future
But then you have 2 draw calls just for the body and head no?
Yes
And that's even if you have the same material on both
2 meshes with 2 materials total is better than 20 materials on a single mesh, but it's still something that should be avoided. Besides, we have to draw the limit somewhere, right? I think 65k is very reasonable
We don't want people to run around with actually a million polys either
some1 imported a 1+million space station as avatar the other day from what I recall
How do it has been known ? Does that crashed everybody ?
i've seen it, didn't notice any lag
millions of polygons render just fine it's really draw calls that cause the largest issue
Yep, draw calls strain the CPU because the CPU has to tell the GPU what to draw every time, and then it has to wait while the GPU does that
I mean unless you really still use a toaster
Dynamic bones are more expensive than you think too
werent they unreliable as hell
You don't even need to have a toaster in order for a lot of draw calls to lag you
Especially in VR, and considering this game is single threaded
dynamic bones are big issue if u use assign loads of scripts and/or colliders
It's bone counts too actually
One script with 200 bones is laggy as hell
That's why you should merge weights on your dynamic bones
A person I know got a lot of dynamic bones on her avatar and it’s not really noticeable unless you really look for it. She spent a lot of time tweaking the settings for them though
Bone size doesn't even matter, so make sure you thoroughly merge the hair bones too
y, but having good roots > bone amount
If you have long hair for example
I've got a world with about ~3 million polygons of grass and it runs at 60-90 depending on your system. Meanwhile I pull out an avatar with like 3,000 materials and only 3,000 polygons and you'll lag like crazy
Eh, I don't know about that
Depends on what the extra overhead is for calling a new bone script as opposed to looping through another few rows of bones
@golden valley true lol
It's also that you render only what you see on the camera. You don't see all your world at a time
But you do see all the avatar at a time
If you go to the corner of the map you can see all the grass
but also VRChat culls players out of view too
so that's not entirely true
I see
Yep