Very good tutorial as always! There is one issue however when using camera overlays, if the player updates the VRC camera (by changing the near clip plane in settings or taking a screenshot using the F12 key), other cameras will no longer add to the final image, unless VRC is restarted. This is a problem my friend has with "Thad Recursive Room"
Thanks again for the insight! ^^ I had a game that would use this, but I never got to the point where I was using it fully. It's a pretty interesting edge case, but luckily I don't think it will happen often
@@PlayerBush001 It's fair to assume most people are going to get the intended effect, but I think it's always good to know what limits and weird quirks there are 😄
Because of your tutorials I managed to make a horror map, I'm new to this unity stuff and my English is still bad, but with your videos I managed to make my first map, it's called " Came play with me Spookality "" right away thanks for another tutorial
That's awesome! I'll have to give it a look sometime ^^ Sorry, my later videos haven't been subtitled, due to a new recording method. Hope they have still been more or less understandable ^^'
I had a look at your world yesterday, I wasn't too bad for a first world, and I could see you were having fun playing around with different ideas. I wrote some notes (in no particular order) on things that I would look into improving - Too much dynamic lighting/ none of the lights where baked in. None of the lights were baked in, which means they are a little rough. Unity can only handle 5 realtime lights on an object at once, and this will cause the furthest to disappear. The ground seems to be spilt up to help this. There is no bleed from the lights, which makes them look very game-like and cheap; as there is not raytracing. This is one of the benefits of baked in lighting, as it makes it more realistic. There is also a glitch that happens with the shadows, where when the object is out of view, the object turns off (normal unity optimisation stuff); but this causes the objects shadows to disappear. If the lighting was baked in, this wouldn't happen. If the player must have a shadow, consider making the light 'mixed' instead of real-time, so the main world shadows are baked, and the players gets a shadow from the real light. IconoClass has a really good introductory video on lighting in vrchat, so I recommend checking his video/s out (th-cam.com/video/1pNMo2UQY1o/w-d-xo.htmlsi=kyF-px5aTgHLx6_v) -lights have a really small range; making them look out of place. -file size is pretty bad. While having good looking textures is a good thing, reducing the size of the world helps players not get bored while loading the world (expecially for those on poor connections). A world of your size shouldn't need to be the size that it is. Consider reducing texture sizes of materials to be less than 4k, and any normal, height, metallic can usually be half of the main texture. Also, consider atlasing some of your non-repeating textures (like your posted notes, etc..) to save even more. -the light for the tv, is inside the cabnet, leading to a weird shadow. Consider turning off shadows on the cabnet (on it's mesh renderer componet) or moving the light. - There is a gap in the roof on one of the hallways, that lets you see the sky (you likely already know this) - The torches are not global (consider adding an object sync component to them). They also don't turn on and off, which means the light source is always running, causing calculations to happen when they are not being used. I made a video on making a torch turn on and off when you use your trigger, so you may want to check that out (th-cam.com/video/-p-QPxtWg3o/w-d-xo.html) - everything is rather still. While this can be good, adding a couple of animations can really add something to your world. and make things feel more alive. What if the bear was slowly breathing? what if the light in its eyes pulsed slightly? a bit of dynamicness can really add to the world. Here's a really good introduction video on simple animations (th-cam.com/video/sgHicuJAu3g/w-d-xo.html) -Consider adding a dust particle to the world. The air looks really clean for a hospital with a bunch of dead in them. A little dust can really make the place look less than clean and well kept. This would be done with a simple dust particle that follows the player; like i had in my player follower tutorial (though I didn't explain how to make the particle. don't have a video for that) - the world is a little too dark. While this can be good for atmosphere, it is a bit much here. Ideally, you want to give players some vision, to help them navigate, and to partially see things where they aren't looking; which can lead to them seeing things that aren't there. Consider increasing the ambient light a little to allow for this. (in the settings tab, you can change lighting to be either based on the skybox (default) or a particular colour/ 3 colour) Hope that helps ^^
While I'm not a fan of jumpscare maps in VRC, your tutorials are great. Mentioning that some things are different in VR versus desktop mode is crutial. So many effects and shaders are not VR optimal or are outright broken in VR. Keep up the good work mate.
Jumpscares have their time and place, but I get ya. Glad your finding the tutorials helpful ^^ The VR difference stumped me on one of my maps, so I figured I would share here. My old method was to make the camera a child of an empty obj, and then rotate the empty to keep the camera facing straight! It worked well enough on pc, but was jittery on quest...
I'm having trouble trying to get 2 camera jump scares to work but when I try to toggle the second camera it turns on but won't turn off after my custom event delay time is up
Is the script on the camera even running? Something I caught when doing the visuals for this video, is that if the gameobject is off when the game starts, it doesn't turn off the camera. The first place I would look is to make sure your 'event, on enable' node is playing. To do so, just add a 'debug, log' node to it, and make sure it is playing. If you don't know how to use that node, have a look at my 'how to debug your code' video Hope that helps ^^
For the delayedseconds event, i know there is like a time difference thing between real time and game time, where i think game time is based on frames or something like that? The 2 seconds you put, is that real time where it would be the same length for everyone? Versus game time which could differ per player, given their frames/tickrate/whatever it is that governs game time.
I understand the concern, but it's not really how it works. You see unity (and basically all other game engines) work based on frames rendered to the screen. The tldr is, if it hasn't been rendered on the monitor, there is no point doing something early. For physics, that kinda have to happen at a fixed time interval, it just does as many as it needs to to catch up, each frame. For 'send custom event delay by seconds', it records the time, and then the next frame, it checks if it has been more than x seconds (2 in this case). If not, it won't do anything and test next frame. If so, then it will play the custom event x seconds + "time taken to render this frame" + "portion of time take to render previous frame". Given most people are running more than 30fps, this is negligible in practice. If x = 0, it will play it on the next frame. However, you were asking if it would take shorter and longer for other people, and that would happen if we were using 'send custom event delay by frames', which will wait for a set number of frames to render before it plays. This WILL vary wildly between clients, as not everyone can run the game the same, or has the same hz monitors/ headsets Hope that helps ^^
id like to ask, i did the camera layers as stated here, but each time i launch it, it just never pops up? it seems like the culling mask on the player camera affects what can be seen..
I love your tutorials thank you! I don't understand why I am stucked at the very beginning, I can see the spider in the game window but as soon as I hit play it won't show with the vrcworld
Ah, that's because the camera auto turns off when the game begins. If you look closely, you will see that after i start the game, i go and turn on the camera. I go over it quite quickly, so I totally understand you missing it. I address this problem a little later in the video ^^
Hypothetically, for the spider; you could create a new layer just for the spider and put it on that; if it's only rendering the spider it shouldn't show any parts of the world when the spider's being rendered in the player's face; eliminating the need for a shader to perform said function.
Yes, though you could just use one of the many that are already there, and aren't used for vrchat's ui (aka, water or audio layers). I didn't change the layer here to keep things simple and easier for people to bug fix, but if you have many jumpscares, they can see each other. In fact, if you look closely at the end, because i used the same layer for all of them, you can see some of the other jumpscares as seen by the different cameras. If you have a full map, this will cause problems ^^' Also, the player can see all layers, except mirror reflection, to which the player's camera and mirrors can see
Great video this is gonna come in handy but i have a question about camera performance, do you think its possible to have like a security camera system but only one camera shows at a time
Can you do a toggle random GameObject on timer. When the timer reaches 0 reset the timer and spawn another random GameObject. Rinse nd repeat. I'm trying to make a random lift/elevator world
Sup Bush! Amazing tutorial, but hey, I have a quick question about objects. In my world I have a few pickup objects that, if I pickup them and let them stay in different places around the map, the respawn to the original position (without falling off the map). Is there a way to lock the respawn thing? Or to create a respawn timer before the object respawn? Thanks for the help (if you already have a tutorial about that, sorry for asking XD)!
I haven't made a video for now. Also not that easy to explain via text, as it's a bit annoying. Here's an example script; so feel free to copy and paste this into your graph, and see what you can make of it ^^ application/vnd.unity.graphview.elements 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
that was the goal ^^ I'm not much of an artist, so I'm really hoping to see some people take this method and make something really cool with it. I'll be keeping a look out! ^^
Great, now i need to know how to do it for an avatar to jumpscare everyone around me, i been searching for the method for almost 2 years and no luck, and i see many of that annoying animations that put stuff on ur face, while i dont know how to do it.
@@TopKekLordie probably best to do this without a camera, as there are some problems with cameras and vrchat settings (see pinned comment) As for getting this to work for avatars, I unfortunately know very little. I believe they are doing it with the avatar dynamics system, but I haven't made an avatar since they added that in, so I know basically nothing 😅
I've never done it myself, but I know how to do it in theory. On every station (usually used for seats) they have an animator. With that animator, you can override the player's animations; including player position and bone rotation. You use to also need the avatar sdk installed in your project, but there was talk about that no longer being need/ going to no longer be needed. Then, to make the player move or dance, you would just need to make the animation play, when the player enters the station (event, on station enter). That's about all I know. Hope it helps ^^
yea, this would work. If you're interested, there is an asset called the 'doppelganger system' (vrchat.com/home/world/wrld_da406b46-7f8b-4251-a2ec-e6e6e56a62ef), that is pretty fun to play with. It has some code behind it, but it uses this method to duplicate the player
You asked for an idea for a Unity basics tutorial... How about showing people how to bake lights and how important it is to keep unbaked realtime lights to an absolute minimum? Too many really good VRChat worlds are very laggy, just because of that.
I'm more focused on udon and how it works, instead of more artistic side of things. Though honestly, the main reason is that Iconoclass did a stellar video on lighting for vrchat, and it's way better than what I would have made myself. Feel free to have a look if you're interested ^^ th-cam.com/video/1pNMo2UQY1o/w-d-xo.htmlsi=vrFIXTMhIFnAg1Tr
Very good tutorial as always! There is one issue however when using camera overlays, if the player updates the VRC camera (by changing the near clip plane in settings or taking a screenshot using the F12 key), other cameras will no longer add to the final image, unless VRC is restarted.
This is a problem my friend has with "Thad Recursive Room"
Thanks again for the insight! ^^
I had a game that would use this, but I never got to the point where I was using it fully. It's a pretty interesting edge case, but luckily I don't think it will happen often
@@PlayerBush001 It's fair to assume most people are going to get the intended effect, but I think it's always good to know what limits and weird quirks there are 😄
@@krajsyboys Certainly. It's always good to know the limits and edge cases ^^
Because of your tutorials I managed to make a horror map, I'm new to this unity stuff and my English is still bad, but with your videos I managed to make my first map, it's called " Came play with me Spookality "" right away thanks for another tutorial
That's awesome! I'll have to give it a look sometime ^^
Sorry, my later videos haven't been subtitled, due to a new recording method. Hope they have still been more or less understandable ^^'
@@PlayerBush001
Yes, in addition to inducing learning English, I learned unity! you are
incredible
I had a look at your world yesterday, I wasn't too bad for a first world, and I could see you were having fun playing around with different ideas. I wrote some notes (in no particular order) on things that I would look into improving
- Too much dynamic lighting/ none of the lights where baked in.
None of the lights were baked in, which means they are a little rough. Unity can only handle 5 realtime lights on an object at once, and this will cause the furthest to disappear. The ground seems to be spilt up to help this.
There is no bleed from the lights, which makes them look very game-like and cheap; as there is not raytracing. This is one of the benefits of baked in lighting, as it makes it more realistic.
There is also a glitch that happens with the shadows, where when the object is out of view, the object turns off (normal unity optimisation stuff); but this causes the objects shadows to disappear. If the lighting was baked in, this wouldn't happen. If the player must have a shadow, consider making the light 'mixed' instead of real-time, so the main world shadows are baked, and the players gets a shadow from the real light.
IconoClass has a really good introductory video on lighting in vrchat, so I recommend checking his video/s out (th-cam.com/video/1pNMo2UQY1o/w-d-xo.htmlsi=kyF-px5aTgHLx6_v)
-lights have a really small range; making them look out of place.
-file size is pretty bad. While having good looking textures is a good thing, reducing the size of the world helps players not get bored while loading the world (expecially for those on poor connections). A world of your size shouldn't need to be the size that it is. Consider reducing texture sizes of materials to be less than 4k, and any normal, height, metallic can usually be half of the main texture. Also, consider atlasing some of your non-repeating textures (like your posted notes, etc..) to save even more.
-the light for the tv, is inside the cabnet, leading to a weird shadow. Consider turning off shadows on the cabnet (on it's mesh renderer componet) or moving the light.
- There is a gap in the roof on one of the hallways, that lets you see the sky (you likely already know this)
- The torches are not global (consider adding an object sync component to them).
They also don't turn on and off, which means the light source is always running, causing calculations to happen when they are not being used. I made a video on making a torch turn on and off when you use your trigger, so you may want to check that out (th-cam.com/video/-p-QPxtWg3o/w-d-xo.html)
- everything is rather still. While this can be good, adding a couple of animations can really add something to your world. and make things feel more alive. What if the bear was slowly breathing? what if the light in its eyes pulsed slightly? a bit of dynamicness can really add to the world. Here's a really good introduction video on simple animations (th-cam.com/video/sgHicuJAu3g/w-d-xo.html)
-Consider adding a dust particle to the world. The air looks really clean for a hospital with a bunch of dead in them. A little dust can really make the place look less than clean and well kept. This would be done with a simple dust particle that follows the player; like i had in my player follower tutorial (though I didn't explain how to make the particle. don't have a video for that)
- the world is a little too dark. While this can be good for atmosphere, it is a bit much here. Ideally, you want to give players some vision, to help them navigate, and to partially see things where they aren't looking; which can lead to them seeing things that aren't there. Consider increasing the ambient light a little to allow for this. (in the settings tab, you can change lighting to be either based on the skybox (default) or a particular colour/ 3 colour)
Hope that helps ^^
Damn! What a lesson you gave me, thank you in advance! You can be sure I will improve! Thank you, thank you, thank you!! @@PlayerBush001
While I'm not a fan of jumpscare maps in VRC, your tutorials are great.
Mentioning that some things are different in VR versus desktop mode is crutial. So many effects and shaders are not VR optimal or are outright broken in VR.
Keep up the good work mate.
Jumpscares have their time and place, but I get ya. Glad your finding the tutorials helpful ^^
The VR difference stumped me on one of my maps, so I figured I would share here. My old method was to make the camera a child of an empty obj, and then rotate the empty to keep the camera facing straight! It worked well enough on pc, but was jittery on quest...
I'm having trouble trying to get 2 camera jump scares to work but when I try to toggle the second camera it turns on but won't turn off after my custom event delay time is up
Is the script on the camera even running? Something I caught when doing the visuals for this video, is that if the gameobject is off when the game starts, it doesn't turn off the camera.
The first place I would look is to make sure your 'event, on enable' node is playing. To do so, just add a 'debug, log' node to it, and make sure it is playing. If you don't know how to use that node, have a look at my 'how to debug your code' video
Hope that helps ^^
I love these Tutorials! Helps me a lot for my Map ❤
Glad to hear! ^^
oh yeah this gives me a great idea thanks lol
good luck! Would love to see what you came up with ^^
For the delayedseconds event, i know there is like a time difference thing between real time and game time, where i think game time is based on frames or something like that? The 2 seconds you put, is that real time where it would be the same length for everyone? Versus game time which could differ per player, given their frames/tickrate/whatever it is that governs game time.
I understand the concern, but it's not really how it works. You see unity (and basically all other game engines) work based on frames rendered to the screen. The tldr is, if it hasn't been rendered on the monitor, there is no point doing something early. For physics, that kinda have to happen at a fixed time interval, it just does as many as it needs to to catch up, each frame.
For 'send custom event delay by seconds', it records the time, and then the next frame, it checks if it has been more than x seconds (2 in this case). If not, it won't do anything and test next frame. If so, then it will play the custom event x seconds + "time taken to render this frame" + "portion of time take to render previous frame". Given most people are running more than 30fps, this is negligible in practice. If x = 0, it will play it on the next frame.
However, you were asking if it would take shorter and longer for other people, and that would happen if we were using 'send custom event delay by frames', which will wait for a set number of frames to render before it plays. This WILL vary wildly between clients, as not everyone can run the game the same, or has the same hz monitors/ headsets
Hope that helps ^^
Good explanation
Thanks! ^^
Sick dude
Glad you liked it ^^
id like to ask, i did the camera layers as stated here, but each time i launch it, it just never pops up? it seems like the culling mask on the player camera affects what can be seen..
I love your tutorials thank you! I don't understand why I am stucked at the very beginning, I can see the spider in the game window but as soon as I hit play it won't show with the vrcworld
Ah, that's because the camera auto turns off when the game begins. If you look closely, you will see that after i start the game, i go and turn on the camera. I go over it quite quickly, so I totally understand you missing it.
I address this problem a little later in the video ^^
@@PlayerBush001 thank you so much! I will try it later. Big love from Italy!
@@PlayerBush001fantastic it works!!!!I just had to watch tho whole video, sorry about this and thank you for the support!
@@metaveo7449 no worries! Good luck on your world ^^
Hypothetically, for the spider; you could create a new layer just for the spider and put it on that; if it's only rendering the spider it shouldn't show any parts of the world when the spider's being rendered in the player's face; eliminating the need for a shader to perform said function.
Yes, though you could just use one of the many that are already there, and aren't used for vrchat's ui (aka, water or audio layers). I didn't change the layer here to keep things simple and easier for people to bug fix, but if you have many jumpscares, they can see each other. In fact, if you look closely at the end, because i used the same layer for all of them, you can see some of the other jumpscares as seen by the different cameras. If you have a full map, this will cause problems ^^'
Also, the player can see all layers, except mirror reflection, to which the player's camera and mirrors can see
Great video this is gonna come in handy but i have a question about camera performance, do you think its possible to have like a security camera system but only one camera shows at a time
Can you do a toggle random GameObject on timer. When the timer reaches 0 reset the timer and spawn another random GameObject. Rinse nd repeat.
I'm trying to make a random lift/elevator world
Sup Bush! Amazing tutorial, but hey, I have a quick question about objects. In my world I have a few pickup objects that, if I pickup them and let them stay in different places around the map, the respawn to the original position (without falling off the map). Is there a way to lock the respawn thing? Or to create a respawn timer before the object respawn? Thanks for the help (if you already have a tutorial about that, sorry for asking XD)!
I haven't made a video for now. Also not that easy to explain via text, as it's a bit annoying. Here's an example script; so feel free to copy and paste this into your graph, and see what you can make of it ^^
application/vnd.unity.graphview.elements AO1a224byRH9FWOe2YO+Xwz4IZacQNggXpi2XgKD6Et1lllqRuHFG8H2l+1DPim/kBqSEiWxLY9l0qHXhASBnBlNV885p+pUT//39/+8r975yQKqp39/X+XFZPI3f4FfqnM/HfswgdH5q5Ph6U/ipL24bBto5jM88DL8E+J8eNXEalAtxgmvd4lFo7Ml2YhAJAuCWGoYScJLa7SRnBq8+LKdjefjtqmevq/+XT0ljDpRG8WcEoyrQXWFx5SyNX6VTjJJNVcfB1XTJnhzdjrDKCu8y+b37aDKk/a39bm3qyvPuwnNljNaNOP51Src89U031fjZjb3TYSz0+opxZvP5tNx84/16ar6OHjMvw2vZnO4qIfLg4MnF7PYTifjMHhyDtMZTviZrGn3M3hyspjMF1N41sBiPvWTwZOfF2Eyjj/B1ev2V2ieBWO8ikozJyRQ6z5cdJEsH/ZXhfa8bSfgm93G9nqKQxxeWH/2k9lXxrUPJBtUUPXxbRdXSWqrkc+aueA3uvIGZeW8IykHRqQWmgTpEsnKGY/3lgFoQVdCMFtTaZUVzkph1tLihrraGNEd+dFlNW7mJ+2imcP0j0ngQ43r/yasIQ47gRtlaZGp8MkQH1kkMoVEnGUZK1ZEdQjtFYSCsrjQthbMMGG1YfZaWcbI2kjrKBOrwz+6vKYwu/S/Nacw8Vd/TCIfalzfTmB/gfnoWmQ3uhKxM3zOEWYpOsEIgrisDJEhKC0itZyybV1xqWsuLZX6WlKcyxq/KaqscoV6tXsR7fH59bLHj0N9G5YX79Cnj142P4/jr4vLG2C4ZdRmoERRx4mkwZDAk0BT4IAqsEJ5V7IS2tSMKSul4Vrpa5eOWNWWYqZz1uKd79v0u+hUOXnqDeZZlTjOH609JluZifcMgnJUMK+r+xh+al6n03YzK8oT9SkzkrN0GJWMxFPKCXCRmKMYXU6lWTHazcrw23PiXCznJJ3QiqNLsg9OSiumAA0aiZ5jBZE0EhspI5R6IXiwPEL67KQe7q/q0ejVKpGO1lXsvB2nm8lbpVhWNhGmBE4+SE8cjkuYphGFx50vaU0xeU9rjKqHtNZH0h/oXspamQMni9m8vdhwQAnPEGgSlURma4dAuIwSY0DxnPA5yBIHHL/XezL6JTmnUs5FTXFIxQHNucgex5WB5JhRVCaLAG6LAAeWmdb0wnAKBurVyZvUNsjNi7Y566xy9hFmZ93BJRCvIML4HUyRpkNo0gqW5Zll3Yc0hNg2aXZN3tUE7vix0Z1BXjSLi9nyBq/HF92lJdZ77bl3WZNkpUa4kf/eQ0IUslDRSyNl3IZbmNpayZTiq/6nn+TXlo17a4SVidjcmUXgljhMZSQzo3LW+FG7D/RH8Xa3OfNVsS0ZsNvY+CNDQhrWHQ/rFRHrJRPrW1TE4O5esomW9Y22QW19eHOZ/LzgpoqpTScNKTBDNEeaI9eReIxrwp3MKWO+M1yUUpvktRNOblJbl+yE0VgQtSjU663c5tCYUIZNURCAORVvRqywnmisMtFA9jr6w89taRHh+RXbftjDknXtNefCIiYTtWFcUr5JLN3jdhqNCHMr22S28woDLNLSoCkUDstqUoEEGyyJOXOHKYk5r/aVVPb41HstWT3W6x5qw9arNXIeRMrCEwoB7VoCR0JSnLgYDRIngsu2wC+pbOdTLHpWtfFsnQFnQjGBJ77/BmmvpNkS/2ahFZ1LezkaLgKGGbuHPrq9DHvnc3F9to+GS/mZ2ppaNOIS7aNDTM0Npg80Vb0ItOeMsZz+brF/LLD7i6hUMHbHmeC0jl236COTRJposWUVWN0Zg6y45VwWW1ZMA9i2ce7cqndbcQZ7r65nwQrjlky6zxmrDDY0HttSjv2JNCkRx7F5o9g7Cpp55MkfGbMHxhRLQE807mO/btlvsLe9oD+WgE+XgBI4vfr5gv/T+gvXEQZ9c8B9V25VikrJTChV2PryoIg1MhLAwTIYAPxz6K786A9xyOdTDOeXW2mhB66FRXPxZQt5NLjsmMb7yogNjuHoViKy3NEQFfNaJEO3FvL6rTLukHTfEoetsv5XmM1e/+Kbl9MX/1r4yWdL+zrYzVpkj0e8jeT9Bdl1Zv8Ujn2yx9EH7iSiXlXdJxuTiVgpQKNCPKfEeueIyzlC1DqIWNr9hPAuX0JYod1yr9PK0RFs67o2wGEZoVQ4qsWxsH9VYe/1pqZU2F3p1VefNePYvddCU4DGDtDnOS2IX757szLZZPAgFBXab3H7Rwb8e6nwW5XlTymNH9Et9mFSsVtUJe5+NrX0SWXH0vLtGkbtRaKcBuJVxgKfsd4HKROBxBPEJFM0pQUmxVgJfmHdndQlj4Xl0YuGj9QztVJwGTFoqYFISEAsmEQSSwgxMO554Z09EdIVvcLnEO3Jn6Oad75gWFJzr30wJSMi74Kve23C6YxIT7ptbW3AiAJ2k2hDmMFAwZDgucGuNMUAeBewcLQh34ENOdA9HL34td0my9Iejh4qwF/pAVTkmXATuy0c6GmCYIGIkAILhttM99YzH+IWjptX48cdHLvawVE0cH14V0r5RmxvUBRcPcz078q+9dqBvyv7VsSmz7auIjbFLbHaHMHpC87bj/8D
just in time for spookality >:)
that was the goal ^^
I'm not much of an artist, so I'm really hoping to see some people take this method and make something really cool with it. I'll be keeping a look out! ^^
Great, now i need to know how to do it for an avatar to jumpscare everyone around me, i been searching for the method for almost 2 years and no luck, and i see many of that annoying animations that put stuff on ur face, while i dont know how to do it.
@@TopKekLordie probably best to do this without a camera, as there are some problems with cameras and vrchat settings (see pinned comment)
As for getting this to work for avatars, I unfortunately know very little. I believe they are doing it with the avatar dynamics system, but I haven't made an avatar since they added that in, so I know basically nothing 😅
It works well for Desktop users however for VR players it doesn't seem to render anything
Could you do a video about animating a player's position? I think most worlds use chairs for that and animate their movements then.
I've never done it myself, but I know how to do it in theory.
On every station (usually used for seats) they have an animator. With that animator, you can override the player's animations; including player position and bone rotation. You use to also need the avatar sdk installed in your project, but there was talk about that no longer being need/ going to no longer be needed. Then, to make the player move or dance, you would just need to make the animation play, when the player enters the station (event, on station enter).
That's about all I know. Hope it helps ^^
Thanks, It's still hard for me to picture how to do it in process but I can sort of picture how it works thank you! @@PlayerBush001
Wait, using these ideas, could you in theory create a hologram of a person?
yea, this would work. If you're interested, there is an asset called the 'doppelganger system' (vrchat.com/home/world/wrld_da406b46-7f8b-4251-a2ec-e6e6e56a62ef), that is pretty fun to play with. It has some code behind it, but it uses this method to duplicate the player
Could u do a tutorial on how to make world intros like how JustBClub or Midnight Bar does. 🥺👉👈
You asked for an idea for a Unity basics tutorial... How about showing people how to bake lights and how important it is to keep unbaked realtime lights to an absolute minimum? Too many really good VRChat worlds are very laggy, just because of that.
I'm more focused on udon and how it works, instead of more artistic side of things. Though honestly, the main reason is that Iconoclass did a stellar video on lighting for vrchat, and it's way better than what I would have made myself. Feel free to have a look if you're interested ^^
th-cam.com/video/1pNMo2UQY1o/w-d-xo.htmlsi=vrFIXTMhIFnAg1Tr
I know exactly what to do with this
Bro I hate these people who do this once I was playing a game and then something popped up on my screen looked so cursed my heart fell
😑 Promo-SM
Haha :P