#development-advanced
1 messages · Page 29 of 1
Play on awake is what I think the setting is called
I'll try that out, thanks @hybrid raft
didn't seem to work. I had only pursued the idea because I thought I saw an avatar once that had a bazooka that made a noise when the rocket hit something. Looking at the avatar again, it seems that it's all just one noise
Are you able to get sound at all? Is it just not timed right with the explosion? Because you should be able to get sound out of your animations.
yeah
I have a sound working on the avatar for her gun shooting
I was just trying to figure out how to tie the audio source to the subemitter going off, for the grenade explosion
I could probably make a very long audio clip with silence at the beginning, timed so that the explosion sound happens when the grenade goes off
since it always explodes at the same time
Are you enabling the audio source through your animation?
yeah
Hmmm and it doesn't go off it you set the keyframe to the right spot? That's super weird
ah no
I have a working sound effect with the animation
I was just musing on how to make my grenade sound effect timed properly
I know I was just confused because you should just be able to change the timing by moving the keyframes
yeah, it's for a finger gesture override so I wanted to avoid having very long animations
cause it causes this bug where the avatar's fingers move really slowly
Gotcha. Then in that case adding silence at the head is probably the right way to go.
looking for someone who can help apply an alpha mask to the second pass of a shader
a prefab in the sdk @compact lantern
u mean the video player?
Is there a specific issue you're having?
does anyone know of a way to prevent a game object on an avatar from rendering in mirrors?
you can change the render layers for the mirror
sorry, not in regards to worlds
I mean is there anything I can do to my game object
well that will change depending on how the mirror is set up in each world
can avatar gameobjects have custom layers?
I'm hoping there's some universal mechanic they all make use of
and no, everything gets set to default on upload
Are you looking to hide something on an avatar from just your view in a mirror?
@steel swallow I tried that before for a vampire avatar. Unfortunately, I found no way to hide stuff in mirrors.
We don't know much about how mirrors work in this game
I know that mesh particles don't get rendered in mirrors for some reason, maybe you could make use of that.
Well we know that mirrors suck and render everything in their view, but that's about it.
They do a little bit of optimization magic. Which is why before yesterday, you couldn't see activated objects in mirrors, and you couldn't have two meshes with the same name anywhere in your hierarchy
Your best bet would be to try and exploit this somehow, but I don't think this is possible
Especially since a lot of the optimization is not applied for other people, only for yourself
yep.
also optimization sadly doesn't matter for mirrors. They just suck in general. Optimizing can help a bit, but not much in the case of mirrors. With enough people in front of a mirror (>10 within it's view) stuff can lag pretty bad
You can play around with layers the mirrors reflect or make sure the mirror doesn't reflect half the world, only a closed in room
But yes, mirrors are very expensive
I am looking for some good guides on doing idle animations. I am doing a bird avatar that I want to flap his wings when he is standing in place
I assume I just make the flapping animation and put it in Idle spot in animation override?
Yes, that's exactly it.
If you want it to flap its wings, I assume you also want it to float up/down slightly?
ah yes
In that case, make sure you do not have all the finger bones mapped.
If you have the thumb, index and middle finger bones mapped on both hands, the game's IK system will prevent you from floating up/down.
I see. Thanks for the tip
If you get a message "full-body IK will be disabled" in the SDK upload window, you know that you're good to go. If this message doesn't appear, Root Transform will not work, since the game tries to keep your legs on the ground.
Keep in mind that disabling full-body IK will also prevent you from using gestures. You can still use emotes
root transform is Root T under animator yeah?
Yes
That's the place where you'll want to move yourself up/down
Oh, none of this applies to Generic rigs, though.
If your avatar is generic rigged, then it should work either way. No need to unmap fingers or anything. Only applies to Humanoid
I just set it to humanoid since its bone structure is actually mostly humanoid
articuno
I was actually also wondering what TDOF means in animators
Oh, that's a good question. I honestly don't know
If your rig is Humanoid, consider using the Muscle Animation Editor, makes it really easy and really fast to make animations
No need to add the properties by hand, just drag sliders
ah
I do have that lol
god it's a lot easier isn't it lmao
I was rotating things by hand
They should make a jump option in the avatar overrides
@main warren jump is base on world and some people dont want jump in world
for the animation i think
I mean jump animation replacement
oh ok
lordy
in this Muscle Editor, is there any way to get values to go past 1?
my bird will bend his shoulders but not enough to look like a bird
never mind. I can tweak it by hand afterwards
Where can I find a large repository of good prefabs (piano, video player, customizable jukebox, decent pens)?
hm ok. So now I am having the problem that having the hand bones means that my avatar is not flapping his bird wings (the hand bones inside his wings are behaving like a normal avatar's). Should I just create a second pair of invisible hands for him?
@warm niche You should probably ask Digitrevx if he's part of any large content creator discord, those may be able to give you cool prefabs
Thanks, I'll ask.
r we get update were u save a room a fav so do look for again
soon
Is there any way to prevent someone who is sitting down from using an OnInteract teleport? Reducing the teleport proximity doesn't work.
Ah, maybe if i turn off the teleports after sitting down it might fix it.
what happens if you teleport while sitting?
In this world all rooms are inactive except for the room your are in. This particular teleport turns on the next room, then transports you to the rooms location, then it turns off the room you were just in. When you are sitting down and click on the teleporter, it transports you to the position of the next room, but you're still sitting down, and the room doesn't appear. Moving makes you fall through the world.
Are you turning on and off rooms to activate triggers or simply for performance?
For performance.
There's half a million to a million polygons in some rooms so i need to turn them off.
I've never culled an entire map myself, but I feel like it would be less buggy over manually triggering everything
I had too many bugs with trigger-occulusion. Unity occlusion does a good job. I just used triggers to switch background music per section.
Not sure if OC would work as well since i have animations too. Anyway, Turning off the teleports after sitting down seems to have fixed it. I've got an OnEnterTrigger on the main spawn point to catch anyone who respawns while in the chair.
Probably just be easier if i set all the teleporters as OnEnterTrigger
That works? I thought it had to be on avatar hit
I've not used it recently, i hope it's not broken.
I used it in my mario world when i first published it.
Just tested it and it's working. As long as you set the 'is trigger' on the box collider and set the layers to PlayerLocal.
OnEnterTrigger is a good teleporter method. Also removes the chair issue because you have no collider when you sit.
:O
Yeah, reason i didn't use it is because very small rooms, could accidentally walk into it. Also you have to be careful where you put the spawn because if it's anywhere near another teleport collider it will teleport back to where you were.
any way to make VRC_VideoPlayer load the URL each time it comes up instead of caching?
I'm using a redirect system to feed a random selection of youtube videos from my URL
so every time you pull the URL you should get a different video
but VRChat keeps loading the same one because it caches the 307 redirect
the only solution I can think of is creating multiple urls but that would lag like hell when you join the world
Don't try that. It will just have a different video everytime for everyone.
Does the linear rolloff for audio not work anymore?
Seems that vrc changes it to custom every upload
Nm, figured it out
Nm again.. audio works for a bit.. then spontaneously doesnt anymore
@runic mauve is it possible to get my world reuploaded within the 24 hours request
I found an issue where an engine sound isn't lowered by sound effect and using true sound, it's causing issues where you can hear it everywhere
Does anyone here know how to put in my own sitting animation into a chair?
Yes
@red stag make your animation. Make an animation controller that immediately plays this animation. Unity autogenerates this when you drag an animation onto an object that doesn't have an animation controller yet
You probably knew this part already
The next part is putting the controller in the VRC_Station custom animations slot, and you're done
Make sure "seated" is ticked, even if it's technically a standing animation.
Keep in mind that custom sitting animations will prevent people from using their gestures. You cannot get around this AFAIK.
@drifting egret Thanku
I don't suppose someone already has a shader to remap youtube's weird layout for 3d 360 videos
Hello, I'm trying to upload an avatar that has dynamic bones, but they don't seem to work in game. I have uploaded many avatars with dynamic bones before and it always worked, so I don't know what I did different.. Would anyone know what to look at? Thanks
Are the bones parented correctly? Does the dynamic bones have a root bone assigned?
Heres a tough one... Anyone know if its possible to make an 'audio source' world based? Basically act as world particles do?
yeah they are parented correctly and they work when I test in unity
but not in VRChat
for some reason
hmm
What do you mean by world based sound?
Essentially if it's possible to create an audio object that doesn't follow your avatar
I'm leaning towards no... lol
At least I can't think of any possible way
You can fake an object not following your avatar by giving it a collider and a rigid body with gravity and is not kinematic. It will still follow you locally, but people tell me that it stays in place for them. If you put the audio source on that, it will stay for them.
Ah sweet, that would work, thanks!
Gonna have to create a second account for testing now loll
What are you planning on using this for?
Trying to make an animation where I summon a speaker for music lol
It's pretty neat looking, just need to get the sound to work right... and make the speaker cones look like they are doing something somehow...
eeeyyyyy
can i get help if possible?
my VR SDK goes halfway through the importing process then stops
I'm trying to add collision to a particle that I'm shooting out of a gun, so that when it hits something in the environment it makes sparks. I have all of the effects working correctly, but the problem is that the collision doesn't follow where I'm aiming.
To clarify, the visual of the particle going through the air is correct, but the actual collision is wrong. The collision is occurring as if it's ignoring where I'm aiming, and instead using the original position of the emitter from Unity.
Does anyone know why this might be occurring? Is particle collision through the normal particle menu not supported?
@solid sinew Are you using Unity version 5.6.3p1? (It should say in the upper left corner of the Unity window)
Hmmmm : /
I found one thing that says that Unity might now be running with my nvidia graphics card but I dont know how to do that stuff
the graphics card running unity wouldn't effect importing the SDK XD
daaangit
it just gets stuck on importing small assets which is halfway
My computer probs is not magical anymore
I blame updating my Windows cause after I did that I had so many problems appear and going back just made it worse somehow
@red stag @drifting egret I have not been able to get the single-state animator working, but custom sitting animation should work using the same type of AnimatorOverrideController used for your base avatar animations. The IDLE animation becomes the sitting animation. It also works for replacing gestures while you are sitting.
Anyone know of a way to make an object -not- follow the avatar after being set to 'active' from an animation trigger>?
Was the right answer “a fixed joint connected to nothing”? I can’t quite remember
I think it was, Svelsien sent me a prefab but I never got it to work
Friend of mine got it to work apparently, by doing a slightly different setup than what people have been telling me
Looking for a standard fade shader fork that renders in the opposite direction as the standard fade shader.
When it says requires scripting
does that mean I can actually use unity scripts?
or is it something else
oh nvm it uses triggers
neat
is there any existing documentation on VRC_Gun Stats?
I'm not sure why it says it requires scripting. I have it working in one of my test worlds. No idea on Gun stats, but I know people have been making their own guns with damage colliders that turn on when they shoot.
the actual gun stats component seems useless
what I'm wondering though is how they're going about tracking ammo
I'm not sure how they are doing it. It seems easy to do with animation controllers and the int math actions. On shoot, animation int minus 1.
does anyone know the version of Playmaker vrchat will use?
@cold minnow Whatever version that's in Unity's asset store I guess.
hello
@cold minnow you'll be lucky if you get a peep out of them about playmaker lol
Playmaker will be outdated when they get it ingame.
lol
Anyone play with the new CATS update yet?
It says that it supports source engine models but I can't seem to figure out if there is a seperate import option for those
do shaders that use scripts (at least in the editor) work ingame?
@cold minnow i dont think they do
i've seen avatars that are able to climb into the air, does anyone know how to do that?
Its a collider between the hips and feet
depending how exactly you put it, you're either gonna stand still in the air, or fall in steps
i don't think that's it, they grab a spot and drag their avatar towards it, the collider thing is more like flying
yea, that's what i mean, i would love to be able to do that.
I've only seen people with full body do this. I wonder if that has something to do with it...
i think i've seen 2 without full body
I asked one person with fullbody and they said it was an option using steamvr advanced settings. They are changing the height of their floor. This only works if you have full body or a non humanoid avatar.
that's one way to do it, but these people are dragging themselves up, not changing settings
Oh shit
Or whatever it’s called.
That's dope
ow, guess i'm gonna need to get full body then
The reason full body tracking is necessary is because vrchat keeps your feet on the floor in humanoid. If you are controlling your feet, then you can move them off the floor.
I'm confused. Is it a VRC component? I think Cyan was saying it's a part of the OpenVR Advanced Settings
There could be more than one thing that does it.
hey guys
any1 here
what settings and type of texture do i use in the distortion shader to get the shockwave effect
?
there are ways to do the climbing thing without actual full body tracking
e.g., PlayspaceMover can simulate trackers
Is there a way to test how many draw calls my avatar is? The profiler says "154" which I find extremely hard to believe
Turn your avatar off, check the number, turn your avatar back on, check the number. For some reason the skybox has a large number of polys and can take a few draw calls. What else do you have in the world? Also shadows are another draw call per material.
Alright, thanks.
Nothing else in the world, just the avatar, camera, and directional light
Does crunch compression for textures actually do anything for optimization? Like, does it take less video memory? Or is it just for decreased filesize on upload/download?
Not sure, where is that option?
In the texture itself, at the bottom
For DXT5 textures (default format when importing PNG)
Anyway I looked into it, textures are decompressed and then sent to the GPU
So it's no use in terms of VRAM usage
Oh, cool
Hmm, it seems to be a bit limited for my purposes
I'm using the CATS copy protection and the garbled mess it makes out of the model is almost certainly affecting results
It also doesn't seem to take dynamic bones into account yet
I did find out that my model is only 33% slower than UnityChan, so that's something.
Tbf I could probably optimize it further by atlasing everything (I left the face material alone because I needed to keep it)
Depending on how big your textures are, there are ways to atlas that do not lose quality.
I manually atlas
Not sure which other "ways" there would be
But no matter how big I make the face in the atlas, it loses a bit of detail
I just recently combined all my textures into one in photoshop without resizing and then manually updated the uvs.
The eyebrows and eyelashes are normally very sharp, but they become a bit more jagged or blurry when I atlas
Oh yeah, tiling could also work
I never understood why that isn't an automatic atlasing feature to begin with. It would give so much better results, maybe then people would actually atlas their stuff.
I guess I can add the face textures to my atlas manually, there's some space left over. A lot, actually
I don’t know how to make blender plugins, but I really wanted to automate the process.
How do you properly align the UV's? By hand?
Math
Yeah, same. I'm actually a programmer so I've been thinking of doing it
Just thinking of ways on how to deal with multiple materials with the same texture but different colors, for example
I know the scale from the old texture to the new texture and then I moved it the number of pixels.
I’m a programmer too.
Not sure how to handle the different colors part unless you bake them in.
I guess you could offer an option to just duplicate the texture with different colors applied
But the main problem is aligning the tiles as efficiently as possible. It's easy if they're the same sizes, but what if they aren't?
I’ve been thinking about an easy algorithm to do it, but the runtime would be terrible. Making it generic to handle every type of avatar would be annoying as well.
I would rather spend my time working maps right now.
Do screen space reflections work in vrchat?
I keep trying to get it to work and im about ready to quit because every time i upload they are gone
but in my unity they are fine
I don't really understand what you mean by screen space reflections... Are you trying to do realtime reflections?
Its in the unity post effects stack
And yes.
Im not doing the reflectance through the materials themselves though. Its the post effect that does all that.
Unsupported in VR and it requires deferred rendering path
You might be able to get it to work on some desktop users tho...
Dang it
@gleaming bane i thought you left
I did
Does anyone know what this means? Because of this I'm always stuck on the "7/11 Light Transport 14 jobs" part of building, so I'm unable to test or upload my world.
Has anyone successfully been able to change the drive mode of configurable joints? It's a bug in unity 5.6 (https://issuetracker.unity3d.com/issues/the-mode-option-is-missing-from-the-configurable-joints-elements) that you can't see the option at all. But is there any way to get the option to show up or possibly change it through other means?
Have you tried enabling Debug?
That sucks though, maybe there should be an editor script to fix that
nope, doesn't fix it :/
Anyway, it sounds like something that could be fixed with an editor script. Seems like a huge bug though, it's amazing that they had not even caught on yet. Makes interesting joint setups all that much harder.
one of the forum threads says you can change one of the other completely unrelated options and that would fix it somehow, but I think he was on a different version because that didn't fix it for me
And yeah, it's kinda funny that the reproduction steps are literally "go to it and look at it"
This Unity version is cursed, I swear.
Just one version later, and we would have working Configurable Joints, rotate-able world mesh particles, etc.
ugh, rotateable world mesh particles would be huuuge
You can sorta do it with a shader, but that has limitations
yeah I know
but mostly you can do workarounds to get a similar effect with trails and leaving behind particles while it's moving. If you want something to stick into the ground and stay there, trails won't really help you too much and the shaders will just completely break once it has no velocity
Can someone send me a prefab / Settings of the poseable dolls that can be found in some worlds? i already got Final IK.
Hmm, the drive mode is meant for allowing you to target a specific velocity, but in the absence of that, just increasing the mass of the rigid body allows you to limit it's velocity enough for most purposes
dang there's a lot of cool stuff you can do with joints. How about a fidget spinner that you can actually flick instead of just activating a spin animation? 🤔
Would anyone know how to incorporate audio occlusion to players speaking, mostly so I don't have to hear a person speaking from a floor below me when i'm 1 or two floors above them
Figured I would ask here before I spend another day testing methods outs.
I would like to know about this too, but I feel like we would need scripting for this or have the devs create something like this for us.
As far as I know this is not currently possible. There are audio solutions out there but they would have to implement them on the game side.
You can occlude your own sounds with triggers, but not voices.
The other thing you can do is to make different rooms appear to move seamlessly but actually be separated in physical distance with teleport triggers on stairs.
The Oculus sound sdk for unity does not currently support world-based geometry according to their documentation, citing VR performance issues.
There's a limit to the number of audio sources allowed in VRChat. I have a world that spawns audio sources in the form of ugandan knuckles and after a while voices get muted. If you could find a way to exploit this you could mute everyone in a certain part of the map by spawning local audio sources. Like if you wanted a dance floor where you could only hear the music. No lag as far as I can tell.
whaaaat
shit I was gonna put Physsound on everything
Is it max active or max spawned or what
Alright, I've got my Toggle prop working for the offon switch, but when I try using the onoff switch it takes 2 or 3 toggles before it starts working
@sand canyon It's max active. If you kill the knuckles in my map, sound comes back. Please start using Physsound. Every map I go to is completely silent if it doesn't have music. One shot audio sources in Unity like the ones created by Physsound are automatically deleted once they finish playing. Also it seems like it's a unity limitation not a VRChat one.
The problem with Physsound is it requires two clients to activate.
Which means it is very hard for people to implement and test easily.
I'll get it going, I've spent a ton of time on sound effects for this world. Every button or interaction really should have a sound, but with the AudioTrigger bugs it is super tedious.
can someone help me where the freaking part for disabling shadows in cubed paradox flat lit code is? i cant find it and it stops me from annihilate unneeded draw calls
I haven't looked at the code, but I think you would need to change it from a surface shader to a fragment shader so that lighting isn't calculated the same.? Can someone with more shader experience answer this.
I have a problem with a masking-shader, that uses the render queue to make things invisible behind a quad that have a higher render-queue than it.
the problem is:
even though the render queue is set to 4000, transparent objects behind it that should be 3000 render-queue aren't rendered, but the opaque object that's supposed to be hidden with a render queue setting of 4010 is indeed invisible
the thing is, it shows fine in the editor and also in playmode, but as soon as I upload it to VRC it doesn't work anymore
@red fractal did you change the queue from inspector or from shader.
I have noticed that vrchat tends to change the queues to the shaders default values when uploading
Changing the queue from shader itself worked for me
I used the material-inspector
now I to find a way to modify the standard shader's render queue on a shader basis, but thanks for your help, it sounds like that could fix my issue
you can download the standard shaders from unitys archive site
yeah, and doing it your way fixed it! Thanks a lot!
np
Okay so quick question, that if you have a answer for feel free to dm me or tag me here, but is it possible to have a gameobject spawn in your hand, throw it so it becomes a world particle, and then return to your hand.
Etc for juggling making the bottle get thrown up, do a spin in world animation wise state so you can move your hands around while it's airborne, and then catch it in the other hand making it a object in your hand again
With a well timed animation you could emulate that
Essentially have a particle system enabled by the animation
But at that point why not just animate the bottle itself
Yea you only need to run particle systems on timers and subemitters
Dont really need keyframes
Hello, I'm using a particle system for some kind of grenade-type object. It emits from my hand and is simulated in worldspace, bounces on the ground, then explodes. It works fine on my side, but other people are telling me that the particle doesn't emit the same way as I see (not even somewhat close). Does anyone have any idea how to fix that? Do I need to set some flags on some objects so it replicates properly?
@frigid nymph I think shadow casting is using the Fallback "Diffuse" at the end of Flat Lit Toon, maybe removing that line would stop the shader from casting shadows, you can also disable shadow casting directly on Mesh Render component, set Cast Shadows to Off
@harsh nest im good thanks for ur help tho
Hmmm so I'd have to make a well timed animation
Guess that's do-able with some timing and stuff
Btw another question, would it be possible to leave a game object in the world simulation space, so I'd be able to place certain stuff behind and walk away from it without it following my character?
Yeah, but I'm not sure how it works
Easiest way is a world mesh particle, no hassle and it just works.
Only downside is that it has to be 1 material, but you can atlas it, so that's doable.
Harder involves fixed joints attached to nothing
Hmmm, it's because I've worked on a dupe of my model that stands behind me with rigid bodies and fix joints that makes every movement I make get replicated on the other model, only problem is when I turn my head it turns with it since it's just attached to the armature.
I'd love to have the ability to leave it behind so it follows my every move without turning awkwardly when I turn my head
I think that's possible, I've seen another guy do it
Hmmm, I wonder how I'd have to go about it though
why are they blacklisting so many playmaker scripts reeeeeeeeeeeee
@cold minnow So they can slowly filter them after release
To give them time to test them whilst also delivering Playmaker on time as promised
Just gotta trust them
trusting tupper
Lol, I doubt the whitelist on that will change much
We don't even have billboard renderers on our avatars
hey all- anyone with some insight would be appreciated-
I'm trying to set up a series of "triggerable" animations,
I have most of the actual trigger system down, but what im stuggling with is the start/stop with the animations on the object.
Basically i have an NPC model that idles, and when you walk up to it, it needs to play a sound, and transition to a running animation from Point A to Point B-
Then it needs to idle again, and wait for the next trigger.
If anyone has some insight into how to do this, im struggling with it. i can't tell if it's the animation transitions in the node setup that isn't working right, or what.
King, can you screenshot your animator controller window with the relevant transition arrow selected?
YEE one sec, almost off work
Hey so the issue seems to be i just cant get the model to accept any of the animations. Just the IDLE animation thats bundled into the FBX. I can't edit any new states in the controller, cant set any of them to "Default State" and I can't drag any animation files into the "motion" tab. Should I be setting the FBX to Legacy, Generic or Humanoid?
aaaaaand as soon as i hit send i answer my own question. okay lol things are moving along. thanks!
I suggest you copy all the animations from the fbx to new ones
Hope it works for you now
yee they each have their own fbx import, im whittling away at it now. Just need to find a way to loop the run cycle in Blender before import. Jade World almost ready!
is there any way to use finger gesture overrides with a generic rigged avatar?
I don't believe so, but at the very least you can add dummy bones that aren't weighted to anything in order to get it imported as humanoid
gotcha
is there any way at all to avoid the Fist finger gesture bug? Where when you assign a finger gesture override to closed fist that it gets stuck on all the time
Just don't assign stuff to fist
Fist has other stuff going on that make it have multiple stages based on how hard you pull the trigger, so it does weird stuff. Plus it has the whole thing where you override it with another gesture, so even if it wasn't buggy, if you ever override fist you lose access to it
You can override the fist finger movements though, but that might make grabbing stuff look weird
I already have open hand used for something, so I'll probably make my right fist an open hand so I can wave
i remember long time ago that i read a method here to constantly change something (turn off a mesh or so?) by using system emotes or so the intentional idea was somehow so save slots again can someone explain to me again how that works?
@drifting egret thanks
I'm trying to change a parameter for one animation through the use of another animation, but every time I set it to 1 it just goes right back to 0 the moment I click away. I'm also getting the error "animator is not playing an animatorcontroller" Which may be related? I tried googling that, but all I see are errors with scripting and prefabs
What I'm trying to do is play and pause an animation, and I have a parameter set up as a multiplier of the speed in that animation, then a separate gesture should change that paremeter. I thought I had everything set up but it doesn't seem to cooperate. Does anyone know what I'm doing wrong?
Hi all, how can I set up particles collision only with avatars for make blood when i shooting people with my weapon? and collision with only world for another particles, for example, to generate grains of sand.
You have to add a vrc world descriptor, then go to the build control panel and it'll give you the option to set up your layers or something. Then in collision you'll see the right layers that vrchat uses, including players. Then you just have one particle collide with players and subemit blood, while another collides with everything else to subemit whatever else you want
Can I add world descriptor to the avatar? Is it possible?
Nah, make an empty game object and add world descriptor
You'll have to make your avatar inactive temporarily or else the build control will get mad when both are present at the same time
ok, ty, i'll try it
Supposedly all game objects on an avatar are switched to the same layer. Also, particles can only collide with colliders. Avatar colliders are local only and it’s the giant capsule that surrounds someone when you point with the menu. I don’t think you can distinguish between avatar hit and world hit. Someone should prove me wrong though.
You're right, the only thing other players can interact with is the bounding capsule. Any colliders someone puts on their own avatar will be entirely local.
But world particles launched from one avatar, specifically told to interact with players, will be able to
Afaik they won't act like colliders in the same sense solid objects do, I'm pretty sure they'll just act as triggers
But yes, you absolutely can distinguish between player hit and world hit, it's just that player hit in this case means that giant capsule, not their mesh or anyting
has anyone an idea where i get the original female idle animation of vrchat my issue is that i wanna setup an idle animation for VR which is supposedly used as a second animator for body movement on my character to give it more realism (ears jiggling and stuff) however while the IK overrides most of it anyway it stays for the hand movement and i think some parts of feet which are still used in FK which is why I look for the default positions on that as they're feel very smooth
If you want to set up ear jiggling, it'll be easier to have that on it's own animation sepaprately
but legacy is already used for the blinking
@frigid nymph you can have multiple legacy animations on different gameobjects
add another Animation Component to ears root, duplicate your avatar, remove all Animator and Animation Components except the one in ears root, use animation window to record ears jiggling
@harsh nest thanks
So, I've been playing around with cloth physics(Not dynamic bones), and I think I've figured out why they break When a model is spawned into the world, it's spawned at a specific coordinate every time on frame one, and then dragged across the world by frame 2 and placed where I'm standing. This causes my dress to go nuts and clip through my colliders and look goofy. This dragging also happens when I pass through a door that teleports me from one area in a map to another, and has similar results.
I've found a fix, of sorts, but it's a bit inelegant. A custom animation that disables and re-enables the cloth mesh will reset where the cloth is supposed to be, and stop it from being outside the bounds placed on it by your capsule colliders.
Can anyone think of a more elegant solution for this?
put a huge sphere coll above your dress so it doesn't get stuck behind/in front @novel lintel
Do i have to do anything special to do a 2way camera/screen/audio for separatw occlusion zones or just do it normally and it works?
Regarding SendRPC (Teleport to), is there no way to make an object spawn in at certain orientation. It should spawn at the same orientation as the empty teleport but it doesn't.
Correct @warm niche
You can add a parent with a rotation transform to help. You can also put a LookAt component on the item that you pulse on quickly after the teleport.
I really wish they would fix it.
Add a parent to the Empty teleport? Already tried that, didn't work.
In the thing you teleport. Make an empty. Put thing inside with corrected rotation.
Not always possible.
i need it to rotate in different directions though
And this is why I always use the reparenting method instead of sendRPC teleport. I’ll need to make a quick tutorial on how to set it up.
Cyan has a better way that I haven’t learned yet
What do you mean LookAt Component @sand canyon ?
That’s another thing in Standard Assets
from unity?
It’s a camera utility.
Yes
All it does is make the object “look” at a target.
You can adjust the range of motion and speed. 0 is instant.
oh dang. I guess I never thought about looking through Unity component scripts for stuff to use
Oh yeah, that’s where all the good stuff is.
cool. So do they allow all things that can be installed as part of the Unity Asset -> Import Package process?
(that come with Unity)
Yes
man, well that really opens a lot of doors
nice
The toybox uses the suspension component for the minimap somehow
It makes sense when looking at the code. The name doesn’t really describe it. It’s basically given two objects, move the second one in its local space the same way the first one moves. If the second one has a small space, it can be used as a minimap. If it has a large space, you can do other things like move a game piece to move a larger part of the world.
Here goes my first attempt at trying to make it so sdk doesnt break playmaker
@sand canyon have you messed with pm yet
I tried look at target on sprites a few weeks ago and had no luck, i'm wondering if i should have tried it on a parent game object or something instead. Also I'm not sure if my settings were correct either but at work so cant post a screenshot yet.
@summer berry looking forward to that tutorial for the alt teleport method
Hopefully I'll make a tutorial for it on the weekend. I already explained half of it in the world channel by saying how to use animation events and clicking on buttons.
Anyone have an experience similar to this? An avatar that I uploaded a few days ago with world particles worked fine. Today it seems to begin to cause lots of lag for people. I checked it and I didn't make any changes to it.
how many total particles, what kind (billboard or mesh), if collides - high or low, subemiiters? noise? if it lags people now then it lagged people before too
I worked it out 😃
Resources as in examples of how to do it?
@leaden lark nope. I bought it but have not. I may try it for a personal non-vrchat project in the meantime.
how do i add scroll images on 1 material in unity?
like, where the images are still while u move around it stands there etc
Oh
all it really is is a local particle for the glow around it and a few world particles for the trail, all billboard. No realtime lighting. No collisions on any of the particles. Max particles is set to very low. Emission rate is also very low. These are all standard particles from unity assets. Idk why it lags
and it's not fps lag, what it does is it causes a brief loading pause/screen for everyone around it whenever I switch to it (looking at it does not drop your framerate)
after the avatar itself loads everything is fine
and it's only 1758 tris btw
yeah.. guess I probably shouldn't leave that post there. '-' thinking about it, it's just another thing people could abuse
do i need an asset in the unity store to scroll the images in a material?
@warm niche maybe try Tiling and Offset values?
or do you mean like a moving image on it
You can try to find any scrolling UV shader and use that
is there a tutorial for it ; v; im not experience with unity
tysm
hm
it might not have exactly the kind of scrolling effect you are looking for though. Though it's maybe a good starting point since it was made using shader forge so you can look at how they did the scrolling and see if you can't do something similar
I mean just looking at it, and I don't know anything about shaders, I think you can just replace the Rotator with whatever you want
it's under UV Operations
ah k. I didn't check this message for a while lol
As of the most recent vrchat stealth update UNITY cameras will no longer render for non-friends. What this means for creators and shader devs is that some projects have been drawn to a halt until we can get something implemented to allow us to continue using them. Unity cameras are responsible for many beautiful and amazing effects that aren't very intensive at all. Due to recent abuse of a bug they've added the current measure to make them friends only. We propose that they instead implement a togglable option in the menu that allows users to decide what they can and cannot see, with the default setting likely being friends only and being able to change to All and None as well. Alot of people have poured their creativity into these effects and would really appreciate your help! Examples of effects using cameras can be seen below.
GPU Particles: https://youtu.be/nnII1SOe7Oo
Inventory System: (Video Coming Soon)
3d Scanners: https://www.youtube.com/watch?v=YynhrFA8pUA&feature=youtu.be&t=5m44s
Game of pong on an avatar: https://clips.twitch.tv/FaintColdbloodedPheasantDatSheffy
Please vote on the Canny below if you support this.
https://vrchat.canny.io/feature-requests/p/toggle-for-friends-only-camera
^ Sticky this, man i dont understand whats behind all this bit restricting users are making the game bold...
They already tried with particle systems. But it hit too many users too hard and they couldn't handle the push back so they removed the limits a day later.
This will only really affect the more complex and dedicated end of the creative community, so I doubt this one will be rolled back on.
best option would go to toggle system instead limit what people can do
Yep
But it took them a month to let us toggle vive movement
So don't expect anything done fast
It's not the vrchat way
They are most likely working on a system to add these options more easily, but as of now they should just let the disablement they added revert until they manage the toggle options.
I don't know where you got your information but I doubt it.
And I doubt that toggles are on their priority list right now.
The first statement is just a pure guess, but it should already be in the works if they respect the users.
If.
Look what i wrote, i stated that already.
I was repeating for emphasis.
I don't think that cameras were limited to friends only because people used them maliciously
That is true
I should delete that post, i thought it disabled alot of my shader edits like grab pass that uses the direction of eye cameras, and stuff like that.
Damn they need to write what is updated rather than just sneaking it inn to an update. I think there is lots of miss understanding going around now, i got confused of what was going on, since i just started to experimenting with shaders and reading lots on what these nodes on Amplify Shader Editor does it seemed like the camera would prevent lots on it. Im just touching the surface right now and it would be nice to clearly get an understanding behind what will happen without it on, but toggle option is still what i want, don’t want any restrictions. :p
How do you even use a camera maliciously
We probably shouldn’t answer that in a public channel.
I mean, it’s just a camera. I could understand it if you also had to do some kind of screen space rendering along with it
...cameras can be used for different purposes.
I really doubt people actually use cameras maliciously
You don't need to.
it would be unneccesarily complicated to use cameras to mess with people
when disruption shaders are so easy to find
You can use it along with some awesome effects that was just being touched upon, ive seen some players use cameras too create an hightmap on some shaders like a scan, was cool.
This change won't affect malicious users at all
only legitimate ones
But then so did particle system limits
Dudes, i removed that statement from my comment so we should stop talking about it.
No, not aiming directly at you in the same way, but still don’t need talk about it, i didn’t know i was lying there but removed it after i dug up a little bit more information, so should the others.
So far, I've only seen cool things being done with cameras. The only thing that could be somewhat malicious is some guy who could "take out" your left eye and make you see stuff from another viewpoint in your left eye. Admittedly, this was cool though
But actually malicious users aren't gonna be using cameras for this stuff anyway, as evident by the Pug raid from yesterday.
...
If anyone wants, depth buffer based wireframe, world pos and world normal shaders: https://github.com/netri/Neitri-Unity-Shaders
You can also use this to make for example world triplanar mapping or decals
yo
for everyone here
I am calling a hit out officially
I will pay 100 dollars to whoever can make a shader that makes dynamic water. as in say a character is made of water. when i fling my arms back and forth, i wish for water to splash and fling off my arms like, well, like water
dm me for examples of the goal in mind if interested
Can't you just do that with some particles, distortion, and dynamic bones?
@violet light https://youtu.be/9OQSDuU9GJQ?t=5m29s
woops wrong ping sorry
@north dust
no problem ❤
is there an existing shader implementing a kind of volumetric fog where the density is greater at the bottom of the volume?
I've been sketching out the maths I 'd need to do it and it seems to come down to figuring out where a ray exits the shape. I just have no idea how I'd do that at the moment
I think I can do it if I can assume a certain shape. so doing a cube would be easy 🤔
hey, when ever i put the vrchatsdk into the unity 5.6.3p1 i get operating system based errors
is there anyway to fix this
i am trying to put together a model
anybody know the method to make an object only local visible like a cube or plane? for example to render a local camera on a local only object
If it starts off, you can add a button that turns it on just for that person.?
Is it world related or avatar related @frigid nymph
@frigid nymph yeah
You can put a particle system inside yourself that collides with PlayerLocal
Which then triggers a subemitter that spwans whatever you want to make visible
Keep in mind that other people will see it for a few seconds if they walk into you
I used a setup like that so I could see my own hands even with stencils
anyone know how fix the error moving file error
what exactly does the error say?
@harsh nest very interesting way to draw a wireframe, thanks for sharing!
@hoary iris thank mel0n for the idea
@drifting egret thanks
Is anyone knows name of a shader with just fantastic space/nebula animated textures/cubedmap/skybox???
Hey, I would adventure into the world of advanced development, but I'm at a loss as to where I'd start with this concept:
Is it possible to have an audio source (for example a microphone) to take input from the user and send it out as a norm audio? To make like actual concerts in VR possible?
Sorry if it's not explained well, I'm shit at putting thoughts down.
An adapter of some sort, have not seen anyone using anything like that before so i would say no.
But starting from one end and checking out inspirations and search your knowledge from there.
Start with something you think is easy, and go from there.
When i was starting out as a first timer here i never touched Blender and Unity, but started exploring that from November last year, now i have a basic knowledge of Blender and Unity and still want to dig deeper into the creation tools, there is so much to learn and there is so much creativity here, from Memes to Real-like renders. Keep on digging into this Rabbit hole!
Yeah, I figured I'd see if it was possible, maybe get a starting point, and then send out the model for the mic + all the comps to the people i know that sing in vrc
Ah thats nice, making a prefab of a microphone?
Yeah, thinking of making a mic that has a speaker on it so it's more realistic. I want to give back to some of the people that actually got me into vrc... namely chips and his group
Mhm, its so nice meeting those type of people, though i don’t think there is any way of linking sound to the microphone... maybe there will be a component that a map can use at a later date.
custom comps maybe
Ye that would be your best bet, like a custom vrc component
Do unity cameras also capture audio? That might be a route to take.
The question is how to tie it to an audio component. Shaders are able to plug into cameras, but even if cameras did have audio, how would you get an audio component to use it
Phase I don't think they cap audio. I am probably going to have to write a custom script to accept system default mic input and have it export to the audio source
No custom scripts allowed, but you could front the vrc admins with one and they could whitelist it maybe
But not before accepting it through the icanny system i believe.
Like adding a source that ties to your microphone that acts as an audio-source that has a ways to custom create echo or room distortions, or other effects. Would be cool to have ingame.
I would support it
Yeah, I'll do some demo'ing and see what I can do. It's been ages since I programmed but I still remember quite a bit.
I've already sent the hello email a message so maybe I can speak with VRP directly about adding it as an accepted script
there's a world which plays back your own voice delayed as an echo...
I had wondered how it works, and there's a note on the wall that it only works if your avatar has lip sync
maybe someone who knows unity could use that clue to determine how they're doing it
Like the reverb?
I can't remember if it was doing any kind of effect to it
I was in a world like that once too. Only my own voice was reverby
yeah... this one I'm thinking of also did it only for the local player
but the point of the world was a test world for your own mic so it would probably have been done like that whether or not it would work for everyone
No idea why it would only work if you have lipsync
Maybe some really weird logic to detect if you're talking
bugger, my transformations are off somehow
I guess this just means it wasn't a cube map at all
@normal aurora Just had a quick look into it (and now I'm curious about it) and I can find bits and pieces on what google did for the youtube video projection.
https://youtube-eng.googleblog.com/2017/03/improving-vr-videos.html
https://blog.google/products/google-vr/bringing-pixels-front-and-center-vr-video/
Provide some information on it.
oo!
so it's probably the equi-angular cubemap plus the quirky way they are laying it out
https://github.com/rg3/youtube-dl/issues/15267
There's some discussion here about the layout and stuff too
ah, i'm surprised even the tracker for youtube-dl has talked about it, because it's what I used to get the video in the first place
it's the one place I didn't think to search 😐
Once I found the name of the projection type (Equiangular Cube map, EAC) searching google for this stuff got a lot easier.
yeah, I couldn't even figure out what the layout was called initially, until someone pointed out that it's just a weird way of packing a cube map
if you unfold it differently, it's like an old football cut down the seam
what I'm still not sure of is why they couldn't have used an existing supported layout like 6 frames across, with left eye above and right eye below. 😐
then at least the maths to get the right face is already well-known. I had to do it from scratch
google/youtube
things that make sense
Ha ha ha ha
yeah. 😐
as it was I had to programmatically flip 3 of the 6 faces after offsetting them
I'll figure out a way to convert it to a matrix transform at some point
crud, it's still hard to align because they did the dumb thing where different faces have different orientation
thought it would be possible to bash something together in half an hour or so but looks like I'll put it off for a decent chunk of time
Does anyone know how to make a videoplayer emit light based on video in the world?
@gray skiff http://thegreatpug.com/vrchat-making-a-theater/
it's something I've been meaning to make for a while, but I think 4 video screens is probably overkill as you could totally pack all three into one material and animate a shader property to select what kind of 3d to use
You would have to rewrite the shader for it then
yeah it isn't very complicated though, I had written a left/right stereo one myself independently early on in order to display screenshots
there's an interesting symmetry in the maths for these transformations from UV coords to the final UV coords in YouTube's layout. because all the left-tipped squares are on the left, the translations for all 6 cube sides are (1/4,k/3)
let's not start calling it a nice layout though
anyway I think I have the maths right on paper, I'll just have to wait another 24 hours until I can get enough time to try and turn it into code
testing two adjoined faces to see how it works and basically the only thing I sucked at was clamping the coords https://i.imgur.com/Sn3LCG7.png
I got a problem with my video player. It works when i open up a new instance with nobody in it, but if i join an already existing instance with someone in it, the video player doesn't play, the screen is black. It's an Enable/disable video player and everything is set to local. This is what i have... https://i.imgur.com/SMzpm1y.png
Hey all- still makin progress on my Mocap suit. Anyone with C++ experience who could help me write an abstraction driver via OpenVr, your help would be much appricieated! This video shows me syncing up the suit with VRChat vi the new stream camera, but I just need a few final steps to get it working in-game.
Anyone with some experience would be a lifesaver, I am a dumb dumb! https://www.youtube.com/watch?v=enM3AUyizvY
So target has to be set to owner for the video player? I've got it currently set to local, maybe that's why the screen is black?
I gather all the other things have to be set to AlwaysBufferOne?
Anyone have any ideas on how to get a live video stream into VRChat?
@woven bay aside from web panel and flash?
here's where I am with the EAC shader so far. I more or less collapsed all the matrix maths I was doing down to single matrices and fixed the clamping. There is still some kind of issue where it's offset by a tiny amount between some pairs of edges which I'm not quite sure why it's happening. https://github.com/trejkaz/EACSkyboxShader
Nice
I will now try to park this work while I make a mad sprint to fix all my avatar problems
I have a mesh particle that I would like to enable GPU Instancing on
I gave it a material which supports instancing, and has "enable instancing" ticked in the shader settings
But GPU instancing still isn't available as checkbox in the Particle System's renderer module.
This even happens with Standard
Has anyone considered using BCI Chips to use instead of these clunky controllers? For instance, when I think about walking it makes my avatar walk
I'm sure plenty of people would love that, but the technology isn't there yet
OpenBci is available and actually pretty affordable. I have one here in my room, only cost around $200 I believe
We already have decent enough sensors, it's the science and software behind interpreting all of that data that we still need to figure out. It works great for diagnosing medical conditions and basic toys that sense when you "focus", but what would you even look for to control VR? Idk exactly how far along that kinda stuff is, but at most you might be able to think "walk" and be able to walk. But would you have directional control? Hand presence? Gestures? Arbitrary buttons like menu? We're not even close to completely replacing controllers
obviously it's a very new field and the more eyes on it the better, but I don't think it's as simple as "has anybody ever considered X possible use?" It's kinda making light of how complex it all is
Have you seen where people control their computers and drones with it?
You record a pattern and set that pattern as a function so when I think spin right, it will tell the computer to tell the device to spin right
Brainbay is one program I have been messing with for this
It has oscilliscopes and everything built in, pretty nice. Then you hook it all up on a diagram
So every single movement and button press has to be a distinct, separate thought? Sure that'd be great for augmenting on top of existing controls, but you're still nowhere near to actually replacing controllers
Maybe not replacing controllers entirely rather than adding on
especially for complex customization
Also when can we have drones bring us drinks in real life at the virtual bars haha
Is it possible to integrate custom software to control facial expressions?
Can I control the avatar eye tracking using custom hardware?
@warm niche haha I see you're curious about BCIs, I was asking because I wanted to integrate an EMG/EEG-sensor I've got.
where does it attach? Is it an emg or an eeg haha
@short wolf
I haven't picked up an emg yet, that is soon to come though! I'm working on a game right now where the integration of the emg would be nice
Y'all are going to think I am a physic once I accomplish what I am envisioning with the eeg
Both.
does it hook up to your head only or other places as well?
Head, haven't tried it with anything else.
How many inputs does it have
Ocz Nia.
😛
@warm niche is it possible to use custom input though?
I'm trying to build a one of a kind rig here.
😊
For your computer or your chip
For avatars, like controlling rotation of bones.
Oh yea for sure
Oh nice, there's a tutorial for it?
it's going to take some programming
Oh yeah that's no problem.
What kind of shader would I be looking for to pit on an expanding sphere, so that it will overwrite world textures around me?
Well you ought to look up a tutorial for controlling arrow keys with your eeg and then take it one step at a time from there. See if you can get that working first and then you can assign further buttons
@warm niche arrow keys are easy. Would I like have to use C# in Unity or something?
Yea that's what my friend was pointing towards @short wolf
I'm calling it now, the video player is shite, it just doesn't work with more than 1 person in the room.
It does work, though :V
Well mine doesn't.
It absolutely refuses to sync with the one who started the player.
I posted screenshots before and nobody is able to help me. I 'll try posting again.
I could take a look if you want.
It might be better if i describe it.
All the VRCVideoSync's are turned off by default, there are 70 different VRCVideoSync playlists altogether, with each one having about 14 songs or less. https://imgur.com/cdVRKsz I press a button and it turns on the jukebox. The jukebox has 5 pages, only one page is displayed at a time, on each page there are 14 triggers and 14 buttons to activate each trigger. Each box collider is set to "Is trigger".... This one makes sure every player on the page is turned off... https://imgur.com/mBocHyd This one turns the player on.... https://imgur.com/2Xwlv3i
In the first imgur link you posted there's a little exclamation point that says "Will execute on the owner". What does that mean?
It will execute for the owner only, i've tried setting that to local but still the same.
owner of the world i guess
That might explain why it breaks when there's multiple people... Idk how to change that though
Do i need to set the owner each time a button is pressed? Not sure how to do that.
So to be clear the drop-down for targets only has Owner and Local? And local doesn't do anything?
You can change owners by adding object sync to it and using the RPC call that comes with object sync. Sometimes you need to add pickup to the object too and just uncheck pickupable.
I think Local does the same as Owner, doesn't play the video, screen is black.
Are you on the latest SDK with the new changes to the video player?
Ah shite, got the wrong SDK... 2018.05.04.09.53
They never announced a new one in #world-development so i presumed it would be the same.
And anyway i thought it wouldn't allow me to upload with an old SDK.
I thought they had changed the way they do that.
I'll update that asap, thanks.
@normal aurora Thanks for sharing! Thank you for putting in all those comments, helps understanding it alot.
I had to put them in to explain it to myself while I was writing it so there is probably like 3 times more comment than code lol
unfortunately what I didn't have time to do was show the maths I used to get the matrices
but it was pretty much (1) figure out what orientation you start with (2) flip diagonally if positive is false (3) tip the left three cells left 90 degrees and then translate them right by 1 (4) plug that series of matrices into mathematica in reverse to get the single matrix to use 😉
the transformation is still off subtly so I'm thinking maybe the real thing actually scales away from the edges instead of using clamp
separately... I have been writing a parser for the mesh format youtube are storing inside the mp4 itself
it seems like these videos are something we can only ever implement correctly if we have full scripting, because we're supposed to read the mesh out of the mp4, convert it into a mesh unity can use, and map the video texture straight to that mesh
is the mesh different for every video? wouldn't it follow a format? We would only have to read it once and recycle it
@hybrid raft Think i solved it. It still had the black screen after i updated the SDK, so i did some tests on the buttons. If i press a button many times in a row, it stops the video from playing, screen turns black, no audio. After the bug takes effect it prevents all the videos from playing. Anyway, i guess an easy fix would be to put a two second delay on each button.
The trigger delay--does it merely delay the action, or does it act like a cooldown?
SO if you spam a 2s delay button, does it still spam everything just 2s later?
I did discover that OnTimer "executes" its action as soon as it is activated, just on a delay. Even disabling the object its on won't interrupt its future action.
Not sure what the delay in seconds actually does but it doesn't seems to work in my case, going to have to enable/disable an OnTimer. Just tested it and it works.
You need to disable the button with an OnEnable just before the timer kicks in.
then turn it back on when it's finished.
If I deactivate the the box collider of an sphere, can i activate it again by passing trought an sphere which is an trigger ?
no collider = no collision = no way to tell unity to do anything.
child collider could stay active though.
@hybrid raft Spoke too soon, i'm still getting a blank video screen when i join others in my world, i've got everything set to local.
Doesn't look like 'local' target works and just defaults to owner
i just give up.
How do those compute shaders work in this game? The ones that run on the GPU
Okay, that's a little bit of a broad question. Let me ask that again: how do they manage them?
I know how they work in Unity, but you usually need some sort of script to manage their creation and movement over time.
Even if it's just passing the delta time along
But scripts don't work in this game
I'm assuming it's all done in the shader code
I'm just wondering how Compute Shaders come into play there, and if they're even used
Since normally you'd use computeShader.Dispatch with some data in the Dispatch call, but that's probably not possible from a regular shader
It's odd, the Unity docs say that compute shaders can be invoked using scripts (no mention of literally any other method). And yet I know people are using them somehow.
So I think they're still using regular shaders
I thought compute shaders required some dependencies that you can't access in vrchat
Well, I've seen people do stuff with them for sure
Or at least, something that looked like a compute shader and did not have any impact on performance (despite the existence of millions of particles)
Friend of mine is releasing a world with one of those "attractors" you see sometimes
The question is if it's an actual compute shader or not. And considering you need scripts to use them, I actually doubt it
Frustrating thing is that I know exactly how they work, and I can produce working examples within Unity
Just can't figure out how to get them into VRC
by attractors you mean like having a bunch of particles go to a certain point?
I remember hearing someone talking about using cameras for coordinates inputs and such
not sure how they worked that out though
Yeah, I think my friend used cameras for that as well
He does
Although I'm not sure if the camera was actually used to "attract" the particles to his hand, but he used one to capture an image of whatever he was looking at. I thought I would start out a little simpler than that and just generate vast amounts of dust particles in the air
As test
Like, single colored points. They don't have to move to any specific position (or even move at all)
I know that render textures are used to hold information
basically like variables
I'm guessing it's actually just geometry shaders
Yeah, it's definitely a geometry shader of some kind. Guess I'll have to forget all about compute shaders
I need some help with an avatar
I have a fixed joint
and I want it to spawn on where the avatar spawns
but for what ever reason it keeps going to 0,0,0
anyone know how to fix that
Does the rigidbody of the joint have any of it's axis or rotations fixed?
I just applied the fixed joint to the object
well the thing Im trying to pull off is have a doorway spawn to where my avatar spawns in
and have the ability to walk around it
so if that gives you an Idea
what should I be doing
or if its even possible
Oh, you could use joints for that to make a world object, but it would probably be easier with a world particle
Idk, probably wrong texture or model or something
I haven't personally done joint based world objects, but I have done a bit of work with joints in general so I'll assume how you'd do it. Someone correct me if I'm wrong. First and foremost, you'll have to have a rigidbody to assign the joint to. Just have an empty gameobject or something out in front of your avatar. On that rigidbody, open the constraints drop down and check all the boxes for freeze rotation and position. Then disable gravity. Also disable gravity on the rigidbody on the door, but don't freeze anything on this one. At this point the door should now follow that gameobject around.
illl try what svelsein
To make it lock position and be a world object, I would assume all you do is, through a gesture, set the mass of it to be super high, like 1000. The key here, since you also want it to appear and disappear, is that you cannot disable either of the components with a rigidbody ever, otherwise it all breaks. In order to make it appear, you'll have to activate something under whatever fixed joint you have.
@warm niche does it matter where the empty game object is
outisde the armature
yes
Oh it still has to be in the model
sibling of the armature
otherwise it won't upload
@near bronze also your method is way too hard mah dood
it's a lot easier than that
gimme a sec
just finishing my game, i'll show you some screenshots
maybe I took too long to explain it, but it should just be as simple as making the door appear and setting the mass high
mm
is there a way to get the softness of the fade and transparent alpha cutoffs, but while keeping it solid like cutout?
@merry coral so, to be clear, you just want to spawn a door at your position and make it stay there, right ?
yeah
alright
first you hierarchy should look like this
https://i.imgur.com/6Rv4ATQ.png
fixed point is where the object should spawn relatively to your avatar
this is what the fixed point looks like in the inspector
https://i.imgur.com/TxDEFA6.png
Curious if anyone knows the answer: when I use the first Transform option when making custom animations, when opening menus in-game the avatar flies off to the world's 0.0.0 coordinates. Is there a way to fix this, other than not using the first Transform option?
This is the fixed joint
https://i.imgur.com/EiuYy9T.png
the drag or angular drag can be set to infinite so the object doesnt vibrate
but i didnt test that myself, just heard that from somewhere else
now, since vrchat is garbage
the fixed point got an animation on it
looping constantly and it's basically setting the fixed joint to position and rotation 0, 0, 0
when you spawn the object (my cube in this exemple) you disable the animation component
Really, I've never run into that problem, is it specifically for world objects?
yes
oh ok
Well as I said,, particles would be much cleaner anyway
ok so the fixed point is connected to my avatar
And would allow you to point and throw the door exactly where you want it
@near bronze yeah but for a door model, you need mesh particle, and you cant rotate those
and the fixed joint is all set up
so whole hierarchy of the fixed point --> fixed joint is outside the armature
It could still work, but fair enough
yes
create the reset animation
?
?
there needs to be an animation
what i said a bit up
just turn the animation off on the model and on on the animation?
the animation on the fixed point is there to reset the position of the fixed joint to 0,0,0
oh
one min
how do I set the animation to legacy
its set to loop
does the door need to be set to legacy?
just the animation for the reset
check the gif i provided a bit up to see
i already explained all you asked
I should have
Got the hierarchy correct
Set the fixed joint to what you showed me
Made an animation
Set it to legacy
And have it set to loop
and loop
now
when you spawn your object
you just need to disable the animation component of the fixed point
Uhh
Ok
It's disabled now
But doesn't that render the animation useless
If the animation tab is not on
How will the door reset
Do I need to make another animation to have it turn on
?
Cause if the animation tab is disabled
you disable the animation only when you spawn your object
it will activate again when you stop holding the hand gesture
I wanted it to spawn in with that avatar
then do the inverse
make the animation disabled by default
and use a hand gesture do activate it so it reset the position of the objects
So when the thing resets it will reset to where I am correct
is it possible to change the Talk distance from Specific Users ?
As example they hit an colider and get distance 1 , hit other colider and get distance 10
Hello, since i downloaded the new sdk i alway get some red issue,
even without anything in the project just putting the sdk..
Target not supported, switching to one that is.
UnityEngine.Debug:LogError(Object)
EnvConfig:SetBuildTarget() (at Assets/VRCSDK/Dependencies/VRChat/Editor/EnvConfig.cs:517)
EnvConfig:ConfigurePlayerSettings() (at Assets/VRCSDK/Dependencies/VRChat/Editor/EnvConfig.cs:176)
EnvConfig:ConfigureSettings() (at Assets/VRCSDK/Dependencies/VRChat/Editor/EnvConfig.cs:160)
EnvConfig:EditorUpdate() (at Assets/VRCSDK/Dependencies/VRChat/Editor/EnvConfig.cs:133)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
someones know this issue?
@sterile cipher VRC has GPU skinning enabled right?
Not a clue actually
we've been brainstorming some ways we can run events with 50+ people that don't involve switching to vulkan or dx12 😛
At that point ik and voice is a bigger CPU drain than graphics
you can check in the target options somewhere
I'd check, but I'm not at home :)
if GPU skinning is disabled it'd be a pretty big win to move that over
it's d3d11-only in unity
@sterile cipher for later https://i.imgur.com/RwbCWWp.png, highly recommend making sure it's on
interesting, so GPU skinning works using a vertex shader
in older engines you'll see skinning done directly in the main vertex shader, but in unity (which requires d3d11 for gpu skinning) they're using a modern technique where the skinned vertex shader doesn't output to the rasterizer, but instead writes the result into a local vertex buffer that's used for the actual draw
so there's no change needed to your regular vertex shaders 😄
and also then multiple draws in the same frame can reuse the skinned vertex buffer (there are almost always multiple, in shadow maps, extra cameras, mirrors, etc)
the point of all this being to prevent uploading the skinned mesh to the gpu every frame
which is quite a bit of work for the cpu to do
It seems that VRC does mostly use CPU instead of GPU. I changed my GPU from a relatively weak to a stronger one and it did not make too much of a difference
yea it all CPU base vrchat not in high in graphic
every thing that running backgroud of the program slow it down from Particle, Dyanmic bone, Material, voice,Ik Network
And draw calls
Well then, offload dynamic bones and Opus to the GPU
@low peak Offloading dynamic bones to the GPU is not a simple task. At the minimum it woud require writing their own compute shader version of Dynamic Bone and reimplementing the portion of Unity's transform class that Dynamic Bone uses.
There may also be performance issues with reading the results back from the GPU to the CPU because doing so is slow. However to avoid that you have to write your own GPU skinner to replace Unity's or apply the deformations in a vertex shader (which requires all shaders to be modified to add the necessary code).
Also VRChat is already using GPU skinning (I asked a Dev when I saw them yesterday.)
What you really want to do is offload certain tasks to another CPU thread
If dynamic bones or draw calls could both shove off into their own threads, that would help a lot already. Same goes for the voice stuff.
@drifting egret Yes, this is the goal of the Job system introduced in Unity 2018.1.
The Unity API isn't thread-safe so it can't be used outside of the main thread.
So moving Dynamic Bone to another thread still requires a rewrite of both Dynamic Bone and the portions of the Unity API it uses (like the transform class).
i think it would be nice to be able to search for avatar cuz i have a little over 200 avatars and it takes a while to scroll through them all
ayo! audio question for a world - anybody know if messing with the settings on Unity's native audio source component affects the ONSP that VRChat wants us to use. For instance: if I've messed with the spread, doppler, and/or roll-off in the native Unity audio source component - will those settings be carried over into the ONSP Audio Source beneath it and then be re-processed with the ONSP component's settings.... or does it completely void the native audio source component's settings in place of it's own processing for spatialization?
It'll force it's own falloff curve, but most if not all of the other settings will carry over just fine.
@rough sleet with source access you could hook into the unity skinning system pretty easily (tho unfortunately unity is pretty stingy with licensing source access of course 😿)
and to run dyn bones on another thread, you could simply copy the data at the start/end of the frame
it's such a simple script that it would take a competent programmer just a few days to implement
it already has a separate set of virtual particles it uses for simulation, and then applies those to the transforms at the end
@odd fable Dynamic Bone's Particle class contains a UnityEngine.Transform class which cannot be accessed outside of the main thread.
It does use it
well actually looks like it already copies it to m_Position so it really doesn't need it
It uses the Transform class to traverse the hierarchy
also it uses InverseTransformPoint
It also uses it to get particle positions after their parents have been processed.
i don't totally follow that last bit
looks to me like it caches the parent index
so it could use a copy of the position
instead of the one from the transform
Particles are processed in hierarchy order starting with the root.
When a particle moves it changes the world space positon of all of its children particles
right, which is sorted once at setup time
and then computed based off one input of the transform
so if you copy it once at the start of the frame
you can update the particles, then produce new values back for the transforms to be picked up by the main thread
this is how i've seen most physics systems built, and how i've implemented it in the past in our engine with physx
That isn't what it does though.
copy data back and forth
It gets the particle's transform's current positon several times during the update
Ex. restLen = (p0.m_Transform.position - p.m_Transform.position).magnitude;
In UpdateParticles2
right but my point is that it doesn't need to get it from the transform, it can get it from its own cache
since it's not mutating the transform until the end of the pass
@odd fable Hmm, I'm trying to remember what I ran into when I tried to do exactly what you're suggesting a few months ago.
Well all that happens in LateUpdate anyway so that physics and animation can be processed first, so parallelizing might not help much.
Eh, you could add a one frame delay and have a whole frame to figure it out.
And with some (significant) architectural changes you could get better throughput than just throwing an individual set of bones at a thread.
eww
It's not like it's a particularly accurate physics simulation as it is.
haha, true
it's naive verlet with like the simplest possible collision constraints 😄
it's already glitchy af
It's also coupled to its update rate
true
It uses delta time but only to figure out whether it should run the verlet simulation
Also if the update rate is faster than the frame rate it'll run the verlet multiple times back-to-back.
and yeah throwing it the full set of bones for the frame and processing them in one pass would help
Tach, I don't quite remember the issue I ran into that made me decide to shelve it but I want to say it was related to some dependency on Transform that would have required me to implement a bunch of transform/hierarchy code.
hmm fair enough, some implicit transformations going on in one of the accessors maybe?
I want to say it was something to do with the localToWorldTransform matrix not matching
But I can't quite recall
I should still have the code.
At some point I'd like to look into writing a proper replacement, maybe one that runs in the job system.
tbh I haven't profiled a busy party so this might be a small contributor anyway
Nah, it's huge.
I really wish VRC was implemented on UE4
with full source access you could optimize the shit out of this
I don't, the stuff Unity has either in 2018.1 or coming soon is awesome.
what are your fav new features?
Their new Burst compiler that's used for optimizing Jobs can produce code faster than standard C++.
it does look very nice, though "faster than C++" is a stretch, since it all depends on how you write the C++
similar to people showing node.js is faster than C++ by not optimizing the C++ correctly
The way they've designed the Job system constrains it in such a way that they can make assumptions about your code that (Unity claims) would take a long time for a C++ compiler to determine.
Of course, they've just set it up that you have to write your code in a way that makes it fast.
"Fast by Default" is their goal
Of course if you hate data oriented design you're not going to like it.
I really like how the industry is moving in this direction
Me too
did you watch the Bungie talk on the rendering arch in Destiny?
No
I didn't know they did one.
The scriptable render pipelines are a huge deal too.
well, Natalya, the graphics lead at bungie who gave that talk, left to work at unity over a year ago
and brought a lot of the ideas with her 😛
That might explain a few things
yea, the job system is quite similar to the one from destiny
Interesting
it's actually such a good talk, i'm rewatching it right now https://www.youtube.com/watch?v=0nTDFLMLX9k
(there's also a separate talk about the overall job system which is more relevant to our previous discussion, while this one is focused more on rendering)
(but this talk is much better and still covers a bunch of it)
I'd really like decoupled rendering and simulation for VR
Valve talked about doing it a year or two ago
No need for reprojection because the resolution is adjusted dynamically to avoid GPU bottlenecks and the render thread can always render a new frame with updated head tracking even if the simulation takes too long.
yeah that makes a lot of sense, especially with the high visual framerates you want for buttery smooth tracking, but the relatively low simulation framerates you need for convincing physics
having different update rates for different things on the GPU side is also helpful too in VR, so you can e.g. update shadow maps less frequently, or update voxel-based volumetric lighting less frequently, or update skinned meshes less frequently, etc etc
you've gotten me more excited about unity again @rough sleet, I forgot Natalya went over until you mentioned the job system
Yeah, different rates for different things makes a lot of sense. Nvidia's even talked about doing raytraced indirect lighting in the cloud and sending light fields to PCs or standalone HMDs that trace the direct rays.
Some people scoffed at it due to latency problems but Unity's real-time GI system already has a fairly significant delay and people don't usually notice until I point it out.
can't remember where now, but in some presentation I definitely remember seeing the results of a user study show that people are satisfied with some incredibly low framerate for GI
what version of Final IK is vrchat using?
That's a good question
Haskell FTW! heh (sorry, data-oriented design joke)
@cold minnow We are on version 1.6.1 ... 1.7 real soon (tm)
Bit of a weird question maybe, but is there a way to somehow pass Animator parameters to child objects?
On avatars, not in worlds.
I need a child object whose animation state needs to respond to my avatar's animation state
@mental narwhal thanks
also how soon™
I see in the changelog that the new version allows configurable arm length
will you allow us to use it so we can fix models with wrong limb proportions?
Anybody know if we have an audio loudness spec / standard we should follow? It'd help to have a target for mixing audio for worlds, etc. I know Oculus' loudness standard is -18 LUFS, and that the devs implemented some form of audio limiting in one of the previous updates. Not sure if this was peak-limiting to force the game to Oculus loudness spec so they could get an eventual Oculus Store release or if it was just a rudimentary gain limiter for loud avatars that like to troll...
Probably asking for a bit with it, but does anyone know if it's possible to have players locally spawn and despawn meshes as they interact with a trigger such as a room they are in despawns locally and spawn the next room locally when they use a door to teleport?
Just set the trigger to local. I think you need the advanced checkbox and then the local option will show up in VRC Trigger
If you're doing this for performance reasons you might want to look into occlusion culling which is built into Unity for this purpose
@languid lily https://docs.unity3d.com/Manual/OcclusionCulling.html