#development-advanced

1 messages · Page 45 of 1

drifting token
#

You can't use scripts like that on worlds.

narrow snow
#

how come is not whitelisted
do you mean whitelisted by vrchat?

#

...
if yes
then how i can make my player follow way paths?

drifting token
#

Granted, the whitelist tends to be outdated.

sharp burrow
#

Use Standard Asset waypoint, that works

drifting token
#

^

narrow snow
#

can you name some whitelisted asset that can do that protocol
whit out vrchat limitations?

#

what?
a Standard Asset?

sharp burrow
drifting token
#

was just about to link that ^^'

narrow snow
#

so i can find some tutorial about that asset how to make waypaths?

sharp burrow
#

Look at the example scene

narrow snow
#

alright then will do thank's a lot
👍

autumn lichen
#

Thanks @proud meadow

near bronze
#

This is a prefab that shows one way of how to use the waypoint system. It makes an object look ahead towards a point further along on the waypoint circuit and then when you move the "speed" object forward on the z axis that will determine the speed of the waypoint tracker

hasty heath
#

yao: I actually have question for hackspanner but I don't think he's here. A while ago he contributed some code to the leap motion codebase for a "matcher" for gestures for the openvr driver for the leap motion Orion driver set

#

I had one for all of 3 days but I've been asked by someone randomly about it and sent them to the active repo. The question is, I wonder if that's even necessary anymore

sly cloud
#

So for the most part, you cannot use scripts inside of a VRCWorld right?

#

Because i need to know if there is a way i can make a gameobject follow the player

#

without scripts

trail jacinth
#

You cannot use your own custom scripts

#

but there is a few scripts that a whitelisted

#

Funnily enough you can do player Tracking without even using any non-native unity script

#

I have a prefab for that one second

sly cloud
#

mkay

trail jacinth
#

at the bottom of the page

sly cloud
#

hmm

trail jacinth
#

If you want to have one object follow another you can use the "Standard Assets" script FollowTarget.
Set a target, set the offset to 0 and voila. The object with the script now follows the target

#

Yep, that should be possible

sly cloud
#

I'll see what i can do

#

as of right now, the particles are being controlled by a script

trail jacinth
#

You can also just reparent the sphere to the PLAYER_TRACKER object

#

Well that wouldnt be possible then

sly cloud
#

hmm

#

mkay thats fine, thanks for the assistance though

scarlet pagoda
#

Hey guys... I've made an avatar with an inventory of items selectable fro mthe emotes menu using a method I thought worked... but which did not, and I'm now looking for the easiest to implement workaround.

Basically, I've made Ash Williams from Evil Dead. I have a chainsaw which is always on his right hand, and a shotgun, a beer, and a Jacksonville postcard on his left. I also have a bunch of audio sources and eventually I will have particles as well, which need to be triggered with various gestures, and which ones are played should be controlled by which item is in Ash's hand. And so that I do not trigger these sounds unintentionally, I want them to only be able to be triggered when I make a fist.

The way I set this all up was I was working on the assumption that an animation could swap the customoverride in the standing slot of the VRC Avatar Descriptor.

So I made four emotes: Enable Chainsaw (default), Enable Shotgun, Enable Beer, and Enable Postcard. And each of these animatons swapped the custom standing override for its own. Then I made four copies of the gesture animations, and for Fist, I enabled the item and a toggle in the root of my avatar heirarchy which contains all the audio sources for that avatar.

#

And the root of the heirarchy is set up like so:

Chainsaw Enabled

  • Audio Pull
  • Audio Start
  • Audio Rev
  • Audio Quote 1

Shotgun Enabled

  • Audio Fire
  • Audio Quote 2

Etc etc.

Then the individual gesture animations try to enable the sounds, but unless their parent is enabled by holding the fist, they won't play.

Anyway, none of this works, except the chainsaw which is the default, because it appears VRChat reverts the Custom Override for the animator and/or the Sanding Custom Override to its default as soon as the emote is done playing.

And I know inventory systems on the emote menu exist. I found one by Xiexe, but I don't know what their limitations are. Like they can enable objects, but can they enable more than one object so I can enable the audio toggle object as well? And will it swap my gesture animations, or do I have to make a single set of gesture animations which attempt to enable ALL audio sources associated with that gesture, with the control over which ones actually get animated being delegated to my audio toggle objects?

proud meadow
#

@scarlet pagoda Are you using Behaviour.Enabled toggles currently? or a different method?

If you're just enabling something in the emote, it's going to revert back to the old state. That's just how Unity Animators with "Write Defaults" work (and that's what vrc uses). That's why you need some sort of latching system like a Behaviour.Enabled toggle.

#

it will move things around a bit in your avatar hierarchy though so you'll have to reformat some of your gestures. not really a good way around the reorganization

#

or else buy an index so you can use the gesture locking system that for some reason only exists on index, and use gestures to turn stuff on

scarlet pagoda
#

I'm not using Behavior.Enabled toggles. I'm not even sure what those are... Unless you're referring to a special keyframe which disables the animator, which I'm aware of some methods using?

#

I guess I'll give that Xiexe script a shot, but I'm not sure if it's going to work for my needs. I'm concerned about the chainsaw for example. It needs to always be visible, but I also want to be able to toggle its behaviors. If I just drag it into that script I assume it will hide it. I guess I'll have to try it and look at whatever animations it generates and see if I can devise a workaround. Also it's clearly not gonna enable my audio toggles for me either, so I'll have to see if those can be added to the animations as well. And I guess I'll have to rework all my gestures to use a single set of them. That's a bit disappointing, because having unique gestures for everything meant I could animate the hands differently depending on which object was being held.

drifting token
#

Yeah no you can't override your animator lol

#

The descriptor doesn't react to changes at all. All that happens is the override in it gets placed as the root animator in game.

#

And even then it's just the animations in it.

scarlet pagoda
#

@drifting token You say the descriptor doesn't react to changes, but within Unity it appears to. The override changes when I play the animation. And in VRChat, when I trigger the emotes which have only a keyframe on them to change that slot, and nothing else, my avatar momentarily dips into the ground, so something is going on there. As for what, I don't have a clue.

drifting token
#

I'll tell you

#

The emote is missing all the humanoid bone references so the Avatar is defaulting to a "bike pose" as it does during animations.
Nothing else.

#

It doesn't make any sense to be able to override your animator by just animating the reference in the descriptor since it isn't even used itself just the animations in it.

#

@scarlet pagoda

scarlet pagoda
#

@drifting token "since it isn't even used itself just the animations in it"

That doesn't make sense. You can't use the animations within the custom override without accessing the data within it to gain access to them, which would be a "use".

Also, there are slots for both custom standing, and custom sitting animations, and VRChat swaps between these as needed. So it's clearly copying what's in those slots into the animation controller slot when you sit down and stand up. And it wouldn't make much sense for VRChat to copy that animation data to some new data structure when your avatar loads and access it only from there, so presumably it's pulling that data from those slots whenever it needs to.

Of course, something is clearly preventing my animation from changing what's in those slots, at least permanently. I suspect it is in fact changing them, but they're being reset back to the defaults when the animation finishes. That said, I can't prove that's what's happening. And I'm not sure it helps us in any way, since I suspect if I added a keyframe to disable the animator to prevent the reset, well that being the primary animator for my avatar, stopping it entirely... would likely be bad.

But what you say about the bike pose makes sense to me. Well, except the bit where Unity decides the best course of action when playing an animation that's missing keyframes for certain bones is to move them to a default pose instead of leaving them where they were. That bit makes no sense.

drifting token
#

I meant that the animator override cannot be updated in-game at all because all it's doing is loading the animations from it into the default controller once
It does indeed swap the animator itself but only when you sit in a station that has an animation override. Otherwise all that's happening is it's swapping between two pre-determined sets of animations depending on whether you're in a station or not. Nothing more.
I'd wager the additional controllers you think you're swapping to don't even get uploaded with the avatar.

#

@scarlet pagoda

#

This is coming from experience making my own override when it was possible and a not insignificant portion of the avatar community trying to find a workaround like what you're describing would be.
It's simply not possible because that's not how that works at all.

scarlet pagoda
#

Okay, well I downloaded Xiexe's plugin and I've tried that out and I guess I can make it work well enough for my needs without too much pain if I move my audio sources to be children of the props. Otherwise I'd have to try duplicating the objects and animations it created which may have hidden special keyframes I can't see so I can activate my audio toggles elsewhere in the heirarchy at the same time as I activate the props, and it shouldn't be too noticable the audio for the voice clips is coming from my hand instead of my mouth.

#

In other news... The next thing I'd like to be able to do is add a blood spray to my chainsaw. And I guess since I now will be able to activate and deactivate it from the emotes, I don't have to use fist to enable the audio clips and effects. So I could use that to trigger a blood spray. But... I was wondering... Is there a way to make a blood spray trigger automatically when the chainsaw contacts another player? I think I've seen something like this before. Though I'm not sure if it was a local effect which only the player being impaled could see, or global for everyone. I think it was global, which is why I'm interested in it.

drifting token
#

Sub-emit the blood particle on playlocal colission

#

layer 10

#

you won't ever be able to see it unless they have a collider on them but the person being hit will

scarlet pagoda
#

Hm... When I select sub emitter, I seen an option for enabling it on collision, but I don't see any place to set which layers the collison can interact with there? As for not being able to see it yourself, well that kinda sucks... I wonder though, could you perhaps place a collider on your own avatar, in front of it, at arm's length, around chest height, so the chainsaw emits particles for you as well when it hits that?

lyric iris
#

would be awkward if you wanted to cut something in front of you that doesn't bleed

scarlet pagoda
#

Also I'm not totally clear on the whole "sub emit" blood particles on collision bit. From what I understand, a sub emitter is spawned when a particle hits something. So I guess you're suggesting I have particles which are invisible which spawn around the chainsaw, and when they touch something, it then spawns the sub emitters?

lyric iris
#

yes

drifting token
#

if you already have particles on the chainsaw just add the functionality to those so you dont have to add extra systems

scarlet pagoda
#

I suppose that's true about the not bleeding bit...

#

@drifting token Well, yes, but I don't, as it doesn't really make sense to have a chainsaw blade spitting out particles when it's not cutting anything.

drifting token
#

sparksss

#

smokeee

scarlet pagoda
#

Have you ever used a chainsaw? 😄

drifting token
#

well yeah but that doesn't mean it doesn't look cool.

scarlet pagoda
#

I wish I could make it spark when I try to cut metal but alas, I have only so many gestures. 😦

drifting token
#

uh you can make it emit sparks on environment and blood on players

lyric iris
#

combo gestures and stop action tho

scarlet pagoda
#

Oooh...

drifting token
#

they're using xiexe's i doubt they want to additionally learn stop-action

#

otherwise I'd have plugged the script by now :v)

scarlet pagoda
#

But how? Like I said, I don't see an option to specify the layer for the collision on the sub emitter.

drifting token
#

set it to world

lyric iris
#

imo its easier to animate with stop action at this point than using that emote toggle script

drifting token
#

then you can set the layer

scarlet pagoda
#

I love learning new things, but Halloween is basically here and I want to have this ready for tonight, so stop action or whatever that is will have to wait for another day.

drifting token
#

if you do want to do stuff with stop-action at some point I recommend the script from my asset (;

#

change it to layer 10 for playerlocal and everything but layer 10 for environment

lyric iris
#

they probably dont have labeled layers

#

and the options dont show up in the dropdown there if the labels aren't set up afaik

scarlet pagoda
#

Ah I see under collision... And yeah, I don't. But I played with that once. I have to like do something to tell the SDK I want to make a world for it to create them.

lyric iris
#

in the inspector there is a layers button at the top

scarlet pagoda
#

That'll have to wait for another day I guess, if I wanna have my props working and blood sprays by 9pm world sparks will have to wait. 🙂

lyric iris
#

actually its just at the top of unity

#

there is a layers dropdown menu

#

you can edit layers

#

find layer 10 and give it a label

scarlet pagoda
#

Yeah I've seen that, but I have no idea how that stuff is supposed to be set up.

drifting token
#

you can only use 10 so theres no point adding any others for avatars

#

UIMenu on the way out :v)

scarlet pagoda
#

Ah, so it's just layer 10 and whatever I name it doesn't matter?

drifting token
#

yea

lyric iris
#

ugh are they still going to get rid of uimenu

scarlet pagoda
#

What's UIMenu useful for?

drifting token
#

nothing to the avg user

lyric iris
#

i was going to use it to make cross avatar animation packages

drifting token
#

I use it a bit tho

lyric iris
#

vrchat ahead of the curve, planning to break things that i plan to make

drifting token
#

I use it for my slave chair for flying but it's not necessary 🤷

lyric iris
#

how does it help the chair flying?

scarlet pagoda
#

Wait, is layer 10 world, or playerlocal? And why did you say I can only use layer 10 if in one case I want to collide with player local and the other, with the world?

#

Oh wait. I see this now: "change it to layer 10 for playerlocal and everything but layer 10 for environment"

lyric iris
#

oh i see about the uimenu thing

#

just so its selectable the same way as before

scarlet pagoda
#

Though I still don't see why you said I can only use layer 10 if all those other world layers exist. If I recall there's also a mirror layer? Couldn't I make particles do something specifically if they collide with mirrors?

lyric iris
#

that could result in unpredictable behavior

scarlet pagoda
#

Doesn't eveything? 😄

drifting token
#

also no that doesnt work

#

mirrorreflection is only useful for cameras and those are obviously problematic on their own

scarlet pagoda
#

Is there a faster way to add properties to the animation window than having to repeatedly click add property, and open up everything in that tiny heirarchy that comes up to get down to the thing you want to add a property for?

#

Or is there any way to make that tiny window bigger at least so I can see more of the thing, because it's ridiculous how small it is.

#

Okay after a quick search, it appears there is. You have to have the animation open, the record button ticked, and check the lock button on the top right of the window so it doesn't switch to another animation when you select an object in your heriarchy. Then you can click objects in the regular heirarchy window and set their parameters and it will add the peoperty if necessary and create a keyframe.

static relic
#

The lock is your friend in Unity.

#

It'll save you a lot of backtracking.

scarlet pagoda
#

Is Xiexe's inventory remapper supposed to work with the enable animations on emotes, rather than gestures? Because I just set everything up with them in the emote slots, and nothing's working.

scarlet pagoda
#

I think I may have found the issue. I had my objects all disabled by default because of how I originally set it up. I assumed the script would enable them as needed. But I guess it does that with the other objects it creates above them. At least, that's my guess. I'm uploading now to test my theory.

static relic
#

Yes.

#

If the parent object turns on and the child object it's meant to show is off, it won't show. xP

scarlet pagoda
#

I got the props working last night. Xiexe's tool made it easy enough to set up, but he should add the ability to set a prop to disable certain other props, as it would make certiain things even easier. For example, in my case, all the props I have are held in the left hand, and I only ever want one to be active at a time. If more than one is active, my gestures will trigger the sounds for both, so I have to disable all every time I select a new one, which is less than ideal. I think I can modify the animations to do this, copying keyframes from one to another, though I'm not 100% confident it'll copy the special keyframes properly.

My next order of business is adding a blood particle shower to my chainsaw which I can trigger with the fist. I only want it to work when the chainsaw rev sound is active though, and I'm not sure I can use IK Follower for this as the last time I tried to use it it didn't work at all for Vive and Index users. They couldn't see their own particles. That means I'd have to use rigidbodies, but that's going to make things a whole lot more complicated. Or not. I'll have to try to duplicate the objects Xiexe's script created and duplicate the keyframes in the animation which enables the chainsaw and the animation that disables all the items, and hope there's nothing hidden from me that will prevent it from functioning the same way. And again, this would be a great feature for Xiexe to add... The ability to specify multiple objects for each inventory slot, so I can have objects on different parts of my heirarchy which are enabled or disabled when I trigger that inventory item.

manic cloud
#

your enable emote should disable every other object

stiff mauve
#

how can I make a station/seat focus on the head position? So when someone clicks the station then their head will be inside the enter position of the station
@ me

warm niche
#

How to make led panels

#

And make a score counter for bowling alley

proud meadow
#

there are some counter prefabs in the prefabs database pinned in #world-development - if you have the score in an animator as a float, you can use a shader based number display to display it, included with the counter

scarlet pagoda
#

You know what would be really useful? A script which automatcially sets up rigidbody followers for whichever bones you specify in your model. I know how to do it now, but it's still more work to do it every time than it needs to be. Or I guess the VRChat devs could fix the IKFollower script so that it works properly for Vive and Index users so they can actually see their own particles when it's in use.

pine depot
#

Unity 2018 has a component called constraints which will work much better than either rigidbodies or ikfollower

scarlet pagoda
#

That's good to hear. I hope it's actualy whiteliested for us though!

pine depot
#

Wouldn't see the point of upgrading to 2018 if not for better features

#

Will probably be whitelisted anyway

#

but there is a canny request for it

scarlet pagoda
#

Today I'm working on making it so my chainsaw can spray blood particles, and I'd like to set it up so they splat when they land on players and surfaces.

I figure the way I need to set it up so I get the same effect as the Woopers and Nutters is to have my blood particles spawn sub emitters on collision, and have those sub emitter particles be invisible spheres that are unaffected by gravity, which have Rero's projection shader on them, with a blood splat texture.

The only thing I'm not clear on is how to set up the collisions to do this. Do I just set it to world? Or do I need to add that player layer... 10 I think it was? And tell them to collide with that AND the world?

I think that's the case, but I recall in our discussions earlier someone mentioned not being able to have the particle spray dependent on the chainsaw colliding with a player unless the player has colliders, but clearly what the Wooper and Nutter are doing is not dependent on players having colliders, so I'm a bit confused on that point. They are two different things I guess, making particles spray or not depending on collision, or making particle emitters spawn on particle collision... Or maybe they're not that different at all... In which case, I'm wondering how the Nutters and Woopers work on every avatar regardless of whether it has colliders.

pine depot
#

It will collide with you locally but I dont imagine you would see the particles collide with other players

#

Though I haven't really done much with particles for over a year

#

so it may have changed slightly

#

But having it set to world collision with all layers set to collide is probably what you want

scarlet pagoda
#

I know for a fact that I can see other players being affected when someone uses the Nutter avatar.

pine depot
#

Yeah things may have changed since I last messed around with particles on avatars

proud meadow
#

@scarlet pagoda nutter butter is using a shader decal effect combined with the _CameraDepthTexture. You can set particles to collide with any layers btw... Player for other players and some people use UIMenu which lets you open your handheld menu and locally whack particles with it

scarlet pagoda
#

@proud meadow I don't know anything about _CameraDepthTexture. I'm guessing it's a zbuffer, but what's the purpose of it in this context? Is it used to make the splatter block your vision? Cause I'm not looking to replicate that effect.

proud meadow
#

It's used to find the 3d position of each pixel on your screen so that the decal can be painted onto its surface

#

It's kind of like z buffer but drawn separately

drifting token
#

The effect shows on players because it hits the floor below them.

#

Not because it hits their collider.

#

The depth effect covers an area above the impact.

#

Playerlocal collision only happens for the person being collided with.

#

@scarlet pagoda

devout rock
#

@lyric iris can you give me the quick rundown on what i have to move on the button inventory to change it from rigid bodies to ik followers? Thanks in advance since im gonna go sleep.

scarlet pagoda
#

So is that possible because he has some colliders in his head? And if not, how is that effect achieved?

drifting token
#

I'd assume so.

#

Either that or the avatar itself has a collider it hits.

scarlet pagoda
#

But you said playerlocal collisions are only visible to the player they happen for...

drifting token
#

Yeah playerlocal. A collider added isn't on playerlocal

#

The avatar collider is.

scarlet pagoda
#

I see. I was under the impression all colliders on a player were playerlocal colliders.

#

Well, if that's how the nutter works, then I guess that will be good enough for my needs.

#

Though I did just have an idea for an alternative method to using particle collisions, or one to supplement them....

#

I recently learned how to drop static objects in world space. It seems like it ought to be possible to drop a sphere with your shader floating where my chainsaw was when I triggered the fist gesture. So I could force it to be localized where I impale someone.

drifting token
#

you wouldn't need to do that.

#

the decal particles are already world space.

scarlet pagoda
#

Yes but if I impale someone with my chainsaw, and the particles won't collide with PlayerLocal, and the player has no colliders in their chest, then none of them will spawn sub emitters at that location with the sphere which I would have your shader applied to that makes anything inside it take on the decal texture...

drifting token
#

Just put a collider in front of you in your avatar root

pine depot
#

Or maybe don't use collision for the initial particle spawning?

#

Have them spawn based on an emote instead?

scarlet pagoda
#

Hm...

#

Yeah I could just spawn invisible particles without collision or gravity or any velocity where the chainsaw is when I'm holding fist, I guess...

#

And the blood particles with collision and velocity would collide with the world or additonal colliders on players.

#

And then those would spawn sub emitters for the splash.

jade badger
#

Does anyone know hoe to make voice "Isolation"

example 2 rooms beside eachother, normally the audio bleeds into the other room

withouth changing the falloff for the ENTIRE world, how can i make each room have their own Voice ranges that dont leave the collider

stable hazel
#

you can't

proud meadow
#

hmmm.... if you occlusion culling will that cause players' voices to go away?

stable hazel
#

don't think so

proud meadow
#

I know if you accidentally toggle off your mesh on your avatar or do something else so it's completely invisible, your voice won't be heard

stable hazel
#

you can hear people in other rooms in the Pug even though they're occluded

proud meadow
#

I mean technically that's a bug...and a really bad one at that

stoic holly
#

Is there's a way to disable rendering of specific layer in main camera? Just like MirrorReflection. I need to make thing, that should not be seen in main camera, should not be seen in mirror, but should be seen in my custom render-texture camera. It seems, game overrides layers set on main camera in editor.

sharp burrow
#

@proud meadow But which one would be the bug? Because if you disable voices by occlusion, then you won't be able to hear people behind you since everything behind the camera is occluded by default (if set up properly)

lyric iris
#

when your eye cones are also your ear cones

near bronze
#

@stoic holly you cannot control what layers players see, but you can use mirroreflection and then shaders are able to detect whether or not they are in a mirror, and disable rendering. Poiyomis toon shader has a drop down for it in advanced settings I believe

stoic holly
spice shore
scarlet pagoda
#

I got triplanar particle decals working today with the particles I spawn from a sub emitter on collision, but I've still got one problem. The particles will collide with a quad I have on the ground in Unity, but they refuse to collide with my avatar.

I've gone into my layers menu and gave layer 10 the name "Player". And I see this layer is selected when I check the collider setting for my main particle emitter. But no dice.

And before you say particles can't collide with PlayerLocal... I 've just tested the Spider-Man avatar in game, and it has the same effect as the Wooper and Nutters, and lo and behold, it does in fact collide with and affect the player's whole body. If I am standing on the ground and I trigger the effect it goes only on their feet, and if I'm standing on a ledge above them, I can cover their whole body.

This would seem to disprove one theory I had which is that some of the particles with the effect are placed well above the ground and so affect their head. And I also tested this on a Shiba avatar which I know only has dynamic bone colliders on its hands, and no others, so its not the result of the avatar having extra colliders on it.

drifting token
#

It's probably that some of the particles die on their own without collision and above ground while others collide with the ground for their death.

#

When you're on the ground the particles that would normally die above it hit the ground so the effect doesn't show above where they hit.

#

Otherwise if you're standing they die in mid-air.

#

As for playerLocal collision, you can hit yourself with it and you'll see it and the person you hit with it can see it but no one else can see you hitting anything with it.
That's the "local" part.

#

There is no layer for global player collision.

#

The only other option is the avatar itself has a collider in front of it that it hits (which is likely)

#

and easy to do.

#

If you hit an added collider on your own avatar with a particle everyone can see it.

pine depot
#

The player layer has always behaved exactly like the walkthrough layer it will or at least should not collide with anything

#

Same with playerlocal actually

#

those layers wont collide with any other layers

scarlet pagoda
#

Does it matter what I name these layers? And do I have to mess with the collision matrix at all? I mean I get you're telling me they won't collide, but I'm still curious as in researching it I see there is both a Player and PlayerLocal layer and I named layer 10 Player not PlayerLocal and I don't know if that would even make a difference. I also don't know if I'm supposed to be adjusting the collision matrix at all.

#

Also what layer are the particles even on? I can't seem to find any info on that.

pine depot
#

changing the collision matrix wont have any effect in game

#

and it doesnt matter what the name of the layers is

#

its the order of the layers or number

scarlet pagoda
#

I kinda figured that, but I thought maybe for the purpouses of simulation within Unity of what will happen, I should have it set right?

#

The collison matrix I mean.

pine depot
#

It says that you need it setup but from my testing thats not true

#

VRChat ignores your collision settings

#

Would be super nice if we could have custom collision matrix though

scarlet pagoda
#

@drifting token That's a good theory. I'll go test in the game now and see if that's what it's doing. If it is then I should be able to stand on a ledge and trigger it with no one standing behind me, and then have someone walk into the affected region and see them take on the shader over their whole body.

drifting token
#

Otherwise I'll just ask grae lol he made the thing.

scarlet pagoda
#

I sent him a message about it a few minutes ago. 🙂

drifting token
#

He'd answer me faster ;v)

scarlet pagoda
#

Probably. 😄

scarlet pagoda
#

@drifting token So I tried it out in the game, and sure enough you were right! Graelyth also got back to me just now and confirmed it. I guess that'll work out for the best, as it means I can have my particle emitter inside my chainsaw and the chainsaw won't block the particles but it will be affected by the blood!

polar wagon
#

Is there any way to get a particle system to have it's speed be dictated by its size? I know you can do the reverse, which is the speed affects the size. I can't use limit velocity based on size because I need the larger particles to go faster, not slower, than the small ones.

near bronze
#

You still can use size by speed for that. It doesn't necessarily mean smaller goes faster, you can invert it if you want. Doing speed by size would be something completely different

polar wagon
#

No I need the size to directly affect the speed of the particle (at least the start speed) as I have the particle inheriting the size of its parent.

livid hamlet
#

if i were to edit the Core Files to enable extended poly limits for the Quest and such, or redefine the rating system entirely would that be ok? or would i be banned/flagged for malicious activity ?

drifting token
#

Yeah if you modify the game to do that you would.

livid hamlet
#

not allways

west elk
#

so im using the lookat script, but for some reason, when i get close, the npc's head actually doesnt rotate properly, like, along the x axis, it looks DOWN instead of up at me.
if I mark the x axis rotation value as negative, then the opposite happens, it only rotates upward.

#

It worked fine before, but im not entirely sure what I did that messed it up

#

Its set to autotarget player, and that works, its just the rotation that doesnt want to work properly for some reason

near bronze
#

Don't use auto target player, it looks at your feet not your head. Also it is not guaranteed to look at you, it can look at other players and there's no way to control who. Disable that and instead look at the playerhandle object from the playertracking prefab from the vrcprefabs toybox package.

And for the axis, don't use negative numbers that will just confuse it.

worn sphinx
#

Is Unity's WWW disabled in VRC?

trim ibex
#

This is with SDK 2019.09.18 which should be the newest

#

Nevermind the sdk was just broken again

#

reinstalling fixed it

devout rock
#

Sometimes you need to look at this game and really think that this game and all of the evolving sdk was made by people only working off the donations from the community.

drifting token
#

And a whole lot of premade assets :v)

trim ibex
#

So does anyone else have the problem that lipsync using blendshaped doesn't work properly anymore?

#

This exact configuration worked before.
Also the blendshapes are working in unity.

pine depot
#

Do you have the correct face mesh selected

trim ibex
#

Yes. I only have one.

#

@pine depot does it work for you on the newest SDK (2019.09.18)?

pine depot
#

Haven't tried uploading an avatar with any recent versions

trim ibex
#

Okay

pine depot
#

But I would be surprised if it was the sdk

#

Its possible that its not working due to having the sil blendshape set as none

trim ibex
#

yeah. let me recheck that

#

I do remember that I had to select something for sil, but I think it was "-none-"

#

Instead of just having nothing selected at all

#

I don't think that I ever made an actuall sil blendshape

pine depot
#

sil is just closed mouth

#

default state

trim ibex
#

yes

#

This isn't the same bug, but it is kinda related

pine depot
#

They did change the way the sil viseme functions to prevent the mouth getting stuck open

trim ibex
#

My newer avatars have the microphone bug even though their visemes are working.
I feel like they did some broken ass fix to prevent this

#

I guess I will try an ancient sdk..

devout rock
#

one can argue that vrchat is a tech demo funded by some of the investments that is going into udon.

stable hazel
#

using an older SDK will not fix this problem most likely, you'll have to fix your avatars individually to have a SIL shapekey in all likelyhood

trim ibex
#

The thing is that my old avatars still work

#

So it is not a client update that broke them

#

but yeah no idea how this stuff was broken again

proud meadow
#

@trim ibex you need a blend shape for every viseme including sil. CATS has a feature to generate these for you, otherwise you have to duplicate shape keys I guess

#

sil would do nothing or move one vertex like 0.00001

#

if you get anything wrong or don't set one of the blend shapes then you will hear your own microphone back and visemes may be broken. super weird I know

trim ibex
#

I guess I will need to make a no-blendshape blendshape then. It is weird though, since I don't have that in my old avatars and they still work.

proud meadow
#

that's weird. I don't think we've narrowed down the exact case where the microphone bug happens but it won't happen if you set all the blendshapes

trim ibex
#

I think I might just be misremembering how my old avatars' visemes work. Still cool thing that you still need to set something as nothing

#

Guess I will make a nothing at some point to set it as nothing. ¯_(ツ)_/¯

broken ferry
#

Bleh, I put an IKfollower directly under the Head bone, no animatiors at all, and yet the particle system goes flying up into the sky... why =_=

drifting token
#

Armature scale most likely

#

For ikfollower to work properly the root and armature object both need to be scale 1 on all axis

broken ferry
#

The avatar object itself has a scale of 1.5 but all bones are either 1.0 or like 0.99998

drifting token
#

They've both got to just be 1

#

The component doesn't take the scale into consideration so anything other than 1 will break it 🤷

broken ferry
#

true vrchat quality e_e

drifting token
#

Well it works now compared to when it was first introduced
When it just didn't

#

:v)

broken ferry
#

think I'll just use the old method then xD

static relic
#

The avatar root can be scaled whatever. The bones themselves must be 1.

drifting token
#

Odd I was getting the same bad behaviour if my root wasn't scale 1.

scarlet pagoda
#

Hey guys... So this one I'm not sure if it belongs here or in the shaders channel... But I can't figure out how this effect could be accomplished. So there's this joker avatar which can shoot you. And when it does, your screen goes red. But the effect is neither confined to a localized space in the world, or localized to the player that's doing the effect. Nor is it a global effect. Instead, the effect follows the player who was shot, and nobody else sees it. I would suspect a particle is colliding with the player and sticking to them somehow, and it has the shader on it that creates the effect for those inside the sphere but I don't know if that's even possible? Though I seem to recall something about particles and collisions and playerlocal only being able to see them. So maybe this is that, yet I don't know how the particle would stick to them even if the particle system can detect the collision and burst emit a particle with a sub emitter.

proud meadow
#

do other players see it getting stuck or just the player who was hit.

if it locally subemits only for the player who got hit, then you could have a shader on the subemitted particle that turns your screen red (a good way to think of shaders is that they can do just about anything visual in nature, doesn't technically matter where the object is.

near bronze
#

It's not possible for particles to stick to whatever they hit, nor is it necessary for that effect

#

It's a bit unintuitive but for every single player, they see themselves as playerlocal and everyone else is player. Which means if you make the particle hit playerlocal, then shoot person A, person A will see the impact but person B will just see it go straight through. Once that particle has hit person A and subemitted the particle that does the death overlay, that shader can affect them anywhere. But nobody else saw it collide with playerlocal so that particle never got subemitted for anyone other than the person you shot

tender pivot
#

So I've been asking around about this issue ive encountered with a VRChat world, in unity as you can see this world looks fine, but unfortunately In game is a very different story

#

Has anyone ever encountered this strange Pink World issue upon uploading? ive just tried almost about everything

#

and funny enough its not even the first world this has happened to

#

its a fairly rare glitch but despite reimporting everything, making sure everything is standard shader, its just a strange mesh issue, it removes mesh colliders, but NOT box colliders, and ALL materials

#

and only items from the specific pack, cubes and other items seem to work that are unrelated

pine depot
#

@tender pivot what shader is that stuff using?

tender pivot
#

standard 100%

pine depot
#

Is it using embedded or external materials?

scarlet pagoda
#

@near bronze Are you saying that when a particle hits playerlocal, its emitter emits particles which are in that player's local space, rather than in world space? Like a child of the player, which moves with them? I assume if you set them to world space, this would not be true, but I had assumed local for a sub emitter would be the local space of the object the subemitter is a child of, which is the avatar of the player that fired it, not the player that was hit.

near bronze
#

no, "local to that player" does not have anything to do with the position of the player or particle, it means that it only exists for that player. Other players never see it get emitted, it just doesn't exist

scarlet pagoda
#

Okay but then how does the effect follow that player?

near bronze
#

it doesn't need to, shaders don't care

#

they can do screen space effects no matter where the mesh is

scarlet pagoda
#

Oh I see. So what you're saying is that if the other players could see the particle it would effect them wherever they are in the world. But since only the player that was hit sees a particle be sub emitted, they're the only ones who see the world effect.

near bronze
#

yeah

polar wagon
#

The effect won't work on anybody who has a particle limiter enabled though, as that disables player local collision

near bronze
#

anything you do with an avatar can be blocked, but that's a good thing. Keep it fun and lighthearted and people won't block you

civic veldt
#

Are walk animations of generic avatars still broken ?

#

Since this bug is now half a year old.

#

and it breaks every generic avatars

polar oak
#

yup still broken

#

@civic veldt

warm niche
#

Any one know how to make a fps counter i know its a shader

warm niche
#

how would i make a beer tape dispens a liquid. If thats possible how would i make it go in a bottle

civic veldt
#

Does nobody found an hijack for walk of generic rigs avatars ?

#

It's breaking every of my monstess from an mmorpg animations

drifting token
#

Nope! : D

teal copper
#

I can click my ui toggles while in desktop mode but not in vr? I dont get the little pointer that comes from your hand when i try to click the ui toggle in vr? Any ideas?

dull hollow
#

Make sure you dont have any overlapping triggers that arnt on the mirrorreflection layer, they block VR pointers

teal copper
#

it was a collider that I needed to set to reflection, thanks

proud meadow
#

What's up @tropic wyvern ? Please describe the problem

#

Ask away, don't need to ask to ask

#

If I can't help maybe someone else can

#

Oh I have no experience with that, not sure that's something I would be able to help with

#

Every time I've tried input it Just Worked(TM)

#

Have you tried googling

#

Anything relevant in edit-> project settings-> input?

#

Edit -> Project Settings -> Input is where you need to be according to google

#

Some unity versions call it something else so you need to change it to say exactly Mouse X

#

Ok but then you didn't rename it from Horizontal to Mouse X

#

So how is it supposed to work

#

What you type in your code needs to match what you put there

#

And what are those 9 Fire3 things

#

So either fix your code or fix the names you put there

#

I'm just reiterating what a google search told me. But that seems like the obvious answer and it doesn't sound like you tried it

#

You sent a screenshot of your input setting showing Horizontal and Vertical but your code uses Mouse X and Mouse Y

#

Those two need to be the same

#

So either change it in the input or in your code

sly cloud
#

What would be the easiest and fastest way to make something slowly appear when the closer a player got to it and slowly disappear when they moved away from it?

summer berry
#

Shader checking object camera distance

#

Which reminds me that Cubed had an old distance face shader.

sly cloud
#

Hm

#

a possible link for it?

summer berry
#

I can't seem to find his experimental shaders...

sly cloud
#

mkay thanks

warm niche
#

Any idea on when will the Unity 2018 update will go live in VR Chat? I have so much stuff I wanna do but can't right now because of the current 2017 limitations.

drifting token
#

I mean it's not like you're going to be any less limited in 2018 outside of particles...

summer berry
#

Prefabs within prefabs will help worlds ¯_(ツ)_/¯

drifting token
#

Yeah but that's more QOL not really something that would completely halt development of whatever you're doing I wouldn't think?

summer berry
#

Tell VRChat that with the UI menu update 👀

drifting token
#

You mean the actual hand menu and not the layer right?

summer berry
#

Yes, the long awaited ui menu update was supposedly on hold until nested prefabs.

#

Hand and in game menu*

drifting token
#

Haha when I see UIMenu I instantly think of the layer that's going to be removed :v)

#

haha...

#

But it's nice that the menus are getting an update.

warm niche
#

There are a ton of things you can't do with Unity 2017. I don't even care much about particles.

One of the many things for instance is using an automatic texture atlas script to remove the hassle of doing it on Blender or Maya.

#

Also GPU light mapper is not available on Unity 2017. It still uses the obsolete enlighten system.

#

Same settings on both

#

Except the 2017 uses the old enlighten system, which makes everything a lot less sharp.

#

And this is like 1% of what I'm looking forward to with 2018 update but idk when will it come up.

static relic
#

Is there a way to have something animate locally without having to rely on particle systems? I tried taking advantage of NetIK breaking locomotion animations, but ironically, they still show up globally.

drifting token
#

Which ones did you use and what did you animate?

slate canyon
#

anyone on?

#

Does anyone know how to get a mirror into unity? 😮

proud meadow
#

Please don't ask the same question in multiple channels because it wastes time. Answered in #world-development

static relic
#

@drifting token I tried animating the component and the object, both separately as well as at the same time using idle and/or walk forward.

#

It was a line renderer for specifics.

#

But it was always visible globally.

#

Feeling like I may just have to do the less tasteful thing and put a stencil mesh in front of my viewpoint and just use stencils for the markers.

#

Didn't wanna be the person with a sphere on their head because their shaders were blocked.

#

lol

#

OH. I guess I could try using Final IK without IK_Follower. Doi.

proud meadow
#

I mean. If you're willing to use shader based approaches, put it in your headbone and display it based on the scale of the unity_ObjectToWorld matrix @static relic

#

And lol using the Final IK bug to detect local

#

Imagine when vrc actually fixes it and then people complain it broke their local detectors

static relic
#

Right, "when". xD

drifting token
static relic
#

"If".

#

Also, what you just said flew right over my head, @proud meadow .

drifting token
#

Idles are synced btw.

static relic
#

Well, that explains Idle, but Idk about the walk forward.

drifting token
#

For local only things I can manage purely in shader I just use cameras 🤷

#

Easier.

proud meadow
#

Hehe yea cameras are a great local detector (if on) / friend detector (if toggled on)

#

Particle system stop action in the neck against collider inside the headbone

#

Should also work no?

static relic
#

But stop action always ends up feeling so heavy. Even if I know it isn't really. 😩

#

I might try something funny with a state machine.

#

It's always shaders with you shader kids. smh

drifting token
wide knoll
#

Guys,do you know how player pipeline is named in Unity editor?

drifting token
#

Pipeline?

warm niche
#

you mean layers? playerlocal is your avatar with a shrunken head, player is all other avatars, mirrorreflection is you with normal head

#

so mirrors for example need to reflect player and mirrorreflection (your complete avatar and other avatars)

teal copper
#

anyone know how to make a transparent mirror? Ive but a camera on to a quad and reduced the culling and changed the flag to soild but it just shows black

drifting token
#

???

teal copper
#

you just see the player

#

I know its done some how with a camera and a quad

drifting token
#

Camera that only sees player layer and apply it to a render texture with cutout on the material

#

Make the camera clear to a solid color with 0 alpha

teal copper
#

that might be just what ive been missing, the alpha and the cutoout, let me try it real fast

#

well its not showing black anymore its clear but im not seeing the player

#

is player the only layer that i need for it to work?

drifting token
#

Oh my bad do mirrorreflection

#

Only

teal copper
#

let me try again :3

#

oh my bad layer mirror reflection but what about the culling mask, player only?

drifting token
#

Layer the camera is on doesn't matter set culling mask to mirror reflection

teal copper
#

hmm in the camera preview it jsut shows white but ill push it out and see what happens

drifting token
#

Yeah the avatar doesn't get set to its layers until you're in game

teal copper
#

lol

#

well works kinda

#

my character is all black in it

#

im gona try the player and reflection layers maybe?

#

yeah that didnt work

drifting token
#

What kind of settings does the camera have

teal copper
#

i took player back off, it still shows on there

drifting token
#

What about the render texture

teal copper
drifting token
#

Turn on srgb

teal copper
#

alright re pushing it out now

drifting token
#

I might be missing something else but I'm not sure

#

Been awhile since I've done that effect

teal copper
drifting token
#

Change from diffuse to emission or just use unlit cutout

teal copper
#

you talking about the material rendering mode?

drifting token
#

No the texture

#

Put it in emission or just change the shader to unlit cutout

teal copper
#

ah

#

I threw it into the emission lets see if that works

#

the emissions worked, just got to figure out how to adjust the resolution now. I look like pixelated blob lol

#

But seriously thank you. Been trying to figure this out for a week. this is the furthest ive gotten

drifting token
#

Set the resolution of the render texture

#

Not too high though cause it's expensive

teal copper
#

thats through the size of it right?

teal copper
#

Yeah it was. Thanks a million again.

static relic
#

Is there any reason why a material change would show up in mirrors and cameras but not outside of mirrors or cameras? To clarify, locally, the material change doesn't show up for me at all, but it only shows up in mirror or cameras for others.

#

Specifically, animating the emission values doesn't show up while everything else seems to.

stable hazel
#

nothing you can do about that sadly, it's broken on VRChat's end

static relic
#

No, it's not the VRC bug that deals with material changes not showing up in mirrors. It's that the material change only shows up in mirrors.

#

I expected to not see the material change in mirrors. But the emission being animated up doesn't even appear in the non reflection version. I thought it was broken but someone cloned my avatar and I noticed it only showing up in the mirror. It still didn't show up on the one that wasn't the reflection.

warm niche
#

im using a custom animation for my avatar , and the hands keep twitching

drifting token
#

the keys are not identical

#

in the gesture animation

#

they need to be

warm niche
#

the keys?

#

i made them both about the same key if ur talking about the dots in the timeline i think i pasted them 1 to the 2nd one

drifting token
#

you obviously didn't or it wouldn't be twitching.

warm niche
#

oh i think i know whats wrong

#

nop nvm

drifting token
#

change from cull update transforms to normal in the animator

warm niche
drifting token
#

oh right different things

#

do you somehow have curves in that animator?

#

the value is clearly changing when you hit play

warm niche
#

yeah i have the curves

drifting token
#

set them all to constant

warm niche
#

ty! ill remember that

warm niche
#

i want to put a gif on my characters hair how do i do that?

proud meadow
#

@warm niche Poiyomi's toon shader has got you covered

warm niche
#

oh yeee i have that already , and ty!

teal copper
#

@drifting token Hey one more question about the camera mirror, its showing the opposite of everything at the moment for example if i walk in from the right side it shows me coming in from the left. Im trying to find a setting to flip it but im not having any luck. any ideas?

drifting token
#

rotate the camera

pine depot
#

easier to invert the object its displaying on?

teal copper
#

like upside down?

#

yes thats what i was trying to figure out how to do

#

its displaying on a quad

pine depot
#

Would just need to add a - infront of the x scale value probably

#

to make it negative

teal copper
#

hmm let me try

#

yes this worked thank you!

timid cove
#

This is why having multiple monitors is a must for me 😉 mood music and unity map building with room to move around ;)

stable hazel
#

why do you have so many assets in one project o-O

dull hollow
#

Probably just has everything in one project, better to keep everything together than spread it out with multiple projects imo

stable hazel
#

I get the idea, but pray to god you never have to reimport those assets

dull hollow
#

Oh yeah just nah to that. I do the same concept with every avatar and world in the same project and a project per version

#

What would cause the need for reimport?

stable hazel
#

Sometimes upgrading Unity versions will require a reimport but not always. If you switch the build platform to Android/back to PC (for uploading Quest content) you have to reimport everything. And sometimes Unity just hates you and does a reimport but that's really rare

drifting token
#

I separate my non specifics into an essentials package that I can import should I need to move projects.

#

It's got my commonly used scripts and assets and such without individual project specific stuff.

#

Shaders too

lyric iris
#

projects should be disposable because unity packages and prefabs exist

#

not making a unity package and prefab feels a lot to me like you never saved the development you did in your project

#

and putting everything in one project on top of that is a lot like never saving anything ever

static relic
#

I only package things if I need them in a different project. Not just as a extra measure. I prefab plenty though. lol

#

I do start new projects as one gets full though.

lyric iris
#

yeah same. i don't prefab or package things that are just one shot that i don't intend to save

#

i just move from sandbox to sandbox project

#

i have a main project for each type of thing that im working on

dull hollow
#

If anything needs to be saved it can always be retrieved by the .blends before exporting to unity. If something has taken a lot of unity work then yeah it's saved via export as you would. There's no point saving prefabs of avatars that don't have extensive unity work as then it's just another copy.

#

For moving unity versions it's practically suicidal to try to do the whole project so I usually just do one avatar at a time

static relic
#

I prefab even minor changes so that I don't risk losing a change I made. The prefab takes literally no space and saves crazy amounts of time.

#

Then, if a change turns out to be a bust, I can just put out the previous prefab.

dull hollow
#

Ah I getcha. I usually don't make prefabs as exporting over fbx's still effects all prefabs. Usually create duplicates of folders if I want to save an old version

drifting token
#

3000 iq zip of entire project for every change :v)

warm niche
#

Does anyone know if we can use Lightweight or HD render pipeline now that we can use Unity 2018?

shadow ruin
#

No vrchat runs on forward rendering

novel frigate
#

how do you guys set up version control for your unity projects? figured i might get into it so i can back up everything i own without losing my head. right now i make a new unity project every yearly quarter (Q3-Q4 etc.) and just archive the old one when i move on

stiff lily
#

Unity Hub ?

final wigeon
#

Git + LFS is probably a good way to go.

I probably should sort out LFS for some of my projects since using git for large binary files like images and such isn't the best, but I'm lazy.

clear blade
#

@final wigeon @novel frigate We use Git + LFS and it works great. Using LFS for .mp3, .mp4, textures, images etc has worked well for us.
@novel frigate If youre not too comfortable using git bash, you should look at using SourceTree as a visual tool.

sweet crystal
#

Using LFS seems like a terrible idea if you're using the repository to back things up

polar wagon
#

So I wanted to find a way to make sound effects that can be triggered via a gesture (like a gun shot or something) that plays until the end of the audio clip but that doesn't require me to hold the gesture the entire time. I'm trying to use an animator behaviour toggle on a gesture that essentially enables an animator that enables the gameobject with the audio on it, then freezes the animation at a point after the object is enabled after I let go of the gesture. The first frame of the animator is supposed to turn the audio game object off, but the second frame turns it on, so I can effectively reset it each time I "fire" the animation. For some reason, this isn't working and when I re-enable the animator, the sound effect does not disable and re-enable

#

Is there something I'm missing?

#

It seems like the re-enabling the animator doesn't reset the animation from the start. I haven't tested it in game, but it doesn't work in Unity

lyric iris
#

Fortunately, in game, gestures do restart animators if they're directly animating behavior enabled

#

If you're still having problems you can use 2 animators

#

Gesture animates behavior.enabled on first animator, and that animator animates behavior enabled on another animator. That final animator shuts itself off after playing

#

Doing it this way will prevent the gesture from messing with the default value of behavior enabled on the final animator, which leaves it free to handle it's own disable

static relic
#

You only need one animator and two animations. But proxy adds consistency.

polar wagon
#

ahhhhh ok thanks!

static relic
#

@vestal lodge Were you aware of a console error with _DependencyChecker.cs?

#

I was trying to update the tool and the error prevents me from using it.

#

If not, it may be just me. Or my version of Unity. I'm on 2017.4.15f1 for reference. I didn't feel the need to update to .28

vestal lodge
#

What is it exactly?

#

@static relic

static relic
#

On the latest SDK. I was about to just update Unity to .28 if that's the only reason it's doing it for me and you hadn't noticed it before.

vestal lodge
#

No clue, can double click it and show me the line it opens?

static relic
#

AHH I wish Unity would open .cs in Notepad++ for me. Wth. One sec.

vestal lodge
#

Hold on, did I actually rename the file

static relic
#

One sec. I was using 0.6b, not 0.6.1b. Maybe that's my issue?

vestal lodge
#

Could be

#

If you join the discord you can grab a newer WIP version

#

It's in the misc section of the tool

static relic
#

I'm a minimalist! 😩

#

But okay.

#

I have like 5 groups.

vestal lodge
#

Just put the ones you don't care about in a folder and forget about them :p

static relic
#

So messy.

#

Would drive me nuts.

#

xD

dull hollow
#

Join, get the shit, leave lol

static relic
#

Rude!

dull hollow
#

Youve put yourself in a corner with this attitude

vestal lodge
#

That's an option too but then you don't get notified if there's an update, if you care about that either way

#

Make sure to delete the old tools folder before importing the new one

#

Grab v0.7_8 in wip-releases

hidden pollen
#

im having a slight problem with particles the problem is that at certain angles the the particles disappear anyone know a fix ?

manic cloud
#

local particles?

drifting token
#

what

manic cloud
#

retro, do you know a proper fix for local particles being culled if not looking at hips?

proud meadow
#

Where are your local particle systems on your avatar hierarchy and why not use ik follower + world space particles?

#

Also does local space + ik follower fix anything?

manic cloud
#

Word particles can't be used for something that you want for it to be a local particle. Local particles been getting culled since 2017 update from what I remember. I've had them on hands and on other parts of body, whenever hips are out of view they get culled (for you and anyone else). Having collision/subemitters doesn't help, have tried also having bigger bounding box and other stuff that might help. So far gotta use fixed joint for local particles, or at times IK follower (tho I don't like using it).

static relic
#

Wow, I haven't used local particles in over a year.

drifting token
#

I only ever use local particles for logic systems. Would a custom simulation space set to itself or a parent work?

#

iirc they fixed initial emission from custom sim space in 2017

#

from my limited testing that seems to be the case.

#

so that might work.

normal aurora
#

I know this is probably nope but I have wondered whether there's a way to detect the user's language preferences to show the right text

tardy folio
#

Could have an auto which uses geo location from IP lmao

#

Otherwise I don't believe we can get logic for the language

normal aurora
#

yeah of course I already know about that approach

#

just would be nice to have geometry which is visible iff locale == x

near bronze
#

You can always have a panel when they first start the world to choose their language

normal aurora
#

no I can't 🙂

near bronze
#

??

normal aurora
#

I don't control the world

near bronze
#

Well that's a totally different problem then

normal aurora
#

imagine submitting something for elevator vr

#

but you want to say hi to everyone personally

#

why can't I do this?

near bronze
#

You'd have to ask whoever is the owner of the world for them to set up something like that

normal aurora
#

sounds like a massive UI project for them 😦

#

if only it could come from the OS

static relic
#

Sounds a little scary, but I understand the intent.

#

Cute.

proud meadow
#

@normal aurora if it's a small number of options, you vould either download the text as a vrc panorama (default, And let user override with a builtin text texture later)

#

Or if you really want different control flow by country, that is possible for a small number of countries using the sync video components and detecting playback start/fail...and a server that either returns a valid url or not

static relic
#

Crazy rube goldberg machines at every turn.

normal aurora
#

detect china by accessing google kind of strategy

#

World Wide Workaround

#

growing grass

warm niche
#

how would i have a audio source have mutiple songs that play in a list in background

stable hazel
#

mix all the songs into one audio file and have it loop. It can't be too big though or else Unity has trouble handling it. The other option would be to use a video player with a playlist but it can be hit or miss at times

open lion
#

Is there a way i can set the --no-vr option for unity test build. Looks like the builder is obfuscated to me

sharp burrow
open lion
#

thanks you saved me from doing some "BaD ThInGs" lol

terse sage
#

Anyway to make a VRC_SyncVideoStream component playing a movie not crash people when they join whilst it's playing?

proud meadow
#

@terse sage make sure you never call the Play () function

#

To change a video:
Stop, Clear, AddURL, Next

#

Next will also start playing but in a way that doesn't cause random client crashes

terse sage
#

already do that i think, but will double check

proud meadow
#

What SyncType do you set?

#

Also if it's a predefined video you could hardcode it in the playlist. That shouldn't crash

terse sage
#

video / normal

#

and nuh, its custom url

#

and yeah I have take owner, stop, clear, add url, next

open lion
stiff lily
#

@open lion

warm niche
#

didn't debug menu use to be Menu + 3? i have no clue how to type this:

shadow dock
#

backtick should be the top left button below the esc key. looks like this `

warm niche
#

ohh, you mean the squiggle key :p

#

scientific terms only please* lol

#

thanks 👍

warm niche
#

k so im taking a shot at something i attempted a long time ago when OnTimer was broken so i gave up

#

goal: randomly draw a card from a deck, and teleport them to a defined position

#

my guess: enable a parent that contains 3 children, each having an OnTimer that chooses a random time to enable it's child a cube with a collider that intersects each card respectively, triggering the card to teleport to the position. And then disable the Drawing parent, stopping the process before another timer goes off, as to only draw one each time.

#

perceived issues with that guess in practice: #1 its possible (seemingly not rare) for some timers to go off at the same time (or at least close enough for it to matter), resulting in more than one card being teleported before the Drawing parent is disabled

#

(do note that the more cards in a deck, and the lower the high time on the timer the higher this chance)

#

#2 this isnt instant. which at it's least is a minor problem, but at it's most, it's a large problem because if two players happen to draw at the same time, it could cause complications

#

it's been a while so, I don't even know if OnTimer is the best way to be doing this anymore. if you have another idea lmk : )

trail jacinth
#

@warm niche Theres a few problems with your system. The timers do cause a bit of lag, so when you have to enable all timers everytime you draw a card theres gonna be some problems. I made a Card System a few months ago, I dont remember how well I maintained it, but if you want to take a look here:

warm niche
#

Hey, does anyone know how to configure their home? I want to make a world for people to play in.

warm niche
#

@trail jacinth thanks! ill take a look 🙂

warm niche
#

ohhh nice. so when you shuffle, each cards uses OnTimer to put itself as the first sibling, which then gives you a random order of siblings, then every time you draw, it rebinds the animator so that it always picks whoever is the first sibling? @trail jacinth

trail jacinth
#

@warm niche Yeah exactly. Only problem is that if you have a lot of Objects, there is a huge lag for that one second where it shuffles

warm niche
#

oo yikes

#

i guess that'll be okay since you only really do it at the start of each game

warm niche
#

@trail jacinth oh hey do all the "Card" objects have to be named the same for the animator rebinding to work correctly?

summer berry
#

Yes

#

Animator rebind will bind to objects with the names in the animation. It is looking for a specific object name/path.

warm niche
#

right, ty 🙂 @summer berry

warm niche
#

does VRchat not like when you try to change a rigidbody's isKinematic bool via UI button?

#

(checked the log, the press button animation is being played, and the animation does have the Press() function )

#

ohhhh my god you have to do it through the object sync not the rigid body dont you

warm niche
#

btw yes that was the problem

summer berry
#

Yeah, if object sync is on the object, you can only change gravity or kinematic through the given RPCs

warm niche
#

@summer berry if i remember correctly, you showed me a shuffle / draw system that uses animator rebinding. I got my card drawing working, but not across multiplayer, do you still have that? i'd love to take a look at the broadcast types

#

i watched your broadcast type video. it got me pretty close, but the animator rebinding part seems to be the only thing broken about my system

summer berry
#

Just based on the conversation here, the version helpfulhelper linked was on timer based. If you search for me and the word random, you can find a link to my old prefab using on timers that I never added to the database. @warm niche

trail jacinth
#

Its probably very similar, but Cyan tends to do things more generalised and usually a lot more stable xD
I still think there should be a more protocolised workflow, for public Prefabs.
Like Sourcecode conventions in Programming languages. Maybe we can start doing that when Udon comes out

summer berry
#

I never released mine because the Japanese community released a prefab (although it was paid), I didn’t like the 1 second delay in shuffling, and on timers broke.
I’m not sure how you would force a protocol for prefabs since that would require organization.

warm niche
#

ah I see

#

I'll do that then 👍

#

thanks guys :)

jade badger
#

Im having issues with the IWA video player

#

it dissapears after i click on video or stream

#

UI, Screen, everything

warm niche
#

looking at Cyan's randomization system helped a bit, but im still very confused as to what on mine should be local / global / have object sync or not

jade badger
#

global with object sync

warm niche
#

?

summer berry
#

I can’t remember if my system had documentation, but that is a loaded question since it means understanding object sync and broadcasts

warm niche
#

thanks C: ill read through

warm niche
#

does anyone know how to make a world that when press 1 or 2 it changes you into a selfile cam and for 2 thrid person

jade badger
#

that probably wont be possible till the UDON code gets added

stable hazel
#

that's totally doable right now and some words have third person modes already (for desktop though). I think the current japan shrine has it?

#

@warm niche Check the channel pins for the vrcprefabs link and find the '3rd Person Controller' prefab by Vowgan, I think that's what you're looking for

warm niche
#

thanks dude

stable hazel
warm niche
#

how do you check what methods are available for use with SendRPC again?

summer berry
#

Have the object enabled in the scene and then check it that way.
The docs might have it listed, but I'm not sure of any good way of finding them all.

warm niche
#

I got shuffling and drawing working with my cards 🙂 next goal is to "play" them using OnPickupUse

#

my idea was to, when you play a card, 1) teleport it to the center, 2) enable something that, when I... broadcast to call that something ,,, it teleports the card away (to discard it).

#

and when you broadcast to call that something,,, only the card that is currently in play gets discarded, because it's the only card that has that something enabled

#

i was gonna do this my just broadcasting "press" for ui buttons, but that would also press every UI event at once lol

#

is sendRPC what im looking to use?

summer berry
#

SendRPC is basically call custom VRChat method on object. We cannot define our own and are only limited by what they give. It does not seem related to what you want here other than teleporting an object away (TeleportTo).
If you want to do conditional logic, you should look into animator controllers with states/transitions, OR use custom triggers. With custom triggers, if the trigger is disabled (or the gameobject) it will not fire. You can use this as conditional logic.

#

Note you can do something similar with buttons by having the button disabled too

warm niche
#

hmm yeah i think ill try animator controller for this part

#

: )

warm niche
#

animator controller works great. you'll notice there's only two cards. this is bc i have to manually make the references for the animators. there are 104 cards 😃 🔫

summer berry
#

~ Editor Scripts ~

warm niche
#

sounds like black magic

summer berry
#

I guess it is then

warm niche
#

enticing, but it would take me just as long to learn how to write editor scripts as it would take me to do every reference by hand lol

proud meadow
#

it's actually not hard. if you use VS Code or Visual Studio, fucntion names will auto complete and it's actually quite easy to write some things. Other things are poorly documented.

#
using UnityEngine;
using UnityEditor;
public class FunScriptMenuClass {
    [MenuItem("FunScriptMenu/Some Script")]
    static void SomeScript() {
        var obj  = (GameObject)Selection.activeObject;
        var animator = obj.GetComponent<Animator>();
        ... some code here ...
    }
}
#

That's a good template to get started. Make sure to save editor scripts in a folder named Editor always. if not, your worlds won't upload and you will get errors.

summer berry
#

(All if they understand how to code in the first place)

proud meadow
#

It will create a menu bar item Some Script in the FunScriptMenu menu

#

true, but even then, for most editor scripts you only need very basic programming, since most of what you do is simple procedural type stuff: for loops over game objects and calling a function on each one

#

and yes it's probably true that it would take longer to script. But it's a very valuable skill to learn and I and others here would be able to help if you get stuck, provided you're not trying to do something too complicated and involved

summer berry
#

I still recommend anyone who wants to seriously understand Udon to learn standard c# + unity now. Editor scripts could be a good start.

warm niche
#

@proud meadow oohh sorry i hadn't seen these messages. that's so cool. idk why I thought editor scripts were much more complicated. seriously cool stuff.

#

someone in the unity discord was walking me through it earlier. can't wait to get back to work on that after Thanksgiving

warm niche
#

Can I upgrade to unity 2018

pine depot
#

You could but VRChat might not make it to unity 2018 until around 2020

warm niche
#

okay so im learning about making editor scripts. making good progress. is there anywhere i can read documentation of VRC_Triggers? like for scripting purposes not for using them for game behavior

summer berry
#

Not that I know of other than watching what fields change in debug mode in the inspector or using autocorrect.

warm niche
#

ah ok

#

thats what ive been doing, works enough C:

summer berry
#

If you have specific questions, I can answer them.

warm niche
#

okay well, my goal is to set the reference object of a Triger event via editor script

#

here's what i got so far

#

the next thing im confused on is how to reference the contents of one of the elements of that array

#

i can use triggerArray.GetValue(1) to return the value of that first element, but i can't continue to autocomplete by just putting a "." behind that

#

oh damn! there's some hot key i keep accidentally pressing while looking in VRC_Trigger in the inspector, it exposes more info about each item

summer berry
#

Oops, I said that but didn't look back at discord.
Yeah, holding alt will show that in the inspector

warm niche
#

lol no worries

#

okay gotcha

#

im trying to find out the right way to say triggerArray> second element > ParameterObjects

#

holding alt shows me that, but "data" doesnt autocomplete like that...

summer berry
#

ParameterObjects is an array. You create a new array and set the elements

warm niche
#

oh ok, but

#

i can't figure out how to reference it in the first place

summer berry
#

parameter objects?

#

Let me find an example script

warm niche
#

ok

summer berry
#

Simple example:

lockTrigger.Triggers.Add(
    new VRC_Trigger.TriggerEvent
    {
        BroadcastType = VRC_EventHandler.VrcBroadcastType.Local,
        TriggerType = VRC_Trigger.TriggerType.OnNetworkReady,
        Events = new List<VRC_EventHandler.VrcEvent>()
        {
            new VRC_EventHandler.VrcEvent
            {
                EventType = VRC_EventHandler.VrcEventType.SetComponentActive,
                ParameterBoolOp = VRC_EventHandler.VrcBooleanOp.False,
                ParameterString = "UnityStandardAssets.Utility.FollowTarget",
                ParameterObjects = new GameObject[] {lockFollow},
            }
        },
    }
);
#

Let me reformat that

warm niche
#

ok gimme a sec to like, analyze this

summer berry
#

So, you can access parameterObjects like this:
lockTrigger.Triggers[0].Events[0].ParameterObjects

warm niche
#

i literally just didn't know that you could get the Nth element of an array by saying someArray[n]

summer berry
#

Yeah, that is one way to access elements in container types (like arrays).
Is this your first time coding in c#?

warm niche
#

might as well be lol

#

i just never touched arrays before this

#

SUCESS

#

oops

#

this is black magic

summer berry
#

Now imagine all the things you can do with it.

warm niche
#

🤯

#

oh wait i never removed each item itself from the array before i set it

#

is it possible to remove an item from an array by it's value?

#

ik you can't change the length of an array, maybe setting each instance of that value to null would do the trick?

summer berry
#

You can’t change the size of an array directly, but you can make a new array and copy over the values you want.

#

@warm niche you are making a copy of the array by calling .ToArray(), so nothing will actually be set.
I also have no idea what your goal with this is. Are you just trying to set a trigger to a group of items for all items?

jade badger
#

How can i add buttons to a pickup object

#

also how can i get a pickup to float without flying away

stable hazel
#

what do you mean by adding buttons to a pickup? But you can have a pickup float by enabling Kinematic on the rigidbody

jade badger
#

Like have a tablet you can pick up, then with your other hand you can select buttons on the tablet

#

Like I imagined it would be

Tablet (vrc_pickup)
Button (vrc_trigger)

stable hazel
#

yeah you can do that, it just has be a child object. You might have some trouble working it though because of the colliders overlap. Might be easier to use a UI canvas for that

warm niche
#

ehhh trying to setup unity on my macbook so i can continue working on that stuff @summer berry . do you by chance know why code completion in visual studio code only comes up when i type the first letter? i need to see every suggestion :T

summer berry
#

Uh, not sure on mac the short cut, but try alt space or command space after typing the first '.'

warm niche
#

thanks

#

noice ctrl space works

summer berry
#

So close to getting the right key.

#

I don't code on my mac anymore so it makes sense.

warm niche
#

ugh this is so annoying, now im realizing it doesnt show info when you hover over a piece of the code

#

like i used to hover over like Debug.Log() for example

#

and it would tell me the parameters you need to put in or something

#

any idea how to turn that back on?

summer berry
#

I'm not sure on how to turn it on or off like that. Normally I would hover over a completed method name and it would tell me the types of the parameters.
You can also use auto complete to give you options. Start typing out the name and after the '(' it should show autocomplete. If there are more than one option, it should show an arrow that you can use your arrow keys.

warm niche
#

okay couldnt figure out the hover thing

#

anyways back to the code

#

soo now that i am not using ToArray,

#

its setting parameter objects directly

#

however, its setting it to all the gameobjects in the itemArray

summer berry
#

So, you want to go through all selected objects and update the trigger to point to all other objects but not itself?

#

From the code, you are reusing the same itemArray and also updating it every iteration.

warm niche
#

yep

#

ohh i see

summer berry
#

I would probably code this differently, but an easy “fix” would be to first duplicate the itemArray at the beginning of the loop. GameObject[] items = itemArray.Clone()
Modify the new array and set the parameter objects to it.

#

I’m worried about the null though.

warm niche
#

oh nice

#

oh the null

summer berry
#

Also, I can’t remember if .Clone() is a real thing in c# or some other language.

warm niche
#

ill see. but, this is just getting the objects, but it throws an error bc it needs animators not gameobjects

summer berry
#

One way I would do it would be to create a list, add each element individually, skipping the current element, and set parameter objects to list.ToArray().

#

Wait, animators?

warm niche
#

yeah im trying to refernce the animators

summer berry
#

Triggers always reference the gameobject and not any component.

warm niche
#

the triggers are animator bool

#

oh i seeee

#

so i wonder what this error is about

#

one sec

summer berry
#

Paste it here

warm niche
summer berry
#

Where is that being thrown? Is it your code or somewhere else?

#

Could be related to the set value

warm niche
#

hm not throwing the error anymore

#

i think i selected something other than the intended objects lol

#

Ohhh there was something wrong with .net stuff that i had to install

#

thats why there was no hover functionality

#

works now 😄

#
        {
            
            GameObject[] itemArray = Selection.gameObjects;

            foreach (GameObject item in itemArray)
            {
                GameObject[] items = itemArray.Clone();
                items.SetValue(null,System.Array.IndexOf(items, item));
                VRC_Trigger trigger = item.GetComponent<VRC_Trigger>(); 
                trigger.Triggers[0].Events[0].ParameterObjects = items;
                
            }
        }```
#

error: can't convert type 'object' to type 'UnityEngine.GameObject[]' on the first line inside the loop

#

that doesnt make any sense to me. im making an array, items, of type GameObjects. and setting it to the clone of itemArray, an array of type GameObject?

proud meadow
#

@warm niche you're assuming that the currently selected objects are all GameObject but maybe you had something selected that wasn't?

#

oh it's a compile error? I think the Clone method doesn't know what type the final object is so you have to cast

#

try
GameObject[] items = (GameObject[])itemArray.Clone();

#

working directly with arrays is a little tricky because you have to know the correct size in advance. I'd suggest considering using a List<GameObject> and convert it with .ToArray() when you are ready to use it as an array.

I'd suggest brushing up a little bit on C# programming. I think you've got a good general idea but you should aim to get to a point where you
are able to figure out some of these errors yourself, especially for things that are built-in to C#. It's really good that you're getting your feet wet with editor scripts. It's a really powerful tool that will stick with you--even if you go on to making stuff outside the realm of VRChat

warm niche
#

yeah! i think unity youtube channel has a really good playlist of c# videos. i should go through and brush up

#

btw your suggestion worked great

shell wagon
#

does anyone know how i can make an object like a sphere deform around a players hand/object when they touch it. i got it to work a long time ago but i dont remember how i got it to work

warm niche
#

what do you mean deform around something? @shell wagon

#

like shrink wrap kinda thing?

shell wagon
#

ok, lets say you walk up to a wall and you put your hand on it but your hand sinks into it and the wall deforms around your hand

#

like it makes a dent in the wall and moves the mesh kinda thing

warm niche
#

sounds like shader magic. you've accomplished this before but don't know how you did it?

shell wagon
#

yeah, i did it with just the mesh and settings in unity but its been something like over a year

#

ok maybe this will be a better analogy: something like pressing your hand to your pillow

#

sorry if its something simple :T ive been stuck on trying to figure it out for a while

#

@warm niche any idea?

proud meadow
#

@shell wagon You're going to have good results with a shader + _CameraDepthTexture

#

It will be difficult to write yourself: the known good solutions with this technique are paid: by poiyomi and another by naelstrof

shell wagon
#

ok, would you happen to have the links to them? and thanks for the help

#

if not its ok

drifting token
proud meadow
shell wagon
#

@drifting token ye something like thanks

#

and thanks @proud meadow

drifting token
#

That's not an exact implementation for VRC but it's info to get you started.

#

The gist of what you need is the camera depth texture.

#

In forward rendering it's only enabled if there are realtime shadows present.
Then it's literally just sampler2D_float _CameraDepthTexture;

shell wagon
#

ok, seams a little complicated but easy enough to get it to a working state. thanks :U

warm niche
#

@shell wagon sorry i didnt have an exact solution, but what are you making this for? sounds interesting

shell wagon
#

its a escape room for my friends and i

warm niche
#

nice

warm niche
#

y'all ever try to test and build for two clients and it launches two seperate instances?

#

this seems to happen like 1/10 times i do it, seemingly at random

#

i think it has something with be being impatient and spamming alt tab while it loads lol

proud meadow
#

I think vrchat doesn't allow one account to be in the same instance multiple times... but there's some separate bug that if both people load into the instance at exactly the same time , they bypass that check. So there are basically two bugs cancelling each other out and things happen to work, some of the time. A classic race condition

#

Test build is not a good way to see how your world works with multiple players. The correct and only officially supported way is to upload the build, open two copies of VRChat with different accounts, and have them both join the world.

warm niche
#

ah ok

drifting token
#

I miss multiboxing

proud meadow
#

From igbar:

my method is:
-open vrchat then immediately logout and then close the game
-login to the website and pull up the world
-create a new instance and open it twice so you have two versions of the game running
-login with your steam account on one game and then your vrchat account on the other
-Ta-da now you have two accounts in the same instance on the same computer

#

This is roughly what I do as well

warm niche
#

0.o

proud meadow
#

Also on steam this means your audio cuts out randomly so you can't do this and enjoy hanging out in VR and conversing with friends except for friends on oculus store version :-p

drifting token
#

brilliant

warm niche
#

nice

warm niche
#

I'm back on my quest to understand broadcast types. I've got my card system working great now, however i tested it with 4 people in the world. and when one person drew a card, it did it like 4 times. I assume this is something like broadcast chaining?

#

but I have a question that might help me understand

#

if i have a long chain of triggers / animators and such, isn't it safe to say generally that only one part, should be sync'd? the rest local? so that most of the work isnt networked?

#

i feel like i understand Broadcast types by definition, but i really don't understand how different broadcast types fall into a system of triggers, animations, and UI events

summer berry
#

@warm niche You are on the right track in realizing there should only ever be one part that syncs or broadcasts in the chain. This includes triggers, object sync, animation sync, and data storage. If you have something that happens for each person in the room, then it is over synced somewhere in the chain.
I linked it before but here is our write up on broadcasts: http://vrchat.wikidot.com/world-component:vrc-trigger:broadcasts

keen lodge
#

can someone explain to me the difference between player and player local layers when it comes to particle collision?

stiff lily
#

player is others

#

playerlocal is you

late iris
#

so, I recently used an avatar that summoned a gun with a gesture on the right hand (simple enough), but it switched firing modes and turned the safety on and off based off of the gestures of the left hand. anybody know how they did that? Ive gotten close but can't quite figure it out...

lyric iris
#

There are a few ways to do something like that, they probably used animators if you didn't have to hold the left gesture after doing something

hexed thistle
#

Not sure if this is the correct place to ask this, but is it possible have an object Push on a player avatar? (example, moving boxes that push an avatar when they come in contact.)

keen lodge
#

it's very possible, check out the map called meat grinder, it's a slope where the objective is to reach the top while a bunch of stuff is sliding down to push or kill you

summer berry
#

That map uses a custom built player controller using physics. It’s not a standard setup.

warm niche
#

can you use particles to use in vrchat i made cloads and i want to use them but there not lading in vrchat

stable hazel
#

you can use particles but you have to make sure it's not using a script. If it's just a normal Particle System component then it should work, if it's something custom then you're out of luck

quaint owl
#

Is anyone familiar with Error's HUD shader ?

proud meadow
#

I haven't read the code, but I have used it and I understand the principle. Feel free to ask away

quaint owl
#

well my camera sometimes disapears when i turn on the hud

#

and it wont ever reappear even in other worlds

#

it only occured after turning the hud on and off a few times and only once so far

#

but it required me to reupload for it to work

proud meadow
#

do you allow avatar cloning?

#

if anybody (not on your friends list -- or depending on what type of camera and if an animation turns it on, even friends) clones the avatar, they will actually share a reference to the same asset bundle

quaint owl
#

yeah i made it public

proud meadow
#

VRChat will destroy any camera components it finds if a non-friend wears the same avatar. This persists in memory cache until vrchat is restarted

#

You can see the code in AvatarValidation.cs in the SDK

quaint owl
#

damn

proud meadow
#

gotta keep camera avatars private sadly, for this reason

#

or put a warning in an avatar world

#

cameras in VRChat have been scuffed for a year and a half now

quaint owl
#

csn i have the camera local or something ?

pine depot
#

Yeah it destroys cameras without render textures if other people are using the avatar to prevent cameras on other avatars overriding other peoples viewpoints

proud meadow
#

keep upvoting the canny. I don't get why they can't use safety system for this

quaint owl
#

...i dont know what the canny is.

quaint owl
#

so hopes for a fix is low.

proud meadow
#

😢

pine depot
#

It was kind of necessary though

proud meadow
#

they've fixed other several-year-old bugs before... like being able to cancel emotes

#

so it's not out of the question

#

well at the time I understand..they didn't have safety system yet

#

it's just they never revisited the hacky code that removes cameras this way

quaint owl
#

ok ill try poking around the canny . thanks for your help.

drifting token
#

Wasn't necessary at all to do it the way they did.
Several people gave them legitimate solutions that they ignored and they had the perfect opportunity to give the player that control with the safety system and didn't.
Anything contrary has never been communicated with the community so this is what I'm left to believe about cameras.

bitter ruin
#

Hello! I have a question concerning the inventory system in unity 2018.4.13f1, Is there anyway, to allow my Unity to allow breaking prefab? Cause right now its blocking me and preventing me from doing so. I was wondering if there was anything I could do on that level because I feel like its not working cause its attempting to, but it doesn't allow it to.

lyric iris
#

Try unpacking the prefab first

#

Right click it in the hierarchy

#

@bitter ruin

drifting token
#

In a world?

hot pebble
#

Hello Ladys and Gentleman, is there someone who knows how to edit vsimes? Example: Adding a Piercing to the toung and it will move with the Vrc visimes like (AA) pls PN me if you Knowlege about that.

manic cloud
#

@hot pebble move it with AH, OH, CH keyshapes and recreate visemes in cats with those 3 selected.

twilit haven
#

How do you get an extra Camera in a world to render to the main framebuffer? I've got the extra Camera with "clear flags: don't clear", and not rendering to a default texture. It does render to the "display 1" in the game view of Unity, but not in-game (just testing in desktop mode)

pine depot
#

VRChat will disable the camera component at runtime so you have to explicitly set it to be enabled with a trigger or an animation

twilit haven
#

ah, thanks

warm niche
#

how i make a gun that shots and kills

stable hazel
#

I would wait until the unity 2018 update is out of open-beta and on live to do that because it gives OnParticleCollision a way to specify what layers it triggers on.
You'd basically just have a pickup with a particle system on it, and then OnPickupUseDown you'd activate the particle system and then give that system a trigger with OnParticleCollision Local looking for PlayerLocal layer with some action to damage the player, depends if you want to use combat system or not how you do that though. There's some more nitty-gritty details but it's basically that

feral mountain
proud meadow
#

you would have to use a set of prefabs and pick them using triggers. Scripts will never be allowed... Until udon comes out, we are limited in logic possibilities, so you would be mostly confined to exporting levels from something like that and having predefined levels in your world. you can be more creative and spawn really small bits of the dungeon at a time from prefabs maybe... but still not generated in the AI Dungeon sense.

hexed thistle
#

I'm looking for somone on Fiver that helps with scripts in Vrchat?

shadow dock
#

Not sure if any vrchat creator is on fiver. But in vrchat we dont have access to custom scripting. Can only use things vrchat has whitelisted.

drifting token
#

What an insanely specific request.

gleaming igloo
#

can you toggle a material change with an emote?

proud meadow
#

you want the material to change and remain that way?

gleaming igloo
#

yup

proud meadow
#

if you want it to change back, you either need the animator on Body to be a cycle: a looping animation that you can pause and resume at will that will go through each state... careful with turning off the Body mesh to reset the animator: as soon as Body is off, your avatar will have no bounds and will be permanently culled. If you want to toggle it off, you will need to have some other invisible mesh with large bounds to keep your avatar enabled

gleaming igloo
#

is there a different way to do it so i can change it back?

proud meadow
#

@gleaming igloo sorry forgot to follow up. To be able to change it back, you must stack another game object outside your Body mesh. You can either do it in Unity (will break the prefab instance) or you can edit your mesh in blender, make a new Empty Axes object inside your Armature, and parent your Body mesh inside that.

#

it may impact the eye tracking, unless you also keep a skinned mesh called Body outside with the 4 blinking shape keys (can be disabled I think, since you will make your own blinking)

#

I don't remember the rule but there was something stupid that wants your mesh to be named Body in the top level

#

there's no way to do that if you want two stacked animators

#

OuterAnimator (has unchecked Animator that always turns off material swap)

  • Body (has uncheked Animator that always turns on material swap)
#

and so you can make two emotes: one turns on OuterAnimator Behaviour.Enabled (using that anim file)

#

and one turns on OuterAnimator/Body Behaviour.Enabled

static relic
#

Was messing with alternate eye tracking so you wouldn't have to worry about VRC's hierarchy and naming rules. Worst case scenario, there's always that.

proud meadow
#

Xiexe also released some nice eye tracking shaders a couple months ago (patreon?)

stiff lily
#

the setup seemed a bit difficult for newcomers though

distant oar
#

does anyone know how the new Camera Test by Merlin work? It's definitely camera work but it's not a flat render texture

#

there are different modes like minature and seamless portals

pine depot
#

no render textures

#

Just cameras with high depths using magic to position them in cool ways relative to the player

distant oar
#

so some sort of animator and player tracking

#

?

pine depot
#

At its core probably yeah

distant oar
#

brain hurts

proud meadow
#

@distant oar of note, it's not using a render texture. If no render texture is used, unity will render in single pass stereo onto the main framebuffer. You can set it to Don't Clear so the depth buffer and color buffer are kept from previous cameras.

The major drawback of doing things this way is if you enable a camera in VR without a target texture, unity will offset the camera game object by the playspace offset, so you have to also use player base tracking to counteract that initial offset.

pine depot
#

which isnt even the hard part

#

hard part is rotation

#

or more like I have no idea how he fixes the camera rotation lol

proud meadow
#

camera rotation? what's the issue?

pine depot
#

Or is he just positioning properly with the playspace tracking that the rotation done automatically by the headset works flawlessly?

proud meadow
#

it's possible to do pretty much all transform math using a combination of SetParent, AutoCam or SceneResetPosition, and animators

#

no you might need to counteract that

#

it's definitely a puzzle but for example one way to apply one rotation to another is by reparenting, using Animation.Sample to reset the local rotation to 0 and reparenting again

#

there are many ways to do things like this

summer berry
#

He would still need to set the height properly since the in game playspace isn't the same height as your real playspace.

#

But if you have the position and rotation of the in game playspace and the proper scale from the combat system, height would be the only issue.

proud meadow
#

isn't it possible to enable a camera component to learn what the initial playspace offset is, and save the difference between the initial playspace offset using camera component and the initial playspace offset using TeleportPlayer align with view

#

and that should always be a constant

#

unless you change avatars

split hull
#

was considering trying that for playspace tracking at least, along with raycasting upwards from below the player or down from above the player to find the capsule origin approximately since I don't need it to be exact for the avatar pedestal

distant oar
#

Merlin - "A magician never reveals his secrets"

pine depot
#

he does it just sounds like magical incantations to most people

split hull
#

lol yeah I try to explain stuff, a lot of the things are built on other stuff the community has done

#

the rotation cancelation is just throwing out the head rotation and then finding the difference in rotation from the real player camera and applying that

pine depot
#

throwing out the head rotation though? huh

split hull
#

you just track the head position, then cancel the VR head offset out for the position. For the rotation you don't track the head rotation directly, you just put the camera in the scene with some default rotation and apply the difference between the normal camera and the current camera you're using. That difference is usually just the capsule rotation on Y

pine depot
#

ah okay

nova vortex
#

Do you think you'll ever make a tutorial for us mere mortals @split hull

pine depot
#

He kind of just did

split hull
#

looking at prefabbing a part of it for the avatar pedestal since people want it for their world, but there are a few things that need to be copied over from scene settings to work right and other stuff to clean up since the stuff is sprawling across my scene hierarchy at the moment

pine depot
#

@split hull how many cameras are used when just using one thing like the avatar pedestal?

split hull
#

if it's just the pedestal, it needs 3 extra cameras, one for the main scene + avatars, one for the pedestal, and one for ui elements

#

for everything to play nice

#

if you are fine with it just drawing over your UI and having no post processing on the avatar in the pedestal 1 extra is fine

summer berry
#

(that ui camera is great when we run out of keywords)

pine depot
#

You mentioned that you were discarding the main view?

#

but your only overriding it so it still has a performance impact?

split hull
#

yeah you pay the performance overhead of rendering the scene twice basically. I wish I could tell the main camera to not render specific layers or just turn off, but I have no idea where it is in the scene hierarchy so I can't animate it

pine depot
#

Just set it to have a high near clip thats close to the far clip?

#

far enough out that it doesnt render anything?

split hull
#

that works sortof if you always have it overridden. But at least in the camera test world, the overrides will be shut down when you turn off all the options

#

again I could animate the clip plane if I knew where the camera was in the scene

pine depot
#

Yeah but do that + have your own controlled maincam

split hull
#

also if you put the far clip plane too close to the view you can't interact with your menus, so it needs to be at least a few meters out

pine depot
#

and I mean have it like that by default from the reference camera in your scene when you upload

#

no thats why I said high near clip that goes to the far clip

#

pretty sure you can still interact with things in that case

split hull
#

near clip on the main camera gets capped to 0.05

pine depot
#

oh it actually does

#

thats such a weird thing to enforce since they allow for such small far clip values

split hull
#

¯_(ツ)_/¯ the default camera in Unity has a near clip of 0.3 which is way too high for VR so it makes sense

pine depot
#

Custom layer visibility when

split hull
#

otherwise people would frequently accidentally set the near clip way too far

#

Yeah that'd be really nice to have

pine depot
#

same issue though people messing it up if its just the main reference camera that controls it

split hull
#

there's stuff that I need to do the culling for in shader because we can't exclude them from the main view. Like the skybox has a second mesh that renders for the portal views, but would have a bunch of overhead in the main view that isn't needed

#

for that type of thing it could be a toggle on the VRC world I guess

#

setting what layers are visible has a lot more viable use case than putting the near clip plane out at > 0.05 at least

pine depot
#

that seems like a Never™ kind of feature though honestly

summer berry
#

Do we even have a canny for them?

split hull
#

not sure

summer berry
#

We ask when, but do they even know we want it?

split hull
#

I voted on this a while ago and forgot

pine depot
#

Yeah I thought I had voted on something like that

split hull
#

searched for it when I originally voted on it because I was going to make a canny otherwise

near nymph
#

Does anyone know any prefabs out there or methods for displaying slideshows in game from an URL or webpage?

dull hollow
#

At that point wouldn't it be better to turn the slideshow into a gif/mp4 and then play it via the normal way?

near nymph
#

like one slide per frame kind of thing and then just play it frame by frame in a video player?

#

im seeing all different sorts of things like VRSlide and other VRC_Panorama based systems but its all in japanese and the translations are really bad through google

#

i believe they can display content from slideshare

#

its hard to tell as its all japanese

dull hollow
#

I dunno what any of that is sorry. GL with google translate

near nymph
#

alright thanks anyway

shadow ruin
#

@near nymph can you link the prefab? I'm interested in looking at it myself

near nymph
#

I would but i cant find any @shadow ruin

shadow ruin
#

The japanese one you were looking at?

#

Or was it just documentation on it and no prefab?

#

Still interested in seeing that if you still have the link

near nymph
#

I asked The Architect from VRChurch but he did not want to share any info

#

I found one actual page eith an actual asset on it but it was paywalled

#

Its called VRSlide

#

The way it works seems a combination of a php web page and VRC_Panorama

#

But idk anything else yet

shadow ruin
#

Ahh found it 600 yen isn't too bad atleast

near nymph
#

True

drifting token
#

not at all

near nymph
#

Im talking to the creator now it seems like a interesing thing but i always like trying to do stuff myself before paying