#development-advanced
1 messages · Page 37 of 1
Original polygon is sent out first, then the extruded geometry is second.
Also I meant that I never explicitly declared a ZWrite nor ZTest
if you are using a geometry shader, you will probably be generating all the output polygons for a given input tri in a sequence, so it might render in this order too: original, extruded, original, extruded, original, extruded
so your first original might render fine, but then your first extruded poly might cover up the second original , and third, etc
https://docs.unity3d.com/Manual/SL-CullAndDepth.html here it says ZWrite is On by default
Was actually just reading through that
so you have a few options. One is to use ZWrite Off. However, this might make things worse: your fully opaque original polygons might render on top of the extruded ones!
If you're willing to accept a bit of visual noise, Unity actually comes with one really awesome low effort fix to this sort of problem: dithering using AlphaToMask
there might be better solutions but you can try adding AlphaToMask On and see if you like the result. it will allow it to use depth buffer and everything will be completely opaque
Actually, ZWrite Off, ZTest LEqual seemed to fix the issue of other polygons being not rendered.
I'll try that though
but it might mean the opaque geometry covers up your extruded polygons depending on the order
Actually just realized I'm seeing the back of my mesh with the ZWrite Off, ZTest LEqual
another common approach (that the oft-loathed-and-loved laggy fur shader everyone uses) is to use multiple Pass {} blocks in series to force one set of geometry to render before another. This is probably the worse option performance wise but it might lead to a better looking result. And unlike the fur shader you will only need 2 passes, not 30
ya ZWrite Off leads to the issues with transparent shaders I was hinting at int he user support channel
Didn't think about having multiple passes actually
Please don't do what fur shader does. but 2 or 3 passes may be acceptable and possibly better performance than one pass with bad sort order
becuase it may reduce overdraw by doing the opaque polys first
Yeah only two would work lol
Would actually probably reduce the amount of clutter that I have as well.
you can put your functions into a CGINCLUDE block directly inside the SubShader to reuse code from each Pass
(or use a .cginc file)
Yeah, my noise functions and stuff for handling colors are all in different cginc files.
It's a pretty simple shader overall, so I'm not expecting to run into some issues with keeping it dry across the passes
Noise functions are black magic to me still. voronoi noise looks pretty cool actually--never played with it at all
It's pretty fun. Not too hard to use either, and you can find a few guides online for implementing it
Just have to convert vert positions over to world positions because the noise is based off of that.
And add a bit to your worldPos via like _Time or something.
Otherwise it'll just be static and not moving
ah cool
I just got a great idea for a feature to add to the shader.
Allow the user to put in a vector for the extruded polygon to lerp itself by, and also maybe a rotation/scaling option for the heck of it.
Shouldn't be too hard to do. Just a bit of simple linear algebra
And then just lerp to them using the value the polygon is raising itself by
Um.. Just making sure I'm doing things right, but triggering audio to play is basically making a VRC_Trigger send a custom RPC to an VRC_AudioBank to Play(), which will in turn make whatever Audio Source is attached to it play whatever clip is you've set it to (in the audio bank) do, right?
Audio banks will play only the song at the index given in player number. They reused sdk scripts for this and player number should not be the name or the option. Uncheck use last and set the song index specifically. The songs are numbered starting from 0.
Depending on what you are doing, there are a few ways to handle audio. If it’s short sound effects, music, animations, etc
@summer berry Wierd. VRC_Trigger isn't giving me an option to set an index.
Bug maybe? (As in I have to manually put it in bypassing its interface)
Use player as last part, uncheck that
F
Use that field as the index even though it still says player.
I was just a bit confused because the wording and all is different from the docs.
Um.. Also, how does one set the camera to listen to with for UI events?
What do you mean?
@summer berry When you create a world-space canvas, you have to define a camera that the EventSystem will raycast from in order to calculate UI events.
But as you know, you can't really get that defined with the SDK.
Add VRC_UIShape
Onto what? Anywhere or the canvas?
It will automatically add a box collider for you to interact with it (Blue raycast thingy). Make sure it is not on the UI or UIMenu layer.
Add it to the canvas object.
Wait... I'm confused.. If it makes a selectable collider, then wouldn't it go on the individual UI elements then?
Nope, it goes on the canvas
As UIShape sets the camera to the player's camera
in the canvas*
Ohhhh.. Gotcha.
anyone got pretty textures or something for UI?
@tame dagger ive seen people using this before. https://assetstore.unity.com/packages/essentials/unity-samples-ui-25468
so i have 3 buttons that bring up 3 panels for each button, but i want to make it so that if i open one panel and another is already open it auto closes. does anyone know? or a video that can help guide me.
then just close all the panels on any button press
Is there any way to append text to an InputField, e.g. from a Button OnClick event? there's no obvious method for sure, but perhaps there's some arcane hack that'll do it
Yes, Append does it
or otherwise buffer text without an inputfield
hmm, Append is a protected method, right? it's not showing up in the little OnClick event thingy at least
To synchronize it, one method I have experimented with is making an animator with a state per letter, and using the Play action on the animator with the letter you pressed and the having the animator have an event that fires an Append event on the input field with that letter
Lemme check what I did
do you have to use the debug inspector to make it send an Append event?
Also never got far enough with this to test it ingame. Maybe I should try a few letters to see
hmm, well that's what I'm trying to do right now it sounds like
make an in-game keyboard
well, you can just enter in the method name in debug inspector
I was working on a concept of making a literal typewriter- using a particle system to shoot letter particles on a piece of paper but getting input from a input field
O rly? Takes any method even protected?
well, i just typed it in, I'm not sure if it'll actually take
Gonna run a test build now and see
neat, it actually worked
it's a bit buggy since you have to reselect the inputfield to actually display the text
Ah Animation events allow Append(string)
but yeah, i'm guessing that whatever reflection magic the unity events system uses doesn't respect protection
But it doesn't show in the menu for OnClick or OnValueChanged
In that case, Should also be able to do it as a Dynamic string option from OnValueChanged on an inputfield. But you will need some way to sync the events to other players in the world
what do you mean by "Dynamic" string?
and yes, the networking part, i dunno how to do that, but my current goal is to just sent the output to VRCSyncPlayer.AddURL, so no sync required beyond that
i guess you could do that trick where you have a vrc_trigger activate a gameobject with a Button in it to do the actual append
In input events like sliders and text fields, there is a way to pass the float or string value directly from the widget to a unity function (probably like Append). It shows up as a section called dynamic string in that case. Though the lack of sync makes it only mildly useful
For slider you can sync through animation offset. For input field maybe letter by letter but allowing copy and paste would be impossible the way I was trying to do it
Ya vrc sync player has its own magic that allows syncing the url string. I don't think there is any other way I have heard to sync a string. And no way to get the url out of the AddUrl on the other side
well one weirdness: Append is actually Prepend, but still cool
well, it makes it less useful for an actual keyboard
Oh append is based on where the cursor is
oh, i'll try moving the cursor
Stick a set_caretPosition(999999) works - maybe there's a better function
yeah, that works to actually append
i kind of want to figure out how to sync the text state between players now, but testing multiplayer seems like a pain
i thought the "number of clients" in the test build section would let you multibox in the same instance, but I guess not
hmm, i can't think of a good way to implement a delete/backspace button either
you can call Delete and Backspace on it but for detecting delete and backspace button keypresses on another input box you might need to start with some string pattern like A|B and have the cursor between A and B so you know which was deleted
@twilit haven because I usually develop on a separate machine anyway I usually upload and then use https://www.vrchat.net/home to create a launch link for a specific instance, then load a bunch of copies from a batch file with --no-vr.
How do you call "delete" on it? Doesn't appear to be an actual method https://docs.unity3d.com/ScriptReference/UI.InputField.html
there is a protected method that processes an actual Event, but I dunno how you'd synthesize that in the debug inspector
so you might need to trigger an animation event (animators are how I was planning on doing my synchronization anyway)
curious
backspace works at least...didn't test delete. probably again depends on where the cursor is
I'd guess you can set it in debug same way you did Append. they appear to take no arguments
invoking Backspace directly from the onClick didn't work, trying the animation event thing now
Append took an argument but Backspace does not take anything. Make sure you edited it correctly like a function that takes no arguments
also check console to see if you hit an exception somehow
can you attach the console to a running vrchat instance somehow?
oh you're testing ingame? for simple stuff like this I was doing it in play mode in editor
though exceptions will show up in the output.log
yeah, doing test builds. nothing in output log yet, i'll keep trying
thanks for your help
good luck, I'd be curious how far you get. nice text input widgets could bring new possibilities in world design
how do you activate canvas elements in play mode in the editor? Do they have to be on a specific layer, or in screenspace?
hmm, i also see the Backspace method under the huge list of animation event function choices, though it doesn't take effect for me, testing in game
oh, maybe backspace is actually working, but because the text field isn't selected, the "cursor" is set to selecting the entire field, so it erases everything
very complex
okay, that was it, i have a working Backspace button now
Hmm, maybe the method was removed in 2018.3 since it's not in the script reference
but you can call it directly from OnClick, using the same debug method as calling Append
But I had to also add a call to InputField.MoveTextEnd(false) to move the cursor to the correct place
with the caveat that it's not synced, vs. the animation event, I suppose
welp, Backspace method is just plain undocumented it seems
well, that's mildly exciting
the crux being that you can call protected methods from UI events by using the debug inspector, you can control the contents of InputField using Append/Backspace
and presumably sync them over the Network by roundtripping through an animator
hideous, but that's vrchat scripting for ya
@twilit haven ah MoveTextEnd sounds cleaner than what I tried
Yeah, though should be equivalent to setCaret(99999999) practically
anyways, here's a prefab if anybody else is curious https://my.mixtape.moe/lqncrf.prefab
with sufficient time you could lay out a full keyboard of Buttons, each one sending its character to Append
i just have a test button though
cool
@twilit haven this is the typewriter concept I was working on. Only supports 3 letters so far. It's all done through a single animator with one clip per possible letter and particle system subemitter (will need a shader that renders colors as letters), so the idea was to make it light in terms of number of objects. https://giphy.com/gifs/w7vW1HSyYT2BBMNrko
I think I should be able to make it work with just a text widget and Append() events also, but I thought this would be more fun looking.
I use Animator.Play(string) to trigger a particular animation clip to play by name, and my animation clips are named the same as the letters you press
though I haven't tested if it syncs correctly. I should upload this and check
how do you get the canvas to interact in play mode? I couldn't press anything in the Game window
canvas set to Screen Space - Overlay. That will break it ingame though. just use it for testing
and you go to game tab in play mode.
mine also has Graphic Raycaster again only for editor purposes. for ingame you need VRC_UI Shape
hmm, i have it on screenspace overlay, but still no events seem to work
i'll test a fresh scene
in a fresh scene, right click -> UI -> Input Field
ok, that works
i wonder what happened to my other scene
... i disabled and reenabled the canvas gameobject, works now
¯_(ツ)_/¯
well, this has been an adventure
hmm setting Event Camera to Main Camera fixes my scene where it was a world space canvas. I wonder if it was because I imported this from unity 5.6
does anyone know how to adjust the collision boxes when playing around with UI? i cant seem to find where the modifier for it is..
@tame dagger add a UI Shape component to the canvas
And make sure there are absolutely no other colliders on it anywhere
nah
And make sure every element in the UI has a Z Pos of 0
i fix
trying to make it so i click button it makes sure all other panels are off so it doesnt just turn all of them on, but then it doesn't work argh my brain
i have 3 buttons, if i click one and another is active i want it to turn that one off but still be able to switch the next one that was clicked
Pretty sure you can use toggle groups for that
A toggle group can be used with X number of toggles
So you can have a selection menu of like 3 checkboxes
And if you click one, all the others turn off
thank you rokk i love you so much
But when they get turned off like that, they also fire their "on change" event
So they'll also turn off any other objects they're bound to or whatever
so i add the group thing to the parent which has all the buttons
How can I make something invisible for the player but still visible for a camera in my scene?
How I got mine set up is 3 buttons and then a toggle group object just about anywhere
Usually next to the buttons, it's invisible anyway
is there a way to make ui only visible from one side?
Dirty way: Maybe a plane with shader that has higher render queue and makes things transparent behind the ui panel
okay but that wont make the world invisible aswell? o.O
That depends on shader and queue, I'm not sure how easy it is to grab such shader though
oh i changed the queue of the front facing mirror and it fixed it, works fine :p
when you make a ui system does the event system do anything? can it be deleted
I leave it. I think it is useful to let you test in play mode in editor at least
I have to guess that vrchat has its own event system anyway for ingame
maybe
how do i make a button that controls different layers that that mirror renders?
is it even possible?
Well you've seen it done before right?
You essentially have different mirror game objects with different layers and you toggle one of them on, and the rest off.
im having an issue with physics. i have a joint which handles collision for another moving joint. it works fine in unity, but in vrchat its broken. it works as intended if i animate the collider is_trigger to negative (which turns collision on) with a gesture override. why, and how could that be? animating it with an animator doesn't work. having collision on by default doesn't work. why does using an override to do the same thing work? and why is it broken in such a way that it works in unity, but not in vrc UNLESS i use an override?
vrchat broke collision with joints and have not fixed it yet https://vrchat.canny.io/bug-reports/p/hinge-character-joints-broken-with-update. i think configurable joints might still work, but after they broke joints I havent gone back to try and find a workaround
it works perfectly if i turn collision on via gesture override, and im so confused why
@tardy folio i dont think thats right but i got it anyway :p
Character joints self-collide with your mirror copy locally
@warm niche the only thing I can think of is that Write Defaults somehow makes it work
I am in need of a few good devs of Unity I'm a gamer and host for many years and have no idea how to use the graphic side of my ideas and need someone to pick there brains about what can be done and can not be done.... Anyone?
what?
I dun get it honestly
I'm just getting into the idea of VRchat its very close to alot of others I've used over the years but this is one is great so far I liky
but I have overall dev issues as I'm not one and I can't seem to get out of the gate I know what I want in my VR but can't seem to get answers if can for sure be done or not
I'm trying to self taught in Unity
@vivid bobcat You might have more luck if you ask specific questions, otherwise it's sort of like "well, what do you want?"
I did ask a direct question but I think I have found a good resourse for what I'm looking for in unity. My question for VRchat next will only be about ingame content and I thank you for listening to my random questions here.
Hey d00ds, I'm thinking on building a game type with custom avatars.
I had an idea to use cinemachine for smooth 3rd person cameras, but I'm not sure f anyone's done it yet or if it causes problems.
Would you guys happen to know anything on using cinemachine for VRchat or nah?
Cinemachine isn't included in the whitelisted world scripts
Ah, so I suppose it won't read scripts/ tools outside of that scripting?
Nope
However if it's something you can use to create an animation, then you can play that animation ingame. It just won't be dynamic. Not sure all the stuff cinemachine is meant for, but if there are some specific things you're looking for, I might be able to point you toward some alternatives that are available
Ah alrighty
More or less, I was thinking of a 3rd person camera with smooth in/out panning & turning.
That way the camera wouldn't be too snappy to focus on the player
That's just up to how long you set the transition in the animator
Hmmmm, trying to find a video on it but most vids that pop up are animator override tuts.
But what you're saying is I can access the animator in unity to smoothen the camera's transition?
Also another thought is to put a render to texture plane in front of an avatar. Then have the camera behind the character.
First option you described would probably be easier though
look up generalized animator tutorials, not vrchat specific. There's a lot you can do with them
And if you want to have someone record the view from a camera, no need for render textures and all that. Just set a camera to render to none (main display) and then keep the camera disabled on start. When you enable it ingame, it will render over the entire screen without interfering with the VR view, so you don't even need to have a separate account just for recording
Yee that makes sense. I'll have to mess around with it for sure. Thanks!
does anyone know how to have different skybox in a mirror reflection but the players cant see that skybox? only the mirror renders it, my current skybox is a nighttime sky and i want the one in the mirror to be a galaxy
The easy/obvious way is make a large inverted sphere around the mirror just within the far clip on the main reference camera
for the previous messsge you would put that sphere on the mirror reflection layer.
If you want it to be all done as a skybox material, you might need to edit the shader to have two textures and pick one if the camera is the mirror camera or not. This would be more work but might fix issues with the far clip plane if it's a big world?
@proud meadow Mirrors have a far clip of like 4.8k or something dumb, so you can have the sphere at 4k scale so the VR Camera can't see it but the mirror can.
Oh the mirror cameras completely ignore everything about the reference camera
Yes
Um... Is there any way to do an IF with VRC_Trigger, like when calling a custom trigger, it doesn't activate unless the VRC_Trigger containing said custom event is active, etc?
Animators are often used for complicated logic. They contain full state machines which can use Animator Parameters (these are set by vrc triggers) to compare bool, int and float values as well as use trigger events to force state changes. I would suggest you learn those to do what you want. Also parameters can be blended to render the analog value (for example use float param of 0.473 on a blend tree with animation that moves to 0 and one that moves to 1000 and it will be moved to 473).
@noble folio
awesome workaround to use animators but imo cant wait to see node coding implementation
One reason ive been holding off world dev
Other is vrc playing addiction hahaha
Is there any way of making the raycast and ui trigger work within a box collider? I know something can be done via script, but not sure if it'll work on vrc.
not much can be done, but you can be to make it work within a collider, but you can use FollowTarget to handle the collisions out of the way of players
@noble folio Not exaclty IF but you can use animator controller parameters and transitions for AND/OR
Is there any way to have more layers for detecting different game objects in my triggers, or is this a bad way of doing things? I want to have spawnable objects that "Combine" when you touch them together, just by destroying one and activating a disabled mesh on the other.
I feel like I should use custom triggers, but I don't know if those triggers can be pointing to specific spawned instances of those game objects
@cold crest I'm not sure anyone's made a proper tutorial on it yet, but we have a method for that commonly referred to as "infinite layers" (name pending). You basically have your pickup object, and there's a separate object with a FollowTarget on that pickup, maybe 100 meters above it. This second object is nothing but a trigger collider, so give this a custom layer like "TriggerKey". Then on what you want it to collide with you do the same with a FollowTarget trigger collider at 100 meters, with a custom layer "TriggerLock". Both colliders have an OnEnterTrigger for the opposite layer. Now to get more layers, you just change the heights on the pickups and give your Lock a matching one. So your Lock might have 10 TriggerKeys, each one 100 meters apart on the Y axis. Then you have 10 pickups and each one has a TriggerLock at a different Y axis level.
guess i'm gonna find another way to do it then
because I sure as hell am not doing that lol
thanks for the info though
dahZee you get only the standard 32 layers to work with, of which VRChat hogs a bunch. You can get more by adding them in combinations but that is also finite and complicated. If you want many many layers the offset colliders is the only current way.
How many unique layers do you need?
it's okay, i'm pursuing a way to keep all the logic based things within a single gameobject for each spawned object
the layers just would have made it a lot easier is all
is it at all possible to control or manipulate or tweak the shape keys in such a way to reduce the time it takes for it to animate between two visemes?
@gaunt tiger im assuming this is for facial expressions for an avatar using hand animations. i don't think there is anything you can do cause the animator has transition time between hand animations. so there will always be a blend time when switching.
when an avatar talks is what i am refering to
yes, a shapekey maxes out it's animation at 100, and between 2 keyframes next to each other, it interpolates between 0 and 100 value for the vertices
but you can set the value of a shapekey above 100
it will still max the animated effect in the same spot BUT
it will interpolate between 0 and your new max value, which makes it animate faster, reaching 100 faster
if that makes senes
TLDR, set the shapekey to like 1000 or something
@gaunt tiger sorry, forgot to @ you
i guess in the visemes though you can't set the raw value of the shapekey now that I think about it
i don't use visemes very often, but i use shapekeys a lot, so i don't know, that's how I do it in shapekey animations though
Fairly new to shaders and just got into visual studio due to having to modify a pre existing shader. How do I make my shader render on the inside of a mesh instead of the outside?
I have a shader that i got from the booth which maps textures to geometry, but for some reason it culls out when inside the mesh.
If anyone can help with this let me know with an @
Cull Off in the subshader will do both front faces and back faces
I gave that a try earlier but it seemed to be doing some wonky stuff, so for now i have it set to ztest always from a friends help.
Using this for a map so it shouldn't be an issue, but thank you for getting to me so quickly. i appreciate it.
Is it possible to trigger a VRC_Trigger or a custom trigger on it using an animation clip?
Apparently yes. You can put a Button component on an object and have it trigger the other VRC_Trigger on Click ().
You can put an animation on the same object with an animation event on it that triggers the Click () method
@drifting egret That's not an animation trigger. OnClick() is a button callback..
Oh.
So basically trigger an UI event to trigger VRC_Trigger?
Animators can call button clicks but that's a bit roundabout as they can also call custom triggers directly, as long as the animator and the custom trigger are on the same gameobject
@near bronze I have my VRC_Trigger on the same object as the animator but VRC_Trigger.ExecuteCustomTrigger(string) doesn't seem to run.
You're using an animation event? The white arrow?
Yes
That should work. There are a couple options, maybe your capitalization is not correct? Or the animator transitions aren't set up right and it never gets to the event or something
Nope, because the animation plays without the event being called.
Or if you check your logs, perhaps the trigger is firing but what it does isn't set up right
It's not firing.
Perhaps you could share some pics of how you have it set up? The animator, the animation, the trigger
I only see the events for the button to trigger the animation..
Um.. Can't upload to this channel.. Where?
Actually, I think it's better to explain.
I have a button on a World Space UI with a OnInteract trigger. It hides itself and sends a Animation Controller change. I've changed a boolean from false to true.
In the animation controller, there's four states, an off state, an on state and a transition state for both.
At the end of both transition state animations, there is an animation event for VRC_Trigger.ExecuteCustomTrigger(string).
is it an any state transition?
Of course not. You can't event a transition.
Basically this: https://i.imgur.com/0FnGoD4.png
When you change the parameters in play mode, does it do what you expect? And do the animations actually get to where the event is?
Well yeah, the transition is set to change after the first clip ends, without blending.
So the entirety of both clips are played without any overlap/blending.
... in the transition.
You said the event is at the end of the transition, is it like the very last keyframe? It might be skipping it or something. Try putting it slightly earlier, even one from the last. I usually put them at the very start though just to be sure.
And as far as I know, let's say you have two clips blending in a transition, if let's say the end of the first and start of the second has an event, they both fire.
Yeah, I have it like a whole second early
Do you know how to pull up logs?
You can also get it ingame by pressing menu button + 3
Menu button is this https://fasteratexcel.com/wp-content/uploads/2015/11/menu-key-keyboard-excel.png
If the trigger is firing it'll show up
Yeah, nope. Not showing up.
Are the buttons firing?
I guess double check all of the wording and capitalization is correct on all the animation parameters and the trigger and everything
Yep, it's correct. Already double-checked.
Ima try reimporting the whole project.. Maybe it's a broken reference.
If it was a case of the trigger firing but not doing anything, then yes it might be. But an animation event has no reference, I doubt that would do anything. Worth a shot though
Semi-paradoxical question: A non-moving object being affected by vertex displacement (a shader that emulates wind in this case) still technically counts as static, right?
yes
but the lighting information and shadows (and optional colliders etc) will be 'wrong'
visually it will move ofc
unity has no idea of the vertex displacements happening in that case
when you code your shader so that it also recalculates normals on the fly and all the lighting and shadow passes also have the displacement it will look perfect, but colliders etc and bounds will still use the static default vertices for their calculations
if you just want to wave some grass or tree leaves or water it won't be noticeable if you only wobble the verts a little
hmm, that makes sense. i was actually going to ping you because i figured you'd be the one to ask that question to. thanks! so you'd still get the benefit of static batching by setting it to static then, id presume?
well, a ton of things break static batching even if you request it, I always look at the little stats gizmo to make sure
this is a list for 5.6, shouldn't be too different, lemme see if there's a 2017 one: https://blogs.unity3d.com/2017/04/03/how-to-see-why-your-draw-calls-are-not-batched-in-5-6/
that's both for static and dynamic
oh yeah derp, the frame debugger would have been the best way to check this. thank you!
most importantly maybe: multi-pass shaders break batching
How does that work with additive light passes?
@golden valley So after messing with that shader in unity i went on vrchat to find its not vr compatible. Someone referred me to you saying you might be selling a tri-planar worldspace texture shader?
I was wondering if what you had was the same as what i was using but supported stereo pass rendering.
@gleaming bane add me and we can talk in dms
PUBLIC: Mirror crash / bad optimization bug fix by !! KURO !! from CLASSIFIED
https://docs.google.com/document/d/1sDCYvT0Rrh-GyTytepvex9A0AX6DutazXeDO38_NRuM/edit?usp=sharing
What does TDR mean? The bit "Increase your pagefile size to 32000+ in windows... helps prevent mirrors and unoptimized worlds from crashing you" might be good if I had more disk space. I think my pagefile is still quite small.
works for me and the people that tested it
TDR stands for Timeout, Detection, and Recovery components in Windows. It’s supposed to be there to help stop BSODs by resetting the GPU and/or driver when there’s an issue causinga lengthy delay. If this problem happen too many times in a row, a blue screen of death occurs.
is there a way to use the unity fog but have it disable in certain areas or if something is clicked?
@tame dagger Wouldn't it be easier to just use particle fog in that case?
send me the thing coz i cant find it DX
Cant find what?
Omega ahhhhhhh what happen
^ resolved 😛
im getting a weird flickering effect when ambient occlusion is on in the post processing profile on my mirrors
@tame dagger AO is broken in this game and probably should not be used
It works best in deferred rendering and on desktop, but the game uses forward rendering and supports VR.
i love ao
AO in lightmaps is fine
it makes sthings so much better
Wrong rendering path and not VR optimized at all
and im the one you met inm vr before rokk
Frankly avoid anything that isn't auto exposure/eye adaptation, bloom, and color grading.
Ah, I see
If you're using PPS v1 you can also use slight amounts of film grain, but avoid in v2 as dithering already exists
i dont use any of that but thanks rokk x
MY MIRROR IS Z-FIGHTING with something that isnt even there/ what have idone someone help
You're uploading in Unity 2017 right?
of course
something broke but i maganged to move it .001 forward so its not z fighting anymore so i made a temporal fix
does anyone know if using occlusion culling in mirrors actually work?
Well I don't recommend it
It's very glitchy
Occlusion Culling works in worlds with mirrors, but you have to disable OC on the mirror itself
Or stuff will randomly disappear in one eye etc
so its very sickening for vr mostly?
It flickers on desktop too
okay
Just generally not recommended
hm
Most people use layers instead
They have special layers for the stuff that's only visible from the mirror (the world geometry viewable by the mirror)
And they hide the default layer from the mirror
okay i will try that thanks :)\
Generally I only show the Default, Player, MirrorReflection layers in my mirror and that gives good optimized results
You can go without Default entirely like some maps do
yes i have 2 mirrors for that
looking for help, trying to get a novel teleportation method to work
its kind of complicated and involves headtracking, raycasting, and multiple rigid bodies
but the gist of it is that I want to use my arm as the vector for determining teleportation direction
I think CyanLaser had something kind of like that as a world prefab...like an object you pick up with a laser on it projecting a red point and a teleport when you hit the trigger. Check his white city world ingame. it sounds like a cool concept though
I saw my name
Jetdog has a prefab like that, and he is the one that uploaded the city. It's probably in his prefabs collection on Github, the idea is really simple. Using the ProtectCamreaFromWallClip script as a raycast from the pickup object and on use teleport to the hit point. I don't think you can do anything like this on avatars though.
I did apply it to player tracking and on button press, teleport to where I was looking, but there is no way to get the hand location now that PropAPI has been killed.
Oh sorry it was jetdog :-p
It's just your name has laser in it haha made too much sense
ye u can't do that kind of stuff on avatars
@steel hornet Ya the problem with avatars specifically is the only known way to move is through controlled collisions with the mirror clone of your avatar. So you could make some sort of engine maybe that launches a rigid body away from and you causes collisions along a hinge attached to the rigid body you launched to move it in that direction, then periodically use an animation to reset the bodies back to your avatar. But it will basically be a collider flyer
yeah I talked to jetdog and got hte prefab
I also picked up a prefab from something called Toybox which has a player tracker
I'll draw a diagram
mainquestion is, do you want that in world or on avatar
in world
Could you explain what part of it you think is complicated? Jetdog has the teleport cube and toybox also has a very similar teleport staff. Both are just point in a direction and teleport there, which doesn't really involve very much. Just a trigger on the handle to teleport the player to the raycast position
I can't believe I watched all of that...
No rigidbodies necessary, still required to have a pickup for hand tracking and buttons.
You should look into "LookAt" and "FollowTarget" scripts along with the "ProtectCameraFromWallClip" script
hey quick question. Do I need to add a trigger for every function of the video player on the video player prefab itself?
you might need to restate that question, not sure what you're asking
Do I need to add a component for each trigger such as play rewind and stop on the VRCVideoPlayer game object.
Don't add multiple trigger components, add a single component and then multiple triggers inside it
And no, the trigger doesn't need to be on the very same gameobject
I'm making a PBR shader, how do I remove the "normal mapped shader without normal map" warning?
It seems to happen when I name my normal map property _BumpMap
But I want to keep it named that way for compatibility with Standard
I want to make a flat control panel thats basically akin to the menu of vrchat. Do I need 3d objects on the panel to make it work as buttons or can it be 2d?
Thank you so much
Can a Particle collide with the same player that spawned it (PlayerLocal if im correct)? I think I remembered that there is some limitations to that...
What function do I need to toggle to make my mirror to become active only when someone get close to it? I saw some world have it the mirror does reflect player until it get close to it, how can I do that?
those system are using a box collider set to trigger and have the OnEnterTrigger to turn the mirror on and OnExitTrigger to turn the mirror off
Oh isee, thanks, will try it
was vrchat forward or deferred?
Forward. @tame dagger
thanks
Is there a technical reason why Light Probe Proxy Volumes aren't an allowed component for avatars? Or is it just a "huh, I guess we didn't list that one as allowed/nobody ever used it" kind of thing?
Probably the latter
We can't have projectors on avatars either although we can have lights
is it possible to constrain one objects rotation to the rotation values of another object
like some simple script that says "this object will inherit the rotation of ____ object, even if they are not in a parent-child relationship"
Is it possible without scripting to make an in-game keyboard on a UI that will type in a text field? I can use the method string text, but it doesn't append. It overwrites.
Yes
You can call the Append method. It isn't always available from OnClick but I think you can fire an animator that runs on the same game object as the Text field and does Append ().
I don't have it in front of me but I was working on a synced keyboard prefab. I should finish that but I needed an animation for each letter so I was going to write an editor script to generate each letter
For animators, there are new tricks for triggering same frame animator events in fully synced (and buffered) by firing Update() and sending stuff through Inputs
Does anyone have a really good shader for Gaussian Blur?
Also mention if you are asking for world or avatar, what performance requirements and how do you intend to use it
Anybody know how particle subemitter/collisions work?
Oooh awesome thank you!
or maybe why my particle system works in unity but not in vrc
Thanks for the tips Lyuma
@vagrant vigil particles don't work in mirrors
And subemitters are sometimes unreliable in VRC
I have an exploding missile that doesn't do anything 50% of the time
Debug with alt account watching you
Must get second computer
I really need to debug without relying on strangers
if it's a world, you can do a local test with multiple clients
If it's an avatar, you can use world local test to launch 2 clients and then go from there
Hmm, I never actually got that to work
It changes and improves slightly every update. Current update actually works very well
The thing is my main particle works in the camera/mirror of Avatar Testing fine, its just the collider and subemitter that seems to break when moving into vrc
I cant see it, the camera/mirror cant see it, but I havent tried another client yet
screenshot of your collision and subemitter tabs @vagrant vigil
Ill send it when im back at my pc
But im using a trigger module on the main particle system, which when outside the collider on another part of the avatar kills the particle. Then the subemitter waits 0.2 seconds after parent spawn to spawn itself, but that only should happen inside the collider due to the parent dying otherwise. The subemitter emits in a single burst of 1 particle every .5 seconds. The collision boxes are activated with the same gesture as the particle system group
if the trigger collder is on hands then it has to be on fixed joint to work properly
yes
Ive added joints and rigidbodies to both parts different ways and it either cant be tested because they move unpredictably or doesnt work
Ive followed the steps on the prefab im basing mine off of (Yash Particle Keyboard) and followed a tutorial (Phasedragon's particle trigger) and I still cant get it to work. The particle part works as the trigger tutorial shows, just not in game. I have yet to see the keyboard work for me.
fixed joints have to be active at all times
keyboard is pretty much a waste of your time to type 🤷
better use emojis for that
i already write with my pen so I figured might as well be legible all the time lol
it was in fact the joints not being active, ty for your help
looking for help on a novel teleportation mechanism - made some progress but stuck on some stuff
explanation video
Rogurs stare at Udon turning slowly in the microwave
Thumbnail tools coming along nicely
The plan is to be able to save camera settings and position, facial expressions and poses to a file so you can have presets for everything
And never have default unity skybox thumbnails with the camera on your crotch again
Crotch 
unless that's what you want 👀
for camera position and text, my simple approach is I drag in a prefab I made once and then drag vrccam into it and reset position/rotation. But posing, facial expressions sounds is a challenge. And skybox. Sounds nice 😃
Um.. VRChat doesn't have any animator syncing capabilities (I mean, without writing your own), does it?
it does actually, vrc animation sync
Oh, cool.
two exceptions: it can't sync non-looping animations, and if the game object ever turns off it breaks
Oh.
Well, so much for non-looping, because I don't want the same animation event calling over and over.
you can just have it so once the animation ends and goes into an empty state, or a state that's just the last frame of the animation so even if it loops it's not noticable
Yeah, but it makes my animators really messy.
And it's in a mess. It doesn't need another layer of complexity.
I'll just experiment.
Can I mark my stations in my world as static without breaking the interactivity?
I would like to batch them
Yeah that won't affect it
Although depending how it works, the batching might break the interact outline
i'll try it out
Anyone have a better Transfer Motion script, it only limits between 0-1 I need exponential movement
Not fractional
What do you mean by Transfer motion script? Is that a specific script or are you asking for different ways to copy motions?
Put an animator on the fixed joint object, tick "apply root motion" and give it any controller
Yeah
fixed joint object has to be disabled, at 000pos/000rot and a child of a parent that has animator that resets rot/pos to 0, with gesture disabling animator on parent and enabling the fixed joint object
I'm having some trouble keeping animations consistent for multiple users
i'm not quite sure if i've set up my triggers incorrectly or if i can't rely on animations for certain things in worlds o.o
has anyone else had issues with users seeing the same object in different states?
if you're using an animation/object sync and the object is ever turned off, you're going to get some weird behavior like that
i seeee! that actually makes sense!
actually it doesn't need a sync, turning off an animator at all will do weird things like that
oh. i don't think i ever turn off the animator
just some subobjects
i was actually thinking that it might be related to how i trigger animation changes.
sub objects should be fine so long as the object with the animator itself isn't turned off
hmm.. well, that might be the issue! though i usually take care to reset everything
thanks for your help igbar.
though i'll get back to you if it turns out that it happens for another reason :9
because i'm firing AnimationTriggers using the OnPickupUseUp and OnPickupUseDown events. i feel like that might also be prone to glitches
uh oh, is this on a pickup? Is your object sync on the same object as the animator?
why did my message not send reee
let me try that again,
"uh oh, is this on a pickup? Is your object sync on the same object as the animator?"
Has anybody figured out how to set an animator Float parameter from the value of a UI Slider, or an equivalent sort of analog input? The closest I've seen is toybox's SliderControl prefab, which works by abusing the Third-Person Character script and Suspension scripts in standard assets along with some configurable joints to set a float parameter named Jump in an animator from roughly 0 to 1. It works, but i feel there's got to be a simpler way
i did find out you can almost do float math by calling Animator.Update() with a positive or negative delta from a UI button to affect the animator playback head relatively, and then set an animation parameter inside an animation clip itself, but Animator.Update() also affects other layers in the animator that you probably want to play, so it's not quite there
@twilit haven yes that's roughly as far as I got. To set a specific value instead of adding, you can call Rebind() to reset the animator to the beginning and immediately Update(floatval) but it will have the problem that it only works with one layer: so you would have to stack game objects each with a one layer animator. Hardlight is working on a new synced int parameter that works in a much cleaner way...I'm not sure if it can be extended to floats
@proud meadow are you talking about the cookie clicker counter? That functions off of floats
Yes that's true - I was tired and my previous answer was quite incomplete. my question was can you add a float to @dull umbra 's cookie clicker from a slider and I think you should be able to: the cookie clicker animator does not use time, so you should be able to set update rate to 0 to freeze time (was missing that important detail). Instead of using rebind maybe it is possible to use Play to restart just a single clip...haven't quite gotten anything to reset to 0 without rebind . then you can call Update to input the float slider and call the Set trigger to force a set of the float value.
Regarding arbitrary syncing of a float value but not handling ownership switch, I have successfully tried a trick where you have the owner swap out to a different RuntimeAnimatorController that sets a param based on time, and a VRC DataStorage to send this parameter to the other clients using the original animator controller. So this trick could also come in useful. Haven't worked further on this. @near bronze @twilit haven
@proud meadow hmm is the cookie clicker available as a prefab somewhere, or an explanation of how it works? thanks for the explanaion on Rebind(), I didn't know that also reset the playback of the animator, useful
Not sure if HardLight wants it spreading before it's ready for release, but the main part of it is using VRC_DataStorage to send animator values for syncing only. Data storage only works when two players are connected so you can't depend on it for main logic. The rest of it is a blend tree calculator that given some inputs, modifies its own parameters, and sets a float value.
@twilit haven I'm still working out a few bugs, but I'll send you a link to the test build.
By the way @dull umbra, did you ever test with multiple TriggerRelays? I noticed if you had more than one in a scene, they will fire at the start.
On a tangent, is there a way to attach gameobjects to parts of the local player's armature (assuming humanoid), namely the hands/wrists?, through the hierarchy, not a vrc_pickup
You mean for OnDataStorageChanged? Nope, never tested that.
or more to the point, getting the equivalent of a onmouseover on a collider, with avatar hands
Not any more Hiina... PropApi was killed recently
rip. well, there's always udon soon™
@twilit haven you can use Animation Triggers (intended for drawing UI) to get mouseover events . I set up an animator that uses an animation event to call Click () on hover
So if you want to detect it you make a simple ui panel with a vrc uishape and inside a button that is full screen and has this animator on it.
Just realized there’s not a particles channel, but was curious- does anyone have recommendations as to the best way to create this effect? https://youtu.be/csu8MofSL4Q
Assuming some kind of particle system but not sure what settings would be the best for it/what types of particles to use.
that look like a smoke but instead of smoke textures - circles 🤔
black circle as a particle, do size over time and then emit volumetrically in a sphere or something similar
then move the sphere around
no idea how to create the outline around it
Hey I'm not sure if this is the right place to discuss this but I'm just curious if the any of the VRChat devs are working with eyetracking
@steel hornet @warm niche could probably throw a toon shader on the particle and use that shader’s outline system
Ooh thank you guys! I’m going to try these when I get back home from work and see how it works- do you think the outline of a toon shader might allow them to blend like they do, where the outline changes based on the particles being close together? :0
So, I got this basic crank widget working that fires discrete events as you turn it clockwise or counterclockwise, a short video: https://a.hiina.space/turret-traverse.webm . It's pretty satisfying to use in VR (and at least possible to use in desktop with some mouse waggling), but for some reason, the isTrigger colliders I have set up on crank for its operation stop firing OnEnterTrigger events when the whole crank is hinge-jointed to something other than the world... I think. I still haven't isolated the problem entirely, but the red and green boxes in the video along the sides of the crank should be what fires the OnEnterTrigger events, when collided with the crank. Physics layers and stuff appear to all be kosher. The identical widget just stops working when I change the hinge joint connected body from None to some other rigid body. I have this vague sense that the isTrigger colliders somehow detach from their gameobject, which i've seen in other situations with hard-to-press OnInteract triggers (canonical example being the buttons on the vrchat camera). I dunno if that's related to whatever if breaking here though.
that crank is moving through worldspace
maybe try testing it with having the crank be exactly in the center of that larger object
anyone here familiar with sync video players?
@silk horizon not an expert but I understand most of it, what are you looking to do?
Can you still read key presses to trigger custom animations as per: http://vrchat.wikia.com/wiki/Trigger_animations
... or has that been deprecated/completely removed? I don't see any of the components here in the whitelisted components page.
Basically, any way to call Animator.SetTrigger(string) on your own avatar that will sync with other clients?
Neither is VRC_Trigger whitelisted in https://docs.vrchat.com/docs/whitelisted-avatar-components
@noble folio none of that is available for avatars anymore. The current system is called gestures, for quick actions like finger point, thumbs up, or manually replaced with something like holding a sword. If you look up how to do vrchats gestures you should get some good video tutorials
@near bronze Is that the gestures in the emotes in the 'emote' (not 'emoji') menu? Or completely different?
Hand gestures
On desktop done with shift+F1-F8
In VR done with touchpad or with your actual fingers
So no full-avatar controls anymore?
Emotes are full-body static animations that you get stuck in for a set period of time, like dancing. Gestures are things you toggle on and off freely
I mean I was thinking of controlling with your usual Animation Controller that you'd use in a standard Unity game, and inputs is your WASD (movement) and any other free key.
You can't set animator parameters, so the usual logic does not apply. You can still put animators on your avatar, but they'll be limited to linear paths.
At least for avatars. For worlds, you do have a lot more options. You can set parameters with triggers and take full use of animators from there.
I know about worlds :) - Been trying my hand at creating complex systems.
Waiting to hear back with the job application, so that perhaps I could do the features that other people have been asking for..
I got a boss battle in the works...
@stable hazel i was having issues with twitch streams, youtube seem to still work
I attempted to make a rowboat in vrchat, using the usual vrc_pickup and configurable joint force combo for grabbing. Couldn't figure out how to actually make the paddle propel the boat effectively though, as well as the fact that the vrc_pickup exerts force by itself. If anybody has other ideas for how to do rowing mechanics within the confines of vrchat, i'm interested to know. video: https://a.hiina.space/boat.webm
@silk horizon the stream player is honestly some black magic that I have never gotten to work consistently, especially because your rig actually matters. If you're running anything lower than windows 10, the stream player pretty much doesn't work. If that's not the issue though then you might want to try different twitch channels until one works. But it's honestly still a coin flip whether it chooses to work or not
i think it has to do with encoding settings tbh as different streams from the same source have seperate reactions
You might need Udon to get info on paddle speed and direction if inside boat's trigger.
And quite a bit of trial and error
Is there a reason VRC DLL files are not signed with certificate or they are and hackers are still getting around it ?
Not worth it.
Could prevent any injections though unless I misunderstand it
I would say it's worth it if that's the case considering 50% of the pub worlds have someone flying, stealing and logging others out
Would that even help? And is that even possible with the current network infrastructure?
isn't flying a product of people animating rigid bodies under their avatars?
colliders under your model make you fly
Yeah, you can see what triggers are being fired by viewing the log in real-time. Just press menu button + 3. Menu button is that 3 line hamburger button to the right of the spacebar
mmmmwwwwaaaaaah thank you so much!!
that's exactly what i was looking for, heh. i assume it won't look pretty in vr?
Nah it will, it's all curved and huge and you can get up close to it. If anything it's better in vr
gotta love those huge curves! thanks phasedragon.
Rokk from my understanding it has nothing to do with networking, it's not related
I only read briefly so might be talking nonsense but from my understanding they would need a server-sided 'caller' (server sided so it doesn't get altered by a user) that would check whether the DLL is original since last signing
It could still be modified by hackers even after signing but that check could technically ensure someone can't log in to game with DLL altered
That's a Stack Overflow answer though
If you can modify the DLL, then you can also update the check to use the original hash always
@uneven quiver yeah, that's what I mean with the networking
It would need an official "authority" to verify the DLL
And this authority would also require the power to keep you out of the game
Which might not be possible with Photon
You really just need to make your networking apis robust to bad data. I don't understand why photon has no server side checks for this stuff but this sort of thing should really be done server side.
Say you have multiple weapons on the same collision layer, but want each weapon to have seperate damage values, fire rates... etc. What would be the best method for variable storage?
it really depends on what you're using weapons for, but what you should do is give each weapon a trigger box that's different from its physical collision, and then use OnEnterTrigger to deal damage
It's PvE, currently I have the enemy check OnEnterTrigger with the weapons though, because I feel like multiple enemies would lead to requireing more trigger boxes as well
ah that makes it a bit harder, so the AI enemies would need the OnEnterTrigger and be looking for the different weapon collision layers, but you don't have too many spare layers to work with. You might be able to use the FollowTarget layer stacking to use more but it might be a bit wonky
I was thinking about having a custom triggers on an empty game object that would then receive that "Weapon X was picked up" and then enable another game object's vrc_Trigger script. (locally) then the enemy would collide with the weapon, and activate a custom trigger that a bunch of these game objects shared, but only the active one, the one the player is holding, would send back an always trigger to deliver the custom damage value.. Just awfully tedious
that actually would work pretty well, the only issue you might have is that if you're spawning the enemies, then the reference to the customtrigger won't work unless you do it as a dynamic prefab
Yeah, If it's possible to spawn an object as a child, I could probably get away with different enemy types still using the same base Ai that would run collision checks, maybe use an animation to change collider size depending which enemy type is spawned
I'm awfully new to using Triggers and not Code, so It's hard to tell what is the best way to handle this stuff. I think I got the right idea now though, Thank you! @stable hazel
honestly you already had it figured out yourself, best of luck on it though
One more thing, now that I think about it. I want my enemy AI to follow the nearest player it can find, and display chasing the player to everyone. I have been to some worlds where the AI is local, so I thought I would ask about it and see what method works best to get it to chase everyone correctly
By this, I mean if someone gets closer to the enemy than it's current target, it would switch to them
you might want to look at Fionna's pet AI pack from the prefabs database to get an understanding of how to use AI and sync it. The basic idea of syncing it is to give it an Object Sync, and then have somebody take ownership of that sync. So maybe you'd put a trigger sphere around the AI that when someone enters it, they take ownership of the AI's object sync so that it will chase them
That seems reasonable enough, I haven't played with Ownership yet
before I left for work, I had also noted there is a Trigger option for data being changed or something... What kind of data are we talking about? I'm curious about it, but I am not home to look into it
I haven't touched data storage at all yet but that's okay because Cyan's right here to explain it!
So... thanks to network latency, I feel it is hard to do a proper transferable targeting system. I know I was able to do it for the mini Freds in WaL, but I had a distinct event to know who to target (Hit by arrow). Having it be closest player means using colliders for detection and then sending out a signal to everyone that it has transferred, but in that time, someone else could do the same thing and now you need to figure out a way to make it so that one player "wins".
lol, thanks Igbar
There isn't much we can do with DataStorage yet. HardLight did some testing but it only works when there are multiple people in the instance, so you cannot depend on it. The only thing it has that we can use is animation parameter forwarding. Basically, you can specify a value in the data storage to be synced with an animator and then you can use a trigger to use that value to send somewhere else. An example would be his cookie clicker sync which just broadcasts the value that master had to everyone else so late joiners synced to the proper number.
And that was Cyan with this week's weather. Coming up next: a dog wearing a hat. Stay tuned.
@rose hamlet If you get the enemy behavior and weapons layers figured out, let me know
currently I'm doing something similar and I have to have a different layer for each weapon type
so im building a recording studio and I am making my props and assets by hand and im having issue with light baking where I get this https://imgur.com/a/REBW5TD What do i need to in blender to get my assets to have a proper UV map for lightmpping
Figured it out, just made another UV map called UV2 and used smart project unwrapping
You can also let it generate lightmap UV's @open lion
thats the problem when i used unitys generator it looks like crap
I can show a example in a secound
in blender edit mode select all verts and press "U" unwrap , view this in the UV image editor
for space between UVs to not waste space in Unity try setting the space between UV charts to 3 (3/512 = 0.005859375) Unity default light map size is 512x512 .. use UVs dense as possible into smallest area as possible .. also make the map as flat as possible
If your using Bakery for light maps don't generate UV maps importing the FBX as its a bit different and will mess your bake up a bit and make redundant maps that can add up on memory
what do you mean by the spacing do you mean the margins when i so smart uv project
on the edit mode view tool bar near the bottom find "Unwrap" look for "margin"
@open lion did you tick Generate Lightmap UV's in the mesh though? In the import settings
Because if you have no lightmap UV's of your own it will just plain break unless you tick that
I unticked it before i replaced the FBX
I still have issues like this even after manual UV2, at least now it looks more normal and not random dark patterns https://imgur.com/a/Kp2QB7Z
This is what i got before when i used Unity's generator https://imgur.com/a/8bWBsHx
best to get it better in blender first make it flat with no overlaps , also remove double tab in the mesh tool again in edit mode tab tools
hum thats a very complex mesh ok
didnt find the margin thing yet and I know there are no doubles sense i made it lol
Its pretty simple, Its supposed to be dampening foam
the margin option is only viewed when you first click unwrap
its on the side tool bar area below the tabs
but you can only see it when you first click unwrap
ok but i cant set it to 3, 1 is the max
0.005859375
you may need to add mark seams on the object to get it flat
thats in the shading-UVs Tab
use unwrap for best results and work with mark seam
if you use projection type it will overlap stuff in the back
it can make it hard to color also
mark seam? I know it will overlap but thats inside the wall
my UV1 map does the real texture
ah just looked that's not bad but shrink the size , that is in the UV edit window tools tab
?
e edges could be pulled in from the sides just a little
so they are not so close to the edge of the maps
but that's basically it
still dont know how to fix the random black spots on them from baking though
if your still issues after this may need to look at light probes
and reflection probes
how should i place my reflection probes that i dont understand
I have the whole room full of light probes
check in lighting group #world-lighting look for Mr. Xie's manual to start with
ya i read that and still dont know what its talking about
use box projection set the box to size of the room just a little into the wall but perhaps not all the way thru , move the probe around even try placing it a little overlapping in the wall
suggest you take the lighting questions to lighting group you will get better support
anyone know of "VRC_IKFollower"? and if it used for world particles?
Yes, but it's not very good because it follows wrong when you walk around. Rigidbodies and joints work better
is there a tutorial on that? i cant seem to find a good one
the IK kinda works, but its not where i put it, its like stuck on the joint
i have final IK but not sure how to use it either >.>;
1: put a rigidbody component on the bone you want to follow, like your hand. Turn off gravity and turn on kinematic
2: make an empty gameobject inside it
3: drag that gameobject out to the root of your avatar
4: put a rigidbody on that gameobject, disable gravity (leave kinematic off)
5: put a configurable joint on that gameobject, set the target to the bone you want to follow, and then change all 6 axes from free to limited
so 4 then?
Yes
okies, im saving that post to use, thanks
anything you put in there will follow your hand properly and world space particles will work
If you know a little about nginx and hosting webservers, I wrote up a guide on how to get a rabbit-like experience (more like a private twitch, though,) experience for VRChat. https://github.com/kayteh/VRC_HLS/blob/master/README.md
Just if you like watching stuff with others in VRC but want to look at literally anything, not just YouTube or Twitch.
is it normal to crash unity every other upload?
no
so why it happen?
future proof publishing will usually crash unity for me
might be doing the same for you
what does that do, and can i turn it off?
it mostly just crashes unity, it's practical use seems to no longer be relevant.
In the settings panel where you log in, there's a tickbox for it.
does anybody have any pointers for "painting" particles on surfaces of worlds? for example shooting a gun and leaving a bullethole that isnt just billboard/preset angle but will actually sit on the mesh that it hits. i've seen it done several times now and i believe its a shader, but i can't find anything that works, or any info on how it's done. my search has lasted months now.
I have a canvas that spawns with a prefab; I need the canvas to follow an object while being slightly above it; and also constantly look at the player. I am using Follow Target and LookAt Target scripts from toybox, but it doesn't seem to be doing either of these things at the moment. If I disable the animator, the canvas will follow the object, but it still refuses to look at the player. My canvas is set to world space. Anybody know how to make this work?
Does the animator animate the position at all? And did you leave lookat defaulted to 0 rotation range?
LookAt has full 360 in both X and Y fields, the animator only changes the scaling and position of one of the images inside of it, to serve as a health bar
Oh you want the spawned prefab to follow a separate object that's not spawned?
is that correct?
No, it's part of the same prefab
It's a parent that contains the object and the HP bar, but the object moves freely from the parent, which just contains them
Ok, and is the playertracker also in the prefab?
Player Tracker isn't in the prefab, but leaving it blank is said to make it default to the player
Eh, sort of, but it's not consistent as it might end up targeting any player
There's a copy of the prefab that exists before spawning, which still doesn't work
You should put the playertracker inside the prefab. Prefabs need to be entirely self contained, they will lose all outside references when spawned
I suppose I could make it follow the playertrackerhandle and see if I get better results
I'm worried it would stack a lot of player trackers on someone over time
Though then again, I guess they could be destroyed with the prefab when it's no longer needed
I haven't seen any adverse effects with multiple player trackers. Not sure if there's a limit or anything
I'll give it a go real quick and see if it does the trick
http://prntscr.com/mbeof5 No luck
That should've worked. You made sure you applied the new prefab and everything?
What's the lookat look like
http://prntscr.com/mbepcv I realized I forgot to untick auto target player, I'll give it another shot
Oh, don"t look at playertracking, look at player handle
Handle is the one that moves, tracking is just the parent
Also follow speed is the opposite, 50000 means it will take that long to get there. 0 would be instant
also if you want auto target player to work, check out this canny https://vrchat.canny.io/feature-requests/p/only-the-local-player-should-be-tagged-as-player
http://prntscr.com/mbeqyj Set the value to 0; they all kind of seem to be looking at the floor in front of them now
is auto target player still checked?
It is not
do they move with the player, even if it's incorrect?
They do move with the entity it's attached to, It's an HP bar for a PvE target
What I'm asking is, is the lookat target not working or do you just have the objects inside the lookat target facing the wrong direction
The direction is correct, I was just showing the side view to display that it wasn't functioning. I just did some troubleshooting.. Currently it is following the prefab player tracker that we gave it, from there I realized I was making the wonderful mistake of having it follow the tracker and not the handle, everything works as intended now. Thank you @near bronze
Is is possible to have a spawned prefab obtain information from an outside source?
At the moment, no. You can however use object pooling to achieve the same thing, the only difference is that the object already exists in the world and is never spawned
Or maybe you can with dynamic prefabs. Been a while since I’ve done it
Dynamic prefabs can, yeah. They're a little annoying to set up though. When you do, you're not actually making a unity prefab, you assign a gameobject to the scene descriptor and then you can spawn that object by manually typing in it's name in debug mode into a spawnobject trigger
Dynamic prefabs are annoying to deal with because they mess up triggers inside them though. Iif you have one gameobject trying to modify something on another gameobject, like setcomponentactive, it won't work unless it's a direct child. Custom triggers work, however, so in most cases you have to activate custom trigger just for that trigger to do what you actually want
Alright, so I'm making an interactive dungeon/labyrinth map where one player controls the dungeon (spawns enemies, sets off traps, can close off paths, ...) and the rest try to get to the end of it. It's more a question of design than execution but do y'all think it should have compatibility with late joiners or should it be more party based?
Getting stuff working for late joiners is kind of a pain, but if you properly manage spawned and destroyed/reaped objects it should be doable
You have to buffer basically every broadcasted trigger
And some of them have to be buffered, not buffer one
@dim owl That sounds really awesome. Having a really large avatar for the DM to switch to would be fun for VR users: you would be able to look over the whole map and see the tiny players running through it like lab rats as you exert your power over them.
The dungeon master is actually going to have a room with a bird's eye view camera showing the whole labyrinth. The render texture will take up the floor of the room and have buttons where the doors and traps are so they can run around and track the players. I might also have some cameras inside the labyrinth that the dm can scroll through by having the animation int hooked up to different render textures.
I probably will have it party based so I can have more freedom with events like puzzles and stuff.
I want to have a non-prefab object assign an animation int value for a prefab object through a trigger. However, I want this to apply to all later spawned copies of the prefab, how could I achieve this?
If you want it to apply to a spawned object, then you need to have the spawned object be something from the scene to get a reference. If it is from the scene, then you can send messages to it (although awkwardly). If you want them all to get the same message, then the physics/collider version of message passing will work.
You spawn an object, it then moves a collider to a fixed location using follow target. You then have an animator externally sending different layers to that location so you know what to do in the spawned object.
Oh, 8 hours ago... @rose hamlet
No worries @summer berry ! I just recently woke up.. I do have a copy of the prefab in the scene initially, so this should work. Would it also work in reverse, though? Could I have the prefab connect triggers to non prefab objects?
And if a non prefab object sends information to the prefab, would it send it to all of the prefabs, or just the one copy that it sends to?
So, prefabs can reference things out of it, but nothing can reference the spawned object.
If you use the physics messaging, it would be the same for all as every prefab would react to the same collider
Okay, so I have a system set up so the room can identify which object is being held by firing a custom trigger to multiple objects, but only the one vrc_Trigger related to the held object is active to send anything back. If It sent information to the prefab on stage, would it be able to update all of the prefabs, or is it the same concept where It just wouldn't be able to connect to the spawned ones?
@tawny galleon i think most of the decal techniques people use in vrchat are using triplanar mapping with world coordinates. https://github.com/netri/Neitri-Unity-Shaders World Triplanar Mapped.shader
Unrelated question, has anybody figured out how to make VRC_pickup objects stay with the player when the player is moving at high velocity, e.g. in a vehicle? By default, they just start jumping all over the place, e.g the handles in Testrun Jetpack
Was going to try a few ideas myself, but maybe there's an existing technique out there
If they are local pickups anyway and you don't need object sync, what happens if you put an animator on them with apply root motion?
hmm, you mean just stick an empty animator on them with that checked?
Yeah the same trick that helps for stability with fixed joints attached to your avatar
interesting
How stable is the player camera tracker. Another option is to add fixed joints from the pickups to the player camera follower and then do the animator trick
yeah, i was going to try parenting to the camera follower
making a test world now, i'll report back I guess
no luck sadly. The root motion with empty animator doesn't seem to have an effect off or on. Neither do the interpolate/extrapolate modes on the rigidbody itself. Reparenting the pickups to the PlayerHandle or Chair itself doesn't help either, though it changes the.. origin of the pickup object wiggle from around the hand to around somewhere else
i think however the vrc_pickup script works just isn't updating the transforms fast enough, no matter what the hierarchy parent is
even the VRC_station script has trouble keeping your butt in the seat at high velocity
oh yeah, they fixed it but then it broke again
Maybe not rigid body/animator on the pickup itself but on a child of the pickup with the mesh renderer. For the actual pickup you can use a trigger box collider and the blue outline might be jumpy but at least the child fixed joint should be locked to the camera while active
Basically thinking vrHat at this point.
@twilit haven i was thinking so too, but i have tried these shaders and they don't produce anything like the desired effect - in fact they all seem to just be completely broken for me. i'm almost certain that i'm just missing something, but i have no clue what and i've only ever seen it done in-game twice for some reason. so chances to ask have been severely limited
@tawny galleon what does the triplanar shader look like for you, just sticking it on the material for a particle system? it should at least basically work, in a scene/in-game, as long as there's a realtime light somewhere in the scene so the shader has access to the normals
the other technique for decals is using Projectors, which there are example's in jetdog's prefabs for. I don't think you can use them with particle systems though
the decal either tiles across the object, or spawns on the same part of the mesh regardless of where it hits
depending on the shader
i've tried a few at this point and they all are broken similarly
hmm, iirc the tiling part could be fixed by changing the texture wrapping settings for the texture you're using, dunno about the same part of the mesh bit though.
am i supposed to be using vertex streams with these shaders or something
they definitely do not work out of the box
er, with that Neitri triplanar shader, no, it should just work. main thing it needs is directional light
i'll see if I can make a bullet hole decal with it in a bit
hmh. it does work if i put it on one sphere mesh and then rub it against another sphere
but when i try to use it on particles..regular particles or even sphere mesh particles..it just totally breaks
well, thanks for info and help, if it's supposed to work out of the box at least i know it's probably something i can fix that i'm doing wrong
it is a grabpass shader, so it only applies to the geometry behind the mesh, camera-relative. for the particle system i set up, I had a regular particle with collisions on that spawned a a single-particle subparticle sytem with the shader and a cube mesh
yeah, i have a similar test setup right now, just a subemitter on default particle system spawning 1 particle bursts of sphere meshes with the shader on it
ah, @tawny galleon i see what you mean about the weirdness with the texture either tiling, or just papearing in a weird place. I can fix the tiling by turning the Wrap Mode on the texture to "Clamp", but then the decal only appears on what looks to be the axes of the origin
does work fine for regular mesh renderers though. I'm guessing that this bit of the shader o.modelCenterPos = mul(UNITY_MATRIX_M, float4(0, 0, 0, 1)); doesn't work for however particle systems work
i'm pretty sure the technique the shader uses can still work, but it's outside my shader knowledge how to modify the "center" of the triplanar mapping to match the center of the meshes the particle system uses
For particle systems you may need a custom vertex stream to expose the position of each particle (otherwise world particle systems are always located at 0,0,0)
Um.. Is there a method for quickly getting blueprint IDs as placeholders?
This tool creates links to worlds inside of VRChat
http://thegreatpug.com/vrchat-link-generator/
@quick heron I meant avatar blueprint IDs without having to get a blank avatar, build, copy ID, detach blueprint, repeat.
I don't know if this truly belongs here, and tell me if it doesn't, but I'm trying to figure out how i could have only a part of a texture translucent (blush) but still use shaders that look like Cubed's shaders. Anyone got any tips?
You might have to write your own shader, or find another shader that supports transparency.
Does Cubed's shaders even support transparency?
I don't believe so, i was wondering if there was an alternative that does
@open hedge Cubed does have transparency
just use drop down to selected cutout
under /rendering mode/
Oh right, yeah it does. But i'm needing translucency, not pure transparency
Cubeds does have transparency, but it's notoriously buggy/horrible. i've been using poiyomi's transparent shader for now, and it works really well for what i use it for - you should give it a shot @open hedge
(not referring to cubeds cutout btw, referring to actually transparent)
Yeah, literally any shader that isn't cubed's will support transparency properly.
@tawny galleon I hope that's not poiyomi master transparent :P
His later iterations (Poiyomi slim and poiyomi toon) are good, but master has some issues that will cause issues for other people
I think Cubed's lite has a separate transparent shader that works
But they might as well remove the transparent and fade modes from the regular Cubed's IMO
it is @drifting egret , and i'm aware, hence the "for now", i cant find anything that works as well. does slim/toon have the same nice transparency?
Yes
Noenoe Toon Transparent also has good transparency
But if it's the transparency part you're worried about, I think a lot of shaders will have what you're looking for
Noenoe Toon Transparent has transparency with ZWrite, which means it also works really well for stuff that is partially opaque. It won't look inside-out.
I think poiyomi does that as well
hmm..i guess i must have skipped over trying noenoe's somehow :S
i just vaguely remember trying a lot of toon shaders and running into issues and settling for using poiyomis for some reason
Well it doesn't really advertise itself as a toon shader, even though it's (IMO) one of the best and most reliable ones out there
Most people know it for the overlay stuff, but that's been separated a little, a while back
Well thank you for the tips guys, really appreciate it
Um.. I can't find any information anywhere about in-game keyboards that work in the worlds... Are those still not released for public yet?
that's probably a prefab, not sure if it's in our database or the japanese database though
Yep.. Pretty much slotting new UI elements into a UILayout, and a bunch of collider trickery.. I guess no in-built way then :(
Hoping to having to avoid making a bajillion prefabs and manual branches in animation controllers.
I have a sort of unique problem I need to solve. I need an object to copy another objects rotation (which I already know how to do) but I need it to transform those coordinates to the object's local space. Is this possible in a world? I have been tinkering with things but so far have not come up with a solution.
for reference, this is an example of what I need to happen: https://i.gyazo.com/90ff9911145b75ad2d040ccc28a0f362.mp4
Assuming im taking what you're asking correctly, you can make an object follow another objects simply by making the receiving object a child of the other one.
unfortunately that is not a solution to this
because then the child object is rotating on the wrong axis
basically I need to copy the rotation, but offset it on the y axis only, without effecting the other axiis
I wish it were that simple lol
to clarify, the two objects will be completely separate, neither being under the other in the hierarchy
I'm using Autocam from standard assets to copy rotation, problem is that autocam applies rotation in world space, not local space
have you tried making the autocam object a child of an empty gameobject so that is copying the rotation in local space?
Other than remove doubles, which i have done, is there a way to delete all non-visible faces/vertices from a mesh? To basically expand everything to what is visible like you would in Photoshop.
this is in blender
There's a button at the bottom to also show stuff behind other stuff
Looks like two overlapping squares
right, wireframe mode
oh?
Something with the depth buffer
ah i see it
Wireframe works but won't allow you to actually select the other stuff
limit selection to visible?
i apologize, I'm still learning blender.
what i have is some one made a braid by using 2 objects and joining them together. The outside of those 2 objects overlap each other. I have used ctrl+J to make sure everything is joined but this does not seem to cause it to recognize the overlapped parts as "interior"
@drifting egret Thank you for showing me how to use that button. It has come in handy when weight painting. I can (de)select everything inside and out thanks to the depth buffer
Is it possible to have a tape (pickup/collider) that someone can put inside a player (a trigger collider) that will play a animation and then play a specific song that is attached to that tape? Please i really want this
Yes, it is specific object detection
any guides or videos on that?
Not sure. I know it's on my todo list, but I still haven't made one.
You can use layers if you only need at most 10
Or
You can do a "lifted" collider system to simulate layers
i was looking to have more then 10
Fionna used a good example to describe it. Instead of using the layer directly, imagine each object having a balloon attached. Each object's balloon has a different string length. This length is what determines which triggers.
Ohhhh i kinda get what your saying, what about people rotating the items?
The way I build the system is by separating the object and collider. The pickup can be used as normally but then you create an empty object with the collider and add a FollowTarget script with the offset equal to its length/height.
Make sure this following object also has a kinematic rigidbody.
i kinda follow what your saying sounds similar to player tracking, but i stoped using that because it would cause users to get kicked if 2 people were in a instance. may give it another go
I doubt that was the exact cause, but it is the same as I said with player tracking before but with other objects. You'll need to consider syncing things though since the pickup will have sync. Easiest way would be to set the onEnter to either local or MasterUnbuffered/MasterBufferOne depending on what you want.
Also, you should check the log for why the 2 people get kicked .
Ya i put the logs on here before and i dont think anyone could figure it out, I didint see anything that made any sense. Nothing that stood out
Is it possible for a user to enter a room and have there talk distance increased and everyone in the adjacent room talk distance decreased?
One way is have the user you want increased sit in a station, and locally teleport them near the local camera (maybe you can use configurable joint or something to keep them at some distance away)
so how does a texture file get converted into a .asset file extension in unity ?
@quick heron you can convert a Texture2D to a .asset object by using AssetDatabase.CreateAsset (myTexture2D, somePath);
It's a good idea if you want to generate half or full float textures for data storage
For standard non-hdr textures they have a function to save as png
(This would be done From an Editor script). Here is an example that converts mesh data to an rgba half texture in .asset format using a simple compute shader: https://github.com/lyuma/LyumaShader/blob/skinning/LyumaShader/Editor/GenerateArmatureBasedTexture.cs - it's probably not the bast way to do what I'm doing: int casting and rgba32 will be possibly more precise.
ya i have a few textures sent to me that are already in .asset format that i need to figure out a way to change them back so i can edit the textures adding more maps
ah thank you i just figured it out after ready this
Um.. Does anyone know how are you able to populate a UI with someone's name?
Not possible at the moment
Dang.. I guess the bowling world is using some black magic (unreleased; not publicly avaliable feature).
It's using a custom script in the world
We will get access to that info when Udon comes out
Is it possible to make a camera follow a player?
I know there is the player tracking system and I tried to attach a camera on there and activating it,
but apparently it activates the camera on every player and they only see their own camera on the render texture.
Is there a way to display one view from one person on one render texture for all players?
@silver ginkgo theres a system on toybox to local spawn object and make it global (in Minimap prefab), not sure if that will work great with render texture for everyone
How do I roughly profile how long it takes for my avatar to render? I need to do a quick shader comparison
It's two versions of a geometry shader I'm making
@tawny galleon if you're still looking, I figured out how to modify that triplanar decal shader to read the center of the particle to correctly orient the decal. https://pastebin.com/0eM7CkyM lines 36, 41, and 104 are the simple changes. You need to enable the Center (TEXCOORD0.xyz) custom vertex stream in the particle, then it should work.
@twilit haven !!! you're a hero. thank you very much!
Does configurable joints working in current version of vrc?
I never used them before, configuration seems working fine in unity but does nothing ingame
console log say's Deleting component dependency ConfigurableJoint found on *** so i guess no...
no, configurable joints work in vrc. But it sounds like something else on the gameobject is doing that, what all is on it?
just Configurable Joint and Rigidbody
screenshot of settings?
i did touch only highlighted ones in configurable joint
maybe not work with humanoids?
don't see anything wrong there, not sure what's going on
no they work just fine on anything
That deletion line in the log could be deleting it from your mirror/shadow/??? copy.
I am overdried it with an animation, sorry for bothering, everything working fine now...
Is there any way to bind an object to every player in the server? My map is going to have a top-down camera of the whole map and I want indicators above players' heads (only visible to the camera) so the person looking at the camera can track the players.
Check out the VRCPrefabToybox. it contains player tracking and a minimap, so maybe that'll help.
Is there a way to have backdrop that is seen by a camera but is not seen by a player. Basically i want to have the background of the view rendered as a image and disable reflections of objects
Look into how Layers work
any sort of starting point........
I recommend the Unity manual
Set your object to mirror reflection. It will make it so that you can only see it in mirrors or player cameras.
Thanks your the best
On an avatar, what's the most reliable way to only show something locally?
I'm thinking something with cameras but can't think of a reliable and performant solution
Do the render textures stay black for other people?
Do the stop action particle thing with playerlocal
then if someone else walks through you wouldn't they hit the particle and trigger stop action also for playerlocal
Head scale is still a good way to detect local player
Yes, if you leave the particle on permanently. But you could have a gesture to test for player local and do that once, then leave it be
Hmm I see, turn off particle but in a wsy that doesn't trigger stop action
Ooh I never thought of that, that's a really good idea
Or animate looping on
The head thing is a bit tricky- doing it right for something you do not want attached to your head needs some custom shader code and something like a skinned mesh renderer (fixed joints might be unhappy with head scale changing)
You could use head scale in addition to stop action in order to trigger any animator
Huh. Interesting idea. Using particle trigger instead of particle collision
So it is only you interacting with yourself
Like with head scale 0 it moves the particle into a trigger collider, which subemits a particle elsewhere that does stop action and animator stuff
Yeah
(1/1000, not 0)
Oh, interesting
When it was 0, it would cause weird geometry on amd cards I think
Yeah I've seen things break with scale 0, especially with bloom. That's what causes those huge white blots
If i lower the clipping plane of the main camera does that intern lower the render distance for the users view?
Yes, if the main camera is set as reference camera in the scene descriptor @open lion
The near clip plane is always between 0.01 and 0.05, but the far clip plane is adjustable however you like I think
thanks, i lowered it to 20 with would be the farthest it should ever see for a corner of a room does that help with performance. Mainly i did it to stop people from jumping into a room they are not allowed to be in
Hi Guys,
I'm looking for a way to give to a single player some privileges (Like a "GameMaster" so that he's the only one who can see some stuff or move objects around) but i can't figure a way to do whit only VRCScripts.
Any suggest on how to do this? ^-^
Thanks in advance :3
How do you want people to activate these privileges? Easy way would be to have a button that on interact, locally enables things. You can take it a step further and have it then globally turn off the button so no one else can press it.
Yeah, this is exactly how i wanted to do, i have already the panel, i know how to toggle it off forever after one player interact whit it, but the problem is how I'll recognize that player (or even those if the first "master" re-enable the panel) as a privileged one and let them pickup object that other players can't.
You are not really saying how you want it. The only thing we can detect about a player is if they are the current master. We can't detect specific people. That is why I said a simple button would be easy.
Ok, so let's do whit a simple button, I need to add the VRC_Trigger component on that GameObject and enable the Advanced Mode (Right (?))
OnInteract Local
-> SetGameObjectActive True "GameMasterControls"
-> ActivateCustomTrigger "Disable"
CustomTrigger AlwaysBufferOne "Disable"
-> SetGameObjectActive False "Button"
GameMasterControls trigger is of type Master?
It can be anything
I just named it that since they mentioned GameMaster. I assumed it wasn't VRChat instance master
Uhh, thanks again @summer berry :3
I got it and understood perfectly why this works ;D
I mean, I didn't tough that showing locally for the master some GameObjects would have done the trick ahahah
I'll probably fall in a future problem, show over the master head a tag or some kind of marker that everyone can see, but right now I'll try to solve by myself, so I'll not bother you ^-^
Thanks Again :3
If you have questions, this is the place to ask. Marking players is easy now that we have PlayerTracker and standard assets. Once the master items are enabled, they can take ownership and force it to follow that player
does anybody know how directional lights are removed from avatars even though the light component is whitelisted?
They don't seem to be removed on my end
Intensity has to be above 0 to be considered "active"
huh..
if i put one on an avatar, it just gets flat out removed
my avatar should be Poor just for having the light on my avatar, but my avatar is medium and Lights: 0
where did you attach it?
Lights on disabled objects don't count @tawny galleon
mm its definitely not disabled 😦
never mind, it seems to have fixed with a few reuploads. for some reason it was letting me do point lights but not directionals.
is there any way to stop the violent clientside shaking of an avatar object with physics collider on it? it looks fine for others but spazzes everywhere for the avatar wearer
@tawny galleon colliders for your own avatar exist on both PlayerLocal/headless and MirrorReflection duplicate copies (only the avatar wearer has these duplicates) which collide with each other. That may be causing the spazzing out you are seeing.
hmm, ok. i tried using layers to stop them colliding with player/playerlocal but that didn't seem to have any effect
@proud meadow you wouldn't happen to know if layers actually work for avatars? i didn't try it for MirrorReflection, just playerlocal and player, so if they actually have an effect it seems that's my solution
No they don't let you set a layer except for UIMenu. once you load your own avatar, it takes everything snd moves it to PlayerLocal. Then it creates a clone of the whole avatar and puts it all on MirrorReflection. From other player's perspective, your avatar has only one copy on Player layer
damn. i guess there is no way to accomplish what i am trying right now then. it did work on a distant patch, but then it started freaking out eventually
There are probably tricks to make something that works in a stable way. I have a theory that you can use the fact that certain objects are unsynced in a mirror to destroy parts of your avatar but only from MirrorReflection
hmm. from the sounds of it i either need that, or a way so that i can have colliders on my avatar that collide with everything but myself
just frustrating that it looks perfect for others but it's just unusable completely for me
Though you can't destroy your duplicate player capsule that's like 1.5-2m tall. So maybe you are colliding with that. One way to test is try making a giant version of your avatar by scaling up the armature and scale up the eye position in the avatar descriptor to match. Your collider capsule is always the same size so if it works differently, that's what you are hitting
about 7-8 months ago this never happened and you could hold your own objects with colliders and you + other players would see them smoothly collide with the world etc
i'm pretty sure it's my own player hitbox/capsule
i did try hold it as far outward as i could from my avatar since there's only a collider on the end of the object
but that didn't really seem to help, so who knows
Is It possible to make portals clickable? Let's say click an object and you teleport to that world?
@warm niche if not, you can try to teleport player to the room with portal and move player into the portal 🤔
Oh 🤔
SO I am making a elevator, is there a good way to move the elevator without player glitching on transport
Can you make an object that plays a sound upon collision with another object?
on enter trigger with a layer
like pickup layer
Let object to a layer like pickup. Set the trigger to OnEnterTrigger, change the layer in the trigger settings to trigger. Add a colider to where the trigger is and set it to Trigger
objects must have rigid bodies tho, to collide
Collisions can occur while the object goes through something, right?
oh you mean something like that
you'd wanna use phys sound
unless you mean it's something on an avatar
you wouldn't be able to do something like that on an avatar
I'm a complete noob to any of this, so excuse my stupidity.
I'm trying to learn Blender and Unity in case I get into VRChat, even with my lack of a VR headset.
How do I make a humanoid object walk after a player when the player goes close to it? Im trying to make enemy that walks after you and when you touch it , it kills you.
Check the ToyBox demo it has NPC, never messed around with it my self
Yeah I have the toybox thingy and there is a NPC folder which contains: NPC simple prefab, NPC path follow prefab, and a animation folder which includes a lot of animations but there are two animations that I feel like are the ones I must use: NPCLookatplayer and NPClookatrest. I have no idea how Im supposed to use these files tho
I've never done anything like this before
I tried to just drag the NPCLookatplayer animation on the enemy object but as I thought it wasnt as simple as that. the enemy was just stuck in that wierd pose where half of the body is under the ground in a wierd sitting animation
Getting npcs working and syncing is difficult. HardLight’s is the only public example I know of, but his still takes work to understand and edit for your use case. You would need to take the entire npc path follow prefab and edit it.
Yeah I understand it takes a lot to understand, But I really wish there was a place where I could learn this
Still looking to understand why my shoulders get dragged down in VRC once I add Final IK to my models. I'd also still like to know how I can correct it. Maybe I'm missing some of VRC's setting for the VR IK component. Because VRC's VR IK actually overwrites a lot less than you'd think after uploading.
It's something to do with IK execution order
Anyone take commssions for worlds?
You would have better luck asking in the VRCTraders discord.
@flat topaz depends on how much you want done
whats a good way to teleport multiple people at once? I would like a button that teleports me and everyone in the same area as me to another area, and I don't know what's the best way to do that
I was thinking just a collider that moves up that is a on avatar hit or something
but if anyone has a better solution, I'd like to hear
That's one thing you could do
Wouldn't an AlwaysUnbuffered broadcast type work though?
Oh, if you only want it to happen in one area you probably want OnEnterTrigger with an "Is Trigger" box collider. @signal linden
Broadcast type local in that case
Anyone know what the Relay VRC Trigger is?
Hey. I'm looking for someone who has audio engineering experience who I can bounce some ideas off of, to see what is possible or not possible in vrc in terms of music performance, from band performances to using custom built OSC instruments.
PM me, and we can talk further! 😃 Thanks in advance
Appreciate it @drifting egret I love your shaders btw, they're amazing
@ruby monolith I would want to see their prices and decide based off the prices
Hello, im new to discord
