ULTIMATE JUMPSCARE tutorial!!! - Udon / VRChat SDK3.0

  Рет қаралды 4,065

PlayerBush001

PlayerBush001

Күн бұрын

Here's a simple tutorial on how to make a jump scare in vrchat, that stays in front of the player.
This took me ages before I understood how to do this, so I'm happy to be able to share how to do this! While you could do this with a screen space shader, using this method is wayyy more versatile, and I believe it's both more approachable for beginners, and allows for more dynamic animations.
This method can also be used for more than just jump scares. Want to do a heads up display? This would work for that! Want to show a cut scene from a certain perspective? This would work for that too ^^ (careful on the motion sickness....)
So hopefully this is helpful. As always, if you have any questions, feel free to ask in the comments bellow! ^^
Come join the discord! / discord
Wanna help support me in making more vrchat stuff? Support me on patreon! (I'm grateful for any support ^^') / playerbush001
#VRChat #Udon #SDK3

Пікірлер: 52
@krajsyboys
@krajsyboys Жыл бұрын
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"
@PlayerBush001
@PlayerBush001 Жыл бұрын
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
@krajsyboys
@krajsyboys Жыл бұрын
@@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 😄
@PlayerBush001
@PlayerBush001 Жыл бұрын
@@krajsyboys Certainly. It's always good to know the limits and edge cases ^^
@YukineVR
@YukineVR Жыл бұрын
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
@PlayerBush001
@PlayerBush001 Жыл бұрын
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 ^^'
@YukineVR
@YukineVR Жыл бұрын
@@PlayerBush001 Yes, in addition to inducing learning English, I learned unity! you are incredible
@PlayerBush001
@PlayerBush001 Жыл бұрын
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 (kzbin.info/www/bejne/Z6GxfqJoiraMZ9Esi=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 (kzbin.info/www/bejne/Y6GQgoOuqbyaadE) - 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 (kzbin.info/www/bejne/qZirmparf6aoack) -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 ^^
@YukineVR
@YukineVR Жыл бұрын
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
@ubrsmcdm
@ubrsmcdm Жыл бұрын
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.
@PlayerBush001
@PlayerBush001 Жыл бұрын
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...
@ReighnDropz
@ReighnDropz Жыл бұрын
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
@PlayerBush001
@PlayerBush001 Жыл бұрын
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 ^^
@ShaneTheBane
@ShaneTheBane Жыл бұрын
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.
@PlayerBush001
@PlayerBush001 Жыл бұрын
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 ^^
@MaxTGames
@MaxTGames Жыл бұрын
I love these Tutorials! Helps me a lot for my Map ❤
@PlayerBush001
@PlayerBush001 Жыл бұрын
Glad to hear! ^^
@gseany
@gseany Жыл бұрын
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.
@PlayerBush001
@PlayerBush001 Жыл бұрын
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
@metaveo7449
@metaveo7449 Жыл бұрын
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
@PlayerBush001
@PlayerBush001 Жыл бұрын
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 ^^
@metaveo7449
@metaveo7449 Жыл бұрын
@@PlayerBush001 thank you so much! I will try it later. Big love from Italy!
@metaveo7449
@metaveo7449 Жыл бұрын
@@PlayerBush001fantastic it works!!!!I just had to watch tho whole video, sorry about this and thank you for the support!
@PlayerBush001
@PlayerBush001 Жыл бұрын
@@metaveo7449 no worries! Good luck on your world ^^
@supermariohjr
@supermariohjr Жыл бұрын
oh yeah this gives me a great idea thanks lol
@PlayerBush001
@PlayerBush001 Жыл бұрын
good luck! Would love to see what you came up with ^^
@zopoulos1187
@zopoulos1187 Жыл бұрын
Good explanation
@PlayerBush001
@PlayerBush001 Жыл бұрын
Thanks! ^^
@el0menati11
@el0menati11 Жыл бұрын
Could you do a video about animating a player's position? I think most worlds use chairs for that and animate their movements then.
@PlayerBush001
@PlayerBush001 Жыл бұрын
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 ^^
@el0menati11
@el0menati11 Жыл бұрын
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
@TopKekLordie
@TopKekLordie 3 ай бұрын
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.
@PlayerBush001
@PlayerBush001 3 ай бұрын
@@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 😅
@GamingEzity
@GamingEzity Жыл бұрын
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
@MrPalps
@MrPalps Жыл бұрын
Wait, using these ideas, could you in theory create a hologram of a person?
@PlayerBush001
@PlayerBush001 Жыл бұрын
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
@rodrigopower11
@rodrigopower11 Жыл бұрын
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)!
@PlayerBush001
@PlayerBush001 Жыл бұрын
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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
@proto9686
@proto9686 5 ай бұрын
It works well for Desktop users however for VR players it doesn't seem to render anything
@Youngee3000
@Youngee3000 Жыл бұрын
Sick dude
@PlayerBush001
@PlayerBush001 Жыл бұрын
Glad you liked it ^^
@tera_333
@tera_333 Жыл бұрын
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.
@PlayerBush001
@PlayerBush001 Жыл бұрын
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 ^^ kzbin.info/www/bejne/Z6GxfqJoiraMZ9Esi=vrFIXTMhIFnAg1Tr
@cucumberedpickle
@cucumberedpickle Жыл бұрын
just in time for spookality >:)
@PlayerBush001
@PlayerBush001 Жыл бұрын
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! ^^
@DascorpFr
@DascorpFr 5 ай бұрын
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..
@necatron73
@necatron73 Жыл бұрын
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
@froza1912
@froza1912 Жыл бұрын
Could u do a tutorial on how to make world intros like how JustBClub or Midnight Bar does. 🥺👉👈
@Skibiti_deleon
@Skibiti_deleon 2 ай бұрын
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
@grave168
@grave168 Жыл бұрын
I know exactly what to do with this
@FredOndricka
@FredOndricka Жыл бұрын
😑 Promo-SM
@PlayerBush001
@PlayerBush001 Жыл бұрын
Haha :P
How to Change the Player's Respawn Point - Udon / VRChat SDK3.0
8:21
[UNITY TUTORIAL] How to Make a Jump-Scare Using the HorrorFPS Kit!
12:57
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
Neuralink Begins First Human Experiments!
14:39
The Tesla Space
Рет қаралды 2,3 МЛН
I Infiltrated The Minecraft Mafia
3:47:40
Spoke
Рет қаралды 2,3 МЛН
Portal 1 in Portal 2 DLC Progress Update
1:17:01
Juest Zungo
Рет қаралды 12 М.
Create an Admin / VIP Only Room - Udon / VRChat SDK3.0
6:35
PlayerBush001
Рет қаралды 14 М.
I Survived 100 Days as a BERSERKER in a Hardcore Minecraft RPG
3:59:49
VRChat | Neon Lighting & Bloom Effect
6:37
VRCMacki
Рет қаралды 23 М.
Simple Clickable Door - Udon / VRChat Scripting SDK3.0
13:16
PlayerBush001
Рет қаралды 4,4 М.
Gameplay Reactive Particle Effects
29:06
Game Dever
Рет қаралды 96
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН