This is a transcript of The Resonance from 2025 March 2.
0:01: there we go I'm going to post the announcement posting on Blue
0:07: Sky posting in our
0:15: Discord Discord oh thank goodness for noise
0:21: suppression one of my alarms went off oh yeah I didn't hear it at all uh hold on
0:27: uh one more announcement where's the off can never find things there we
0:36: go hello do have people greetings people of the world
0:44: hello we got the verbon stash and of course we got the schnit
0:51: from Grand hello hello everyone we should be should be live
0:57: people should be piling in hi hi so let me open the Discord questions
1:06: uh so I have I wonder what Discord questions we
1:13: have today Discord questions okay hello hello Grand Hello
1:19: Alex hello brand oh we already have like a question from Grant so uh I think
1:26: we're good to start we got a few people piled in so hello everyone welcome to another episode of the resonance uh
1:32: which is sort of like an office hour SL podcast uh I'm Fus I'm here with Cyra from engineering theme and we're here to
1:40: answer you know whatever questions you have about the resonite whether it's technical ones whether it's you know the
1:45: philosophy of the platform where it's going or just in general like you know whatever you want to ask feel free to ask here some of the questions we might
1:52: like say for example if they relate to moderation we might be like you know give you General answer and direct you to moderation office hours which
1:58: actually happen a little before this one so you have to wait until the next week for that one but um we'll do our best to
2:05: kind of you know answer whatever questions you might have um if you want to ask question make sure to put a
2:12: question mark in the chat that way it kind of pops on our thing um and you
2:18: know like make sure like we don't lose it it also like if you're asking followup questions provide us context so
2:23: we know you know what it relates to because we might answer a bunch of different questions in the meanwhile and forget what yours originally was um I
2:33: think it's kind of all the basic stuff um we also have like some announcements today
2:39: um uh there's there's really like few like one of the big ones I cannot teased
2:44: uh uh as part of the performance updates the next major system or pretty much the
2:50: last major system that needs to be replaced is the audio system and I
2:55: finally decided on a name for it so I'll tell you in a bit afterward from our
3:03: sponsor no one no one we're just
3:08: here um bet that scared yeah bet that scared to me yeah it's just like someone almost like
3:15: a phrase at this point uh gr is already asking schno like uh I don't do you have
3:20: anything there's actually one thing I was going to mention like with schno like thing that like makes me explode
3:26: and I kind of talked about it like last stream a bit um sometimes like when people are
3:32: like it's almost like a thing like taking the question too seriously but I like one like
3:37: where one thing that uh makes me disintegrate is like when people go like
3:42: oh like just do it like quick like you know five minutes like when they want like a feature and one thing that people don't
3:49: realize is like it can take five minutes to initially Implement something but
3:55: then it can take weeks to support it and fix all the issues with it and that's
4:00: often times a CA that people don't realize and I kind of wish like more people did that so that's one one of the
4:08: things that makes me disintegrate and often times something taking five
4:13: minutes uh it takes longer acceptable when you need to do like 500 of that
4:19: five minute thing right yeah there's another thing like ideally you know it
4:25: should maybe I don't know take put in the leg work to make make it take 5 Seconds to make the thing that you want
4:32: to make if you need to make it 500 times cuz then you don't have to spend 500 years doing 500 500 minute five 500
4:41: minute tasks well it turns into a 500 minute task I bet I mean of times like
4:46: we do the thing where we'll essentially um we'll essentially like
4:52: make it um so like we don't like you know Implement each individual feature but
4:58: we'll say this is going to be done as part of this bigger system it's going to kind of Solve IT implicitly and the
5:04: reason why we do that is because it's more efficient that way and the analogy
5:09: I like to use for that is like imagine you know shopping so like you're at home
5:14: and you know somebody goes and they're like you know I want some soda and you
5:19: know you get into the car like you you get dressed you get into the car you drive to the sh you buy soda you get
5:24: back and then it'll be like I want some popcorn so you get the dress again you go into to the car you drive there buy
5:31: the popcorn you get back you know um you give them the popcorn and they're
5:38: like I want I I want some toast so you get dressed again you drive you know to the thing and it's like if you do that
5:44: for every individual item you what like you know you might want to do like the time you spend you know dressing up and
5:51: driving there and going through the store and paying and going back it adds up if you do it for each individual item
6:00: um but if you if you like you know build a shopping list you're like okay these all
6:06: the things we want then you can you know just do the dressing at once you drive to the store once you do effici around
6:12: through the store and you return and you save a lot of time and it's can be way more efficient approach you know to like
6:20: get the stuff you need done than you know just doing it like individual for each one so even though like you know
6:27: even though like say like for the shopping example say like it takes you like you know 20 minutes to do if you do
6:32: it 20 minutes for each of the items on your shopping list and you want to buy
6:38: 100 items that adds up quick because like you all of that is kind of spend
6:44: just doing stuff kind of around it so there's like multiple reasons but this is definitely like one of them and one
6:50: of the reasons like why we as a theme because like we're pretty small theme we
6:55: need to be very efficient with our time so we often times I know kind of push
7:01: away doing things like you know even if takes like 5 minutes for each individual item there's you know often times
7:08: there's multiple requests that can be kind of handled through a bigger system um so instead of like you know just
7:14: doing that like one small one we kind of plan to do like a bigger one down the line which is going to you know do
7:21: hundreds of items like in one go and it's going to be much more maintainable which means we also have to like you know spend less time you know
7:30: maintaining the item and dealing with issues it causes and just being like more efficient on our
7:37: time so that's that pretty much answers gr's schnit
7:43: question so this yes can I can I answer that one actually which
7:49: one the schnit yes what have
7:56: fornit when you're [ __ ] ribs
8:02: explode S I didn't mean to I didn't mean to swear I'm sorry um is okay I think
8:08: we're much sure okay but yeah also that's kind of
8:13: why I didn't make the last one guys um my my ribs actually um one of my ribs on
8:21: my right on my right side is actually uh I'm so sorry I'm like very I'm so
8:27: tired um one of my ribs on my right side is actually
8:33: like I think it's like the cartilage is like disconnected so it's just kind of like hanging there and like floating
8:39: around and kind of rubbing up against the other ones and kind of sliding over them you know if I've been the wrong way
8:44: I'm it's like a xylophone I play like a Cote or whatever
8:50: um so uh yeah I'm mostly fine but it is
8:56: occasionally stabby um and it does kind of screw with my sleep a little bit so if I see tired or cranky that's why see
9:05: the thing is everybody's doing acking and because of the C ribs exploded yeah it's all all the rep
9:12: hacking you did that's why my ribs exploded it's all your fault hope like
9:17: it gets better soon but least like we have you today yeah know yeah know I wanted to I wanted to join today at
9:23: least to you know if nothing else to at least you know tell people that yes
9:30: and if there's extra current can blame the ribs anyway that like that should get
9:36: like in addition opit question out of the way um so do
9:42: we should do the PSAs first um because like there's going to be like
9:49: bunch of questions and I feel like bunch of people kind of like you know came like you know came into learn uh they came to
9:56: learn what the name might be at this make maybe some I don't know but um so
10:03: as many of you know the uh for for the big performance
10:08: update we had to kind of move a bunch of the systems we have fully into F engine
10:14: uh in order you know to have like full control over it and to kind of like eliminate weird kind of entanglement
10:20: with unity and there were two systems that were like you know kind of Tangled with unit significantly which was the
10:25: particle system which is now resolved with Photon dust and the other system is the audio
10:32: system um and that's pretty much the one that's going to be you know work on next
10:37: it's probably going to be smaller amount of work than Photon does that like I'm pretty confident it have um it's still
10:43: going to take a bit but um it'll essentially replace unit this kind of
10:48: system that's handling you know stuff like um figuring out which sounds should be playing based on your position in the
10:54: world doing the spatialization so on we're going to have our own system doing that
11:00: um and that way like you know we kind of move the dependence on the unity and we also get like you know full control over
11:06: it like how it works and I have a thing like I'm I've already talked about this
11:12: like you know on the previous like resonances I talked like you know how is this going to work under the hood what is it actually going to do I have it
11:18: like you know thought out like you know from a technical perspective but I have this problem whenever whenever I'm
11:24: making you know new major system I find it diff like i l cannot really work on
11:31: it like actually start like you know coding it and doing stuff even though I have like all the technical details
11:36: details stood out I just have like a mental block that until I name it I can't work on it it's
11:43: like really like just doesn't work so I was like figuring out a name and I had
11:48: like you know big list and maybe show the list later too um but I had like lots of names and it
11:56: kind of came down to like two names one cool sounding serious name and one kind
12:02: of meme name and part of me was already kind of
12:08: like leaning we're like like we need like at least like one funny name you know like so I was kind of screwy let's
12:13: do the meme name and then I talked to Pro Prime you know one of our team
12:18: members on engineering and he was like do the meme name and pretty much like you
12:24: know that pretty much like made me make the decision like that like dip me over
12:29: the edge so the new name for our upcoming I and also before I tell you
12:37: the name there's a bit of a l in the name too which makes the name make more sense
12:43: in a very Mei way um so the name of the upcoming audio
12:51: system is
13:00: it's audio yeah how that's how it's going to
13:05: be named it's you know this is perfectly fine name like we can just be you know
13:10: we have a new audio engine and his name is audio it's not going to be confusing
13:16: at all yeah it's the it's the audio engine it's the audio engine which
13:22: means uh soon there will be you know audio DL ler files
13:30: oh there we go and now for the piece of LW so this
13:36: is clearly kind of you know because lot of our on the team and in the community we kind of free you know and um it is
13:44: this party like kind like I like to have like you know some fun um and this is kind of you know very very kind of
13:50: inspired name the reason for it is like you know if you think about how long
13:56: your ears work inside your ear know there's the cocka and actually maybe I should pull out a diagram let me see do
14:03: I have a is there a diagram
14:10: uh I should have prepared this ahead of time but here we go so inside of your
14:17: ear fortunately you know it's very very very quick to import stuff intoon I can
14:22: just do it Al inside of your ear you know there's like this like orgon car
14:29: and inside of it there's tiny little hairs and you know as the sound kind of
14:36: you know transfers the vibrations to the CIA the hairs they're like in different
14:42: lengths and they will vibrate and it will send electrical impulses to your brain and each of the hair is like you
14:47: know sensitive to different range of frequencies and what this means is you
14:53: literally your ability to hear is literally because your ears are furry on the inside
14:59: and everybody's ears are furry on the inside and that's how we hear therefore the furry name is the perfect name for
15:07: the audio
15:12: engine woo yay I'm I'm I'm very proud of myself so yeah this this is going to be
15:19: the name it's it's serious in an un serious way um we're just going to have like you know some fun with it was also
15:26: like because of the resonet community like people people love memes you know people love like silly stuff so I'm kind
15:31: of excited like what people do one of the things that like when I was talking about is with prime he even suggested
15:37: somebody's probably going to make a first for it or something you know some and it's going to be fun and Goofy song so like
15:43: I'm that kind of good it like you know see like how how this is going to go and like how people are going to have like
15:49: you know what kind of fun people will have um there's also like another reason
15:55: like and it was actually another Pro primes reasoning for this is because
16:00: with a current kind of climate like a lot of companies that kind of like you know pushing down diversity and stuff
16:05: like that like they're trying to be more normal
16:10: and because of that like you know it feels like more important to like be like no we it can be weird and being
16:16: weird is normal like you know it's like people are goofy people are creative and that's all okay and that was another
16:23: kind of reasoning like I was like like let's let's just do this let's have fun with it um is also the last system that
16:29: needs to be done before you know the spling so that's kind of like you know is a
16:34: good opportunity to do it too so yes this is this is T name and I hope
16:40: you people will enjoy it and I hope you will enjoy having this file on your system soon
16:47: TM so it's coming it's going to it's going to be there it's going to be there it will be there it'll be on everyone
16:55: and remember remember right now the way you're hearing me is because your ears
17:01: are furry on the inside thank you thank you thank you for
17:07: coming my to my um dead
17:12: talk anyways so with that out of the way we can maybe get other questions
17:18: actually no we might have um we might and yes BR yes one more thing this is
17:25: going to show up in the logs if there's any exceptions with the audio system that will be in your logs so be
17:34: prepared um yes uh so there's I do have like one
17:41: actually other PSA um I do have like some other topics I want to cover like later but I'm going to get through some
17:46: questions first because we already got like Bunch piling up um this is a quick one uh we made announcement earlier this
17:54: week um that uh essentially like while back it was like a few months ago we
18:00: made an announcement that we're going to deprecate the graphical Linux build because it's kind of it's not maintained
18:06: it doesn't really work properly um and we don't have the time and
18:12: resources to kind of know unfortune to spend on it because of that we're for a graphical version we're going to be
18:19: relying on proton and uh in order to like you know
18:24: facilitate that like we actually like we C actually had like um unify The
18:29: Headless so a single install can be used both for Windows and Linux because headless will still be available for
18:35: Linux you know that server software um we're keeping that and there's like not really much issues with it being on
18:41: Linux um plus this a little more kind of important there so that's not affected
18:47: uh the only change that's going to happen tomorrow is that the Linux Depot
18:52: on Steam is going to be removed which means if you host on uh Linux and you
18:58: get like you headless from there you will get it from the windows Branch instead uh the files on both of the
19:04: branches actually been identical which means this pretty much should have pretty much Zero Effect on this
19:11: like there shouldn't be any like probably even any changes you need to do like you should automatically switch to
19:16: it but if something happens you need to update your script for example you're explicitly getting the Linux Branch you
19:22: might need to switch that otherwise like things just just going to work as normal um but yeah this is going to be
19:27: happening I just wanted to make sure everybody knows as well um and with that PSA out of the way we can get to the
19:33: questions uh we're going to do ones from the Discord first uh there's a few of them um the first question on Discord is
19:42: from Mimi and they're asking Villers and I get on the meta Quest store um I mean
19:49: would like to it's probably going to take a bit depends like if you want to want it because question is do you want
19:54: to you know for the desktop like because I don't know if current meta store if it
20:00: covers like pcvr apps or not because I know like that did used to but I haven't like really kept out with it um we would
20:07: like to get in there if it means having Standalone version that's little bit more difficult because we need to have Standalone version first which is
20:14: eventual goal but like we need to do a bunch of different things before we get there
20:21: um like for example you know like stuff like optimizations and then having content segregation and so on the next
20:28: questions from ultra white gamer what does the last number in theonite version mean so the last number it's uh it's
20:35: essentially the minute of the day uh we use uh for our versioning we use like um
20:42: version is essentially a time stamp you have the year you have the month you have the day and the last number is the
20:48: minute of the day uh and that indicates the minute of the day when the build was
20:54: made so like if you make another build like like you know if if we made another build a made later then the number is
21:01: going to increment it's going to be larger than one the also the larger number it's something like 1,44 or something like that which is the
21:07: number of minutes in a single day and then it like you know it flips over uh so the reason for this is you know it's
21:15: very predictable it's very easy to tell which build is newer than the other one
21:21: because the numbers always going to be bigger uh eventually want to switch it so instead of the time the very being
21:29: the time stamp of the compilation it's going to be time stamp of the Comet for that build um and that will like you
21:36: know make it like if we need to rebuild it or if there's like you know multiple builds that need to happen from the same
21:42: Comet they will all have the same build number um but otherwise like things will not
21:48: change the next question oh there actually just answering uh next question
21:53: is from spob spoy um I'm sorry I'm pronouncing your name hey man this
21:59: question is more philosophical side but really if for some reason there was also a massive inflow of people on player Bas
22:05: how could it affect your resonate so there's a few things like it's going to depend on a a number of variables but
22:12: you know most immediately having lots of new users means you know people need help uh so probably you know mentors
22:19: will need to like will have like you know their work cut out for them um generally the community you
22:25: know like we kind of had like cases like that like in the past where like a lot of people and usually like you know
22:31: people go really busy you know just helping everyone and people like you know tired like because it gets
22:37: exhausting um but we like you know very for everybody who kind of helps like new users and gets them you know comfortable
22:44: on the platform uh the other aspects are like you know technical so for example what happens to the servers because like
22:51: you know now this increase load um the way our server infrastructure Works uh
22:58: we can like you know pretty much like provision a larger amount of instances and a larger amount of databased output
23:05: for things so that will um that can you know help deal with increased load uh it
23:11: does require some manual intervention there's like some automatic scaling but it has like limits which means you know we'll probably go there and like be like
23:17: okay is this like you know getting over utilized you know do we need to like increase the limit for now uh which
23:23: brings another question which is uh you know it's easy to scale the servers but
23:28: Al there's additional cost with that so it's also a question are the new players
23:33: you know signing up you know for supporting resite you know either on stripe or on patreon um so we can kind
23:40: of like you know compensate like for it uh if if there was like you know smaller conversion and like you know there were
23:47: like lots of new players but we're not like you know signing up to support resonite then we might need to like you know deal with that situation in some
23:55: ways uh make sure like you know things we can kind of keep like you know running things and keep the lights
24:01: on uh but we'll you know cross that bridge
24:06: like when I kind of come over it so far we've actually had more than average conversion on players um I think like
24:14: Bob he kind of worked out the details and it's like think it's been under like 4% or something like that when the typical is like um lower than that I
24:22: forget the exact numbers uh so things are kind of promising that way but like you know it's hard to predict how
24:29: exactly things will go because you know they can go lots of different ways I'm also just going to move this out of the way now um but yeah uh it's also like
24:38: the moderation uh um V and can didn't get answer the question you know from
24:43: the like moderation perspective they'll probably start onboarding a lot more moderators scaling up the team make sure
24:49: we can kind of deal you know with a certain flux of players so part of it is like you know like we scale things up in
24:56: lots of different ways technical you know mentors like moderation um and we kind of figure out
25:02: like you know we'll see like what's happening and make adjustments on the platform based on that oh FS can I read this next one uh
25:11: which one is it uh it's uh I'm still doing the Discord ones oh okay yes
25:20: yeah all right so red asks sorry about this being a long one but the det the
25:26: detail is needed I saw the that the data model rework is planned for the performance update this will probably break ref hacking breing quite You
25:33: Avatar systems Auto installers is there a plan to add arbitrary component access via flux which also means heart
25:39: permissions and no heart permissions are needed before flux accessing components arbitrarily before the wework or quickly
25:45: after main reason is manually dragging dropping Fields off of an inspector would be very annoying and new users wanting to add things like the Avatar
25:51: poser extremely confusing ring rcking schn pits take three
26:00: take we we have done a couple PSAs on ref hacking on this again but it looks
26:05: like we're going to have to do it again we have to so yeah
26:11: so one I'm going to tell you right out the gate do not rely on ref hacking the
26:19: point the reason why we tell you not to rely on it is precisely because there may not be a replacement for you if we
26:26: break ref hacking and we don't have component access that's tough yes second thing is if you are
26:33: using ref hacking we're not going to Auto upgrade your things for you it's
26:38: just not something we can do so if it breaks even if there is a new
26:44: alternative um like that's officially supported all of your old ref hacking stuff that's going to stay old and
26:51: broken we're not going to fix it um
26:59: yeah if you if you're concerned about it breaking like Avatar's Auto installers make them not use ref hacking
27:06: like right now because otherwise they will break and yeah if you're using it
27:12: for a convenience feature sorry that's just it's going to
27:19: break yes I would I would honestly say like the the way that I found to kind of
27:26: like get around these is to just put a little bit more effort into you know
27:31: educating the player on like what they need to do making sure it's very easily digestible rather than trying to
27:38: automate the process right now through methods that are 1 million per going to break in the
27:44: future so just just put in that extra little effort to just make it nice even
27:49: though it takes like an extra couple steps and that will that will achieve much the same
27:55: effect and that's Prett much the gist of it is like the reason we give you the warning is precisely because we can't
28:02: guarantee that it will keep working and we can't guarantee there will be a replacement when it does break and it
28:08: will break at some point we're like not breaking it intentionally but something's change and that's going to
28:15: you know break how you do those things and ultimately like you have to realize
28:20: like you know this is their fcking is not a debate like I mentioned like last time it's kind of like you know Running
28:27: With Scissors and if you're r with scissors and you get warned you can get hurt you can get
28:33: injured it doesn't matter like it it you can debate all you want about it and be like oh like like maybe it should be
28:40: like you when when when I run with scissors so I don't get hurt scissors are sharp if you run with them and you
28:46: trip you're going to get hurt like there's not amount there's no amount of
28:51: the bathing and you know discussing and pleading with the CES that you could do that will make them not hurt hurt you so
28:59: It ultimately is do you consider warning like you know or do you not and then you
29:06: get hurt and the reason we give you the warning is because we know they will happen and we don't want that to happen
29:14: to you and we want you to understand the risks so if you don't and this part is a
29:20: little bit frustrating because it feels a lot of people just don't understand the risks and part like you know par wants
29:27: to be like if you want to play with it you know play with it but understand the risks when you do but a a lot of times
29:35: like it feels like people play with it and they try to
29:40: ignore the risks or try to like you know think like something can be changed it's
29:45: just how it is and I don't really know how else like we could explain
29:52: it yeah but yeah and T tangentially I don't know actually if the data of
29:58: rework is slated for the performance update right away isn't it not right away no but there's like I mean it's not
30:03: even dead like there might be like lots of things that want up like breaking is because you're kind of like relying on
30:09: like implementation details of some things the point is like it doesn't matter like you know we we've had cases
30:14: before where people are relying on something that's not an official feature we told people don't use it and then
30:20: like we're making some unrelated changes and actually end up like breaking those
30:25: and like you know we not even thinking like all that it would break those things but it did it happens and that's
30:32: the reason like you know when we know this system that is brittle is likely to
30:39: break we want to like make sure you're informed
30:45: and like if if you're like you know ignoring death you're doing like a the
30:52: service you know to yourself and to other people like when be can relying on stuff you know you build with it so
30:59: please you know take the warning to heart please try to like you know understand like why we warn again it
31:06: against it um yeah like isn't matter if
31:16: like oh man that thought went out of my head I'm so
31:22: sorry I had a thought and it went out of my head
31:28: again is asking like is saying like there's no alternative like we understand that but like you know that doesn't change that the system will
31:35: break like like I said like you you keep trying to like argue with this and debate it like and it's like this kind
31:43: of feature is more like you know it's cause and effect you know it's
31:49: like if you're r with scissors you'll get hurt and if you have you know no
31:55: alternative to running to scissors you know and you want really one of its scissors
32:01: then you're taking on the risk but like you know it doesn't like
32:06: the fact that there's alternative to it doesn't change that it'll break and it'll break your things
32:14: um like and honestly I just at this point I don't know how to can of explain
32:19: this because like it's not something like we can control and we try to like you know warn people avoid this if you
32:28: if you don't you know like honestly I don't know what to do
32:33: there's nothing really there's nothing we really can do yes because there it
32:38: would it would take so much development time to try and support that kind of
32:44: thing officially that like just it's just pointless because we're going to
32:49: have an official system so please just wait for the official system there are a million in one other ways to do the
32:55: thing that you probably want to do right now that you don't know about I guarantee it often times like there's
33:01: like you know better ways to kind of do things and like and that's the part of the reason we give you the warning is like so you know I'm wanting to build
33:07: something long term don't rely on this if you want it to be longterm F an
33:13: alternative approach or find like a way to cannot redesign your thing or ask for features to like be able to do it
33:20: there's going to be you know some limitations and if you you know if you hack around those limitations you're essentially you know
33:27: going outside of safe area where we can ensure that things will keep working and that they will have
33:33: Alternatives like it it's no like that's that's the thing
33:40: like you you you keep asking for like that we can give you better transition with the nature of how it works we can't
33:47: give you that like you know it's just the problem is you know the system
33:53: doesn't have it's not an official feature like honestly I
34:00: just it's a byproduct of the way that the inspector is implemented literally all it is if you didn't have the
34:07: inspector the way it is right now you wouldn't be able to ref hack that's all there is to it you can't support that
34:12: because it's not real yes like I like again like it doesn't matter how much
34:19: you debate it like it will break and we cannot guarantee that'll be a replacement at a time because it can
34:24: break for like unrelated changes we've had as happened before
34:30: um it's honestly like at this point either
34:36: you know hit the warning or going to get bit by it but when you get bit by
34:41: it don't you know don't say that we didn't warn
34:47: you I yeah one last thing I won't harp on
34:53: this much more just one last thing though if you're doing it and you're making things and you're like I'll just
34:59: fix it when it breaks and you're releasing those things consider that people will save those things to their
35:05: inventory as well outside of whatever public folder you may have and now suddenly there is just this thing that
35:11: is going to break this proliferated through a a ton of people's inventories and they're not going to know how to
35:17: update it and they're not going to know like what's going on and it's just going to it's a recipe for
35:24: confusion it's also I just want to like one more point cuz like the goal isn't
35:29: necessarily to stop people from rev hacking it's to understand the risks and
35:34: the reason I'm really frustrated with this is because it seems people don't understand the risk and they try to like
35:41: you know debate with it and they try to like you know be like well just do that or just do this and like they don't
35:47: realize you know like the reason we're giving the warning is because like we can't give you those
35:53: things you know there's limitations on what we can do like say if we had infinite time we
36:01: could you know eventually make the upgrade of systems but we don't have infinite time you know it's not
36:09: realistic and that's the main reason you know like like we just can't give you those
36:16: guarantees um and if you don't
36:21: like it's kind of like you know why I'm like if if you want to play with it like you know play with it if you want to
36:26: build things really want to build with things is like you know like we're not going to you
36:33: know we're not going to ban you or punish you or anything like that but you
36:38: have to understand it will break and there might not be there won't be a transition and there might not be a
36:43: replacement system at the time it's what it is you know
36:51: either I don't know honestly I just don't know that's all that's all we can really say about it just like do it uh
37:00: in the comfort of your own home um but don't cry when you got broken glass
37:07: on your floor yeah like if you to end up like getting hurt by it like you know
37:14: like we did warn you and that's kind of all we can
37:21: say oh oh boy we should I I hope we don't have to drive that home a fourth
37:26: time yeah uh let's move to you know some
37:32: other questions yeah let's move on I say a of most difficult things just get
37:38: people to understand uh anyways so moving on from
37:44: this uh we do have another question Grand UK is asking also a real question
37:50: if Vlog doesn't say World state has been dumped after session crash is it still dumped most likely not
37:58: um like if it's like a hard creation there's l no crush dump then we probably didn't get dumped the logging happens
38:05: you know pretty much right after it gets dumped so it's probably not there I'm
38:13: sorry check the fox did you call it Rapture I don't know what it's relating
38:19: to um next question is from oie here's a question I was wondering how do you
38:25: personally detect if object with a collider is inside another object with collider this is really simple problem
38:31: during MMC entry that became a lot more complex somehow well so it kind of
38:36: depends like what do you mean by the object being inside another object because like you know there's multiple
38:41: ways that can happen the easiest way you know with colliders so like you have like one object you have another object
38:47: like would you consider this you know to be inside of object like if they just
38:53: intersect if this is what you want um then you can do it for example you know with active colliders you can see you
39:00: know if like you can have like a trigger for example and the collider detect you know if there's like Collision going on
39:06: um the physics engine resolves you know collisions like that like pretty efficiently the bigger problem
39:14: is if you want to um um if you want to
39:19: like you know consider only this to be inside when it's fully contained in the object that's where it becomes a fair
39:26: bit more comp Lex because um figuring that out especially for arbitrary shapes you
39:33: know can be very difficult if you if you do you know something like a for example box versus sphere there's algorithms for
39:40: that that you can run check if the sphere is you know fully contained in the box that might be like easy enough but
39:47: you wanted to do that for a mesh for example you know say like you have like some kind of mesh
39:53: shape then it becomes a lot more difficult because like you know even guaranteed say we wanted to check if
40:00: something's inside of this right now this is not connected it do it doesn't even have inside so like you know
40:07: there's not really a concept of you know like like is this inside because like this is technically the outside uh now
40:15: if you do con if you do connect it um so it kind of has
40:21: inside that on itself is kind of complex to figure out um you know if you want to if you
40:27: want to see like if something is inside arbitary mesh we have to make sure it actually is inside first we have to determine what it inside is and then we
40:33: can you know do tests against it um it's also like you know complex because it's
40:39: um this is like for example concave so like you know it can be like around here where we have this concave region that
40:45: makes things more complicated um a simple way to do it that might not
40:51: be fully accurate would be to useing bounding boxes the problem with bounding boxes you know um they are axis aligned
41:00: so say like if you wanted to check if this is inside of this I'm actually going to make this
41:06: smaller so if you have this if you're checking this bounding boxes inside of this bounding box that's easy you know
41:13: like you just check if if it's contained or not if each point of The Binding box is contained uh problem is if you rotate
41:21: is the bounding box for the rotated uh
41:26: thing it has to be aligned with the axis which means it's going to look like this it's going to actually be bigger than
41:32: the object itself so even though the shape is fully contain the bounding boxs might actually exceed and kind of
41:39: becomes you know a lot more kind of complicated that way so it depends bit what you mean um it depends you know
41:45: what kind of shapes are you dealing with exactly there's like you know ways to do it um but yeah like it is definitely one
41:53: of those things that can become like very complex problem and usually the approach for red is
41:59: you uh simp like you know you need to kind of simplify the system you're using you need to kind of rethink how it works
42:06: uh and see like you know if you can like achieve the same result that you want with a different like you know
42:15: approach uh next questions from Dev Hammer uh what do you personally think would be a great Pro FL is Hello World
42:22: program actually I'm not sure like you can do hello world but just literally making a display so that's simple enough
42:29: I probably actually no there's there's one thing I often times do well actually
42:35: like super often times but like whenever I S like perto flag um I'll just grab a material of something and drive it to be
42:43: rainbow because you know it it has very strong immediacy it's like just a few notes you just have a Time note you have
42:49: the he note and you just drive something in the world um and it immedately you know it starts making something you know
42:55: change color in the world which has you know very visual impact so I think that might be a good
43:01: one but do you have any idea s like what do you like that's a hell world that's
43:07: actually that's actually kind of like what I recommend I also recommend like
43:12: make a box move up and down that's also a good one
43:17: yes yeah like something simple something simple that just drives you know some basic values like I think those are
43:22: great starters it kind of shows you a few Concepts o bling like very simple to do and you can kind of build around and
43:28: make it do more complex things and next question uh oh
43:36: actually uh oh I'm not sure this oh no there's a question there J the fox Alor at o I've
43:43: had to do few times now I use un Collision stay in reset timer an object I'm colliding with I care about it's a
43:49: bit expensive but Ser of best I could come up with and impul now to get Collision events at once might once we
43:56: have collections will there be something that would be possible once we get collection support yeah with collection
44:02: support you can just quare it a list of you know intersecting colliders so that will make those checks very simple to do
44:09: um there's also like the we do have colliders use a Tracker but we don't have like arbitrary one because usually
44:14: you want to kind of do some filtering on those um you might use you know on collision start and collision and if
44:21: you're checking for specific collider um otherwise like you know you need to kind of count
44:27: which makes it a little bit more difficult but yeah like once we have collections it's going to make it way easier to just check you know which ones
44:34: we have in there and next question is from Alex 2pi
44:39: one question puzzles me I heard sometime from you at converting gasing spotting to mesh would defeat purpose of creating
44:45: them in the first place what if instead of turning splots into mesh create primitive procedural cers it would be
44:51: how convex all generation Contra Works in game I think it could be interesting idea maybe not for all Splat however
44:57: uh on those floors or rer objects well it kind of so people like they asking
45:03: like for Mees you know for rendering them so if you wanted to convert them into you know convex hell for rendering
45:10: like that's even worse than the mesh because you just end up with blobs that don't really look like much the original
45:16: thing if you're thinking about making you know colliders you know then the there is a different you know there's a
45:23: whole different thing and I do think that might be actually an interesting approach is you know just throw it at you know convex H
45:29: decomposition you probably wouldn't want to do just a single convex H because in my experience a lot of the Splats you
45:36: know you might have um you might have the actual object here but there's like you know lots of Splats around so like
45:44: if you made and you know and this is you this is like you know how big the user is and you're looking at this item and
45:49: if you make convex how you end up likeing know with collider that's like super huge uh so that wouldn't work
45:55: super well but if you do convex H decomposition you know then maybe does like you know something bit smarter but
46:01: also like there might be still like you know a lot of them all around so I
46:07: probably have to try it with a bunch of different ones I might add it like because I'll be a releasing as in spotting support very soon pretty much
46:13: very likely next week um and I'll talk about this little bit later um but I
46:19: might add like something like that because we do have integration with the convex all de composition um right now what
46:25: implementation does it actually converts it a point Cloud collider which doesn't have like you know any surface you can
46:30: grab but like you can still grab it by the Splats and move it around so that kind of works okay enough um but yeah we
46:39: can experiment with it see how well it works uh and next question is from Mar
46:46: sh how's the Goin splot support going it's actually going really well so I do have
46:51: a um I pretty much do have like the initial version ready I was originally
46:57: like wanting to push it like earlier this week but I figured like you know it's end of MMC I'm not going to push any builds people are finishing their
47:04: things uh so I'll push it like sometime next week and I've also been working on
47:09: adding VM compression support which I actually have like most of the heavy stuff like ready I implemented like um
47:17: um all the kind of like uh foundation for it uh and I'm going to be integrating with the variant
47:24: system and adjusting the rendering uh so that will make it so the gasan plastic
47:29: significantly less vram um you know than like if they just
47:34: draw because they can be very very big like for example 3 million Splat that will take almost a gigabyte of your vrm
47:41: it's very heavy but with a compression oops I camera with a compression you
47:46: know they'll take like a fraction of VM uh so I think that's kind of important too and it's going to come at some later
47:53: Point not like too much later but maybe like a few days later
47:59: um so yeah like it's it's it's coming very soon I might talk a little bit about like one of the algorithms that I
48:04: integrated because it's I found it's super cool uh it's called like k k means clustering and uh it's something that
48:12: the reference implementation I'm using uses for the compression of the Splats um
48:18: particularly um um for like the spherical harmonics where it essentially makes like a pallet but like the
48:25: algorithm can be used for of different things and I've integrated it with um uh
48:30: with texture processing because it can do like kind of neat things I'll talk I'll talk a little bit
48:36: more like once um we get through some more questions next question is from epic
48:42: eastn 197 once Unity is removed how much of unity will actually be left well if
48:48: Unity is removed then it's gone um it's going to so there's like two
48:55: things uh we for big performance update uh the initial part of it like you know they're working right now uh we're going
49:02: to split FRS engine and unity but unit is still going to be there but essentially all of the FRS engine is
49:08: going to be outside of it it's going to be a separate process and unit is going to only be handling mostly the rendering
49:15: that's going to be sent over um interprocess communication so unit still
49:20: going to be there doing the rendering but will it will actually not be responsible for running you know any of
49:26: the actual F engine code um so all of that like you know it's going to be stripped away from it
49:32: and it's going to be sort of like you know just uh R like you know renderer is just receiving the data that's coming
49:38: over the you know share memory um
49:43: once uh once like you know we have our custom rendering engine we have just currently called named
49:50: sauce uh they will replace Unity completely which means unit is just going to be poof it's going to be gone
49:59: Alex 2pi Quantum Photon does an paper one I don't know make one I don't
50:05: actually what would it mean Quantum photo do entanglement with particles Pho
50:11: entanglement I mean there's a language called I was looking into this like a week ago or two weeks ago there's a
50:17: language called Q sharp from Microsoft for Quantum programming make integration to Quantum
50:23: Proto flux I don't know oh boy oh boy
50:29: Quantum also thank you uh BS B btas I'm
50:35: sorry I'm not sure how to pronounce your name Bob TSH Bob Bob TSH for for the ra
50:41: thank you probably to us a bit because like we had a bunch of talks um next questions from Modern
50:49: baloney I'm excited for the audio update so after this it's going to be reworking for exion integration with unity this is
50:56: the way understand understand it right yes once the audio engine is done um
51:01: it's essentially going to be something I like to call the spling where how F
51:07: engine communicates to unit is going to be reworked and so it can be pulled into its own process so the audio engine is
51:14: pretty much the last major system that kind of needs to be you know
51:19: fully under our control after that you know like the work is going to be on actually pulling them apart
51:28: uh next questions from Al Alim uh is asking what as the numbers on
51:35: your color uh so this is the heart rate and this is HRV which is a heart rate variability I don't have the heart trer
51:41: on so it's actually just showing bcus values right now um it's actually showing F's version number no it's not
51:49: the version number you see my heart rate is zero it's because like I'm resting my heart for a bit yeah you're an alpha
51:56: that's like 0 point whatever no I'm just resting my heart for a bit like you know it gets tired like be all the time so
52:02: just it needs to take a little bit of a rest that's true that's true uh some discussion chat verbon
52:09: schnet or what are you saying oh is the schnit that's the thing that Grant says that makes us disintegrate yeah it's
52:16: it's that like x n o PYT word that you see occasionally it's pronounced schnit
52:22: schnet uh next question is from brard what's the motivation uh behind in more
52:28: naming restrictions um the main reason for it is to reserve you know some
52:35: characters um for like future syntax so say like we want to add new features um you know for example some
52:42: more Dynamic lookups or maybe like you know whatever we want come up with in the future we want to have a bunch of
52:49: characters that we can use um you know in order to
52:54: like you know fa those features because if if we let let you use every single other character and now we want to
53:01: introduce new features now we have no characters left because we cannot make the assumption that nobody's using them
53:09: um so that's kind of you know part of it uh the other one is like to make it more readable to people because often times
53:14: like Dynamic variables are used to exchange content um which means like if you use
53:21: like you know some really hard like weird characters or something hard to use that might make it harder to like
53:27: you know interrup with things and dynamic variables part of them is like designed for
53:33: interrup uh and like you know having more restrict set kind of enforces
53:38: that next power p is asking FR Cyra what is your favorite show I got a bunch uh
53:45: the one I most recently watched that I really like is called Pantheon it has two
53:51: seasons um I don't want to say too much it has
53:56: to do a lot with kind of this but more
54:01: sci-fi more like I'm going to say mind upload it deals with mind upload uh I'm not going
54:08: to tell you more I recommend watching it it's a really good show is very well
54:14: written um it's very clever in a lots of ways there is a scene in a second
54:22: episode that is a with shocking
54:27: like you know content warning it's one of the few times where I was watching it where I had to pause it and kind of
54:33: process what I just saw and I kind of liked it because like it doesn't happen too often but it's I was just like who
54:41: that just happened they just showed that thing and it's a thing I've
54:47: like it's a thing I've like you know read about in sci-fi books before uh
54:53: like happening but just seeing it on screen was
54:58: visceral and that's also like I'm going to say that's the worst of it that you're going to see in other car so like
55:03: you know even if you get a bit like uh from from the second
55:09: episode you've already been through the worst of it I recommend watching the rest of it it's a really good show
55:16: it's there's a lot of good Sci-Fi elements of it and there's a lot
55:22: of like cool action scenes and there's a lot of like cool themes and problems it
55:27: kind of deals with and there's also like a lot of emotional things which in some cases are
55:34: worse than the more graphical stuff but that's a good show watch
55:39: it what about you s I have a actually have I actually have
55:46: three that come to mind one of them is a movie though um one of my one of my favorite
55:51: TV shows as of recent is uh Castlevania and castle nocturn those are some of the some of
56:00: the best like storytelling and like animation that I've that I've seen in
56:05: like a TV show to date because it just it breaks the mold of like you know it's not quite anime it's
56:12: kind of like Western anime Castlevania um I believe it's actually I
56:18: think it's actually like a like a French Studio that does it I can't tell um but
56:25: it's it's just so it's so good the storytelling is so good this character
56:30: development is so good the animation the the it's just Wham awesome
56:35: fight scene Wham awesome animation Wham oh my God it's another awesome fight scene that looks like it should be in a movie Jesus H
56:42: Christ you should really watch that one um do need to have played the games to like watch it or is it just it actually
56:51: it does a good job of um not needing you
56:56: to like understand the Castlevania lore I don't understand the Castlevania lore and I love it
57:04: um my other one that I really like recently um actually this was a little
57:10: bit ago I like Foundation Foundation oh Foundation is good too it's a really
57:16: good Sci-Fi show if you think you know sci-fi this this this breaks the mold of sci-fi it's good it's it's funny because
57:24: like there's some of the best like it's based on the you know books by Isaac Asimov but some of the best bits in the
57:30: show are actually not from the books like the C for the show to make it actually possible to film and like I I
57:37: really I enjoy those elements it's it's a very good show there should be third season like this
57:43: year I think I haven't even seen the second [Music]
57:51: one you're saying this is your favorite show and you haven't even seen the second season
57:57: uh yeah and then the last one the last one I can think of is
58:02: um the uh Dune I love Dune Dune okay
58:07: wait Dune yeah Dune and dune part two I guess I don't know
58:13: movies yeah oh I know I said one of them is movie oh oh I mean if if we were like
58:20: going like more because I was just going to mention the most but like um one that's also you know similar ve
58:28: um similar ve like you know to Foundation is the
58:33: expanse because that one it's so good it's one of the best
58:38: sci-fi out there unfortunately there's only six seasons um because there's it's
58:44: based on a book series that have nine books plus a bunch of noas and it
58:50: roughly matches so like one season is one book some of the coolest stuff happens in book Seven ESP actually eight
58:56: and nine and those are not filmed Al like they kind of said they might want to do that much some in the future um
59:04: but even then it's it's one of the best sci-fi shows like it's it feels a real like it's it's a
59:12: lot of like you know other sci-fi compared to this ends up feeling like you know lasers and you know like green
59:20: alien men you know like the humans just kind of like with humans with features
59:26: the alien stuff in the expounds is like proper other worldly alien like it's
59:33: it's alien on a fundamental level but it also deals all lot like you know with impact of things
59:40: on humans and humans behave and in that regard it's also
59:45: very realistic even the way you know they travel like you know through the solar system it's oh I just what was
59:54: that what there was weird um even that like you know is based on
1:00:00: um let me just settle back in it's it's based you know uh speaking of alien
1:00:07: stuff you know it's it's very it's very good like it feels it feels like this is something that could happen in the
1:00:13: future I I strongly recommend that one too and also like I have to mention one of this is older one but it's the
1:00:19: Stargate series like I watched it like a million times watched it here like it's
1:00:25: an old like classic and there's so much of it like you know there's like literally there's 10 seasons of sg1 five
1:00:32: seasons of Atlantis two seasons of universe there's I think like three or four movies um I forget the exact number
1:00:39: of them and like when you watch all of it like you're going to wish there there was even more it's very it's very
1:00:46: good oh oh one more one more one more more more
1:00:51: Orville Orville
1:00:56: sorry can of get this but like or orille one thing I really like about
1:01:03: because like a lot of the sci-fi shows that are like more kind of like dark and Orville it kind of
1:01:10: captures you know the spirit of Star Trek but it feels more modern and more
1:01:15: kind of realistic and it's a more positive show like there's like you know still serious and bad stuff that happens
1:01:23: but overall it's optimistic show which like I feel it's kind of like missing like
1:01:28: nowadays a lot like you know having positive outlook on the future you know kind of the way Star Trek did and said M
1:01:35: said McFarland who like you know did ourv uh he's a huge fan of Star Trek so
1:01:40: and you can really feel it like and it actually has a bunch of like starter people too and when I originally started watching it like I thought it's going to
1:01:46: be oh it's a Family Guy in space it's going to be silly goofy there's humor in it the first two episodes in particular
1:01:52: like quite heavier on it but then they kind of tone it down and it's actually just a serious scii show that deals with
1:01:59: a lot of you know complex topics and a lot of like you know serious things and
1:02:05: they even deal with some stuff like you know that I wouldn't expect them to deal with like especially in the later Seasons that are like you know very
1:02:12: serious things and they kind of deconstruct them in a really cool sci-fi
1:02:17: way um like I get like CHS from some of the episodes and there's still some humor which but it's kind of cool
1:02:23: because like you know like but I watch Family Guy Family Guy is like joke joke joke joke joke you know it just kind of
1:02:29: keeps rapid firing it but Orval is like Lally can be lots of serious stuff happening and suddenly something funny
1:02:34: is like and you're not expecting it and it like it lands much better like you know it just makes you laugh but the
1:02:40: joke also makes sense you know in the context of the scenario it feels more
1:02:46: natural so like that one that one's definitely good to watch should prob
1:02:51: move things 500 cigarettes 500
1:02:56: cigarettes happy Arbor Day I'm just going to be quoting
1:03:01: things yeah this is a very good show I would like the corner
1:03:11: piece and next questions from yui Euphoria is there a reason that ins and
1:03:17: other real number types are excluded from matrices uh TLD W no in 4x4 Etc the
1:03:23: main reason is like there's not really use cases for those because like usually with Matrix uh
1:03:29: computations you pretty much use real numbers um if there were any like if you
1:03:36: presented like some kind of like use cases that actually like you know serious use cases it's not just like you
1:03:42: know I want to show integers you know for like you know I want to use it as a
1:03:47: collection for integer or something if there's mathematical reasons to have integer matrices and you can show us
1:03:53: those we can add them but right now I don't really know of any serious uses of
1:03:59: those like we're like keeping it like with integer mathematics and M like you know matrices like where it would make
1:04:05: sense so that's pretty much the main reason
1:04:10: um next question Grand UK will the hard permission systems likely coincide with data model rework or would they be far
1:04:16: apart in time uh right now I don't know it's possible to my coincide it's possible with data model rework that
1:04:24: like you know will place um build some foundations for the hard model like heart permission system but right now
1:04:31: it's not been decided yet so uh could go either
1:04:36: way uh res rer is asking we talking about how things saved on clo or
1:04:43: performance I'm sorry I don't remember context of the original question sorry to
1:04:51: know what did they may be asking I have not the faint this idea yeah I'm sorry
1:04:57: if if you're asking something in relation to something we talking about please include the context video
1:05:03: question because you know when we get to your question we'll forget if it was you know say 30 minutes ago or something
1:05:09: like that um Reser was that a huge slowdown I've been hearing that making
1:05:14: performance slow because of unity having to do all that passed through it um the main reason like for slowdown with unity
1:05:21: is because um FR engine is mostly ver in C um um and for C you're going to need a
1:05:28: runtime environment that you know converts the compiled C code into native
1:05:33: code for your CPU it also provides you know a bunch of like other functionality like in know libraries it provides
1:05:40: memory management like you know lots of things that a program needs to run uh
1:05:45: unity in order to run that code it uses an old version of mono and mono even if
1:05:51: you take the latest versions it's way way slower it's not very good at you
1:05:57: know converting that code into native code and it doesn't have like very efficient implementations all of those
1:06:03: supporting functions and init in particular uses older versions which are even slower and uses garbage collector
1:06:10: for the memory management that's not been designed for something of this you know complexity and because of that it
1:06:17: actually you know it slows our code down pretty significantly uh and that's the reason
1:06:23: we want to move you know fation outside of your so we can run it uh with modern net 9
1:06:30: framework well I shouldn't be saying framework with modern net 9 run time uh
1:06:37: which is like at least order of magnitude like faster like for the same code we've already done the Headless
1:06:43: that's given us a lot of really good data like you know the Headless often times like you know you could be chugging in the graphical client but the
1:06:50: headlights is just stable like you know 60 like we had to like be at stable 60 frames with like 44 people in a session
1:06:57: with full Avatar so it was Computing you know all the ik and everything and it just kept going uh so there's a pretty
1:07:04: big like you know performance poost that way uh there's a video on our YouTube
1:07:09: channel uh specifically you know talking with performance update bit more in detail I do recommend uh giving it a
1:07:16: watch um we don't also one thing I mention we don't for the performance the
1:07:21: big performance update we don't need to fully get rid of unity just yet uh just moving FR ex engine out of unit that
1:07:29: should provide big Improvement you know for CP usage um eventually we do want to
1:07:35: replace unit which is going to provide even additional performance benefits um but it's not like a blocker so like you
1:07:41: know once FR engine is moved into its own separate process even if we're still using Unity for the rendering that will
1:07:48: provide significant speed up and there's going to be even more like you know in the future once we do get rid of unity
1:07:54: completely which so going to open up like you know other features uh next question is from bit
1:08:03: crack IGN what stage is the audio rework out last thing I heard was s was doing AB testing Reverb what's the next for
1:08:09: the audio system specifically uh so right now like Cy has done like the work on the Reverb library and making sure
1:08:16: like we have mapping from the old Reverb settings to the new ones uh the system itself um is not like um other than the
1:08:25: Reverb like there's said there hasn't been any coding yet but I've been doing a bunch of research I've been doing a bunch of planning on how it's going to
1:08:31: work so I do have like you know the general kind of design of it how it's going to be approached uh I've been
1:08:38: doing like Research into like steam audio and it's API how to be integrate with it so it's kind of you know at kind
1:08:43: of stage and I'll be starting the actual implementation work and do like putting some of the design bits you know to um
1:08:51: solidifying them you know pretty soon um so that's going to
1:08:57: be um I'm going to be like probably focusing on finishing up the gasing spats like this week but I might even
1:09:04: start to work coding on the actual audio system within this week as well depending on how the G and splits
1:09:10: go um but yeah it's pretty much like you know the next step is like solidifying some of the design parts and then
1:09:17: actually like you know implementing it and then doing the replacement there also you know some more research usually usually it's like
1:09:24: a transition so we start like you know design phase then solidifying designs their implementation and as things come
1:09:30: up like you know some of the design changes along the way uh yui Euphoria asking once heroid
1:09:39: implements it own solutions to problems will it become easier to iterate and add functionality in the future yes I mean
1:09:46: this has already happened like a number of times actually like you know with Photon dust I'm I'm going to bring a thing um so Photon does you know that's
1:09:54: our own own you know particle system
1:10:01: um let's see there we go
1:10:07: um I'm just going to bring a thing photo does is our own particle system and it
1:10:13: replaces the previous Legacy system which was a hybrid between you know FRS engine and unity and unity handled most
1:10:20: of the simulation you know most of the effects which made it like very difficult for us to you know do
1:10:26: different things because you know like mostly was kind of black box ever since you know like implemented Photon dust um
1:10:34: I've been adding like you know a bunch of like smaller modules and other things to do new effects and it's very easy to
1:10:39: add them I've literally felt this way like also sorry for covering s
1:10:47: um this is literally how I've been feeling you know with Photon dust is like I'm like I want to make you know a
1:10:54: cool effect I can just make it reality can be whatever I
1:10:59: want it's um like it's very Libera thing
1:11:05: whenever we do that because now we have like a system it's designed to work specifically with FR engine is designed
1:11:11: to work with Rite is you know optimized for it um it's like it makes things so
1:11:18: much easier like I've actually I've been playing a game um that I've gotten from
1:11:24: Godly like a uh uh few months back for my birthday
1:11:29: and I've been streaming it and there been like this cool particle effect I'm actually going to show it off and there
1:11:35: been like the scol particle effect and I was like Godly was like oh could you do
1:11:40: that with Photon dust and I was like hm wait you could no wait you couldn't you will soon and I've Lally just
1:11:47: implemented a new module for pH on dust and I'll just show it oh boy this my hair um one second
1:11:56: I have to fix up things there we go um let me find it I've added a module that
1:12:05: lets you apply forces to particles um that return them back to their original
1:12:13: emission point and you can essentially make something which uh let me just open this
1:12:21: up let's see where do we have things
1:12:26: uh where's spawn things World maybe users there we go this
1:12:33: gloy um so watch this I'm going to turn it off and turn it on it explodes and
1:12:40: you see it kind of settles into a shape so there's an meshit which emits
1:12:46: particles um you know from from the surface of the mesh and then there's like a m uh called
1:12:56: what is it origin radal force and what it does it each particle remembers the
1:13:02: position where it was emitted from and you essentially use this to make the particle return back to that point if I
1:13:09: turn it off you see like it kind of just well they kind of stop because there's also dumping once I turn it on they'll
1:13:16: kind of go back I can apply you know other forces like for example Simplex Force which is going to do that and once
1:13:22: I turn it off they return back to the original spot let me actually make it weaker so if I make it you know so I'm
1:13:29: applying extra forces on the particles which is you know distorting them but they're still being returned you know to the original spot if I turn this Force
1:13:36: off you know then it just distorts I turn it on again a force is starting to return them you know to their original
1:13:42: position and I turn that off and it just you know settles back and this is
1:13:47: literally an effect you know in the game where there's like a sphere of particles and you can distort it you know it can
1:13:53: be like and then they will like you know return back to the sphere and you can do this
1:14:00: and literally it it took very little time to add it was very easy to
1:14:05: do and that's pretty much you know where the particle system is at like you know because we now have our own custom
1:14:12: one you know so now with Photon dust you
1:14:17: know real is whatever I want it to be so um yeah every time I work like you
1:14:25: know we have our own system oh my this is this is a shirt I figured out
1:14:34: how to actually make the how to like move the uh the origin radial Force around by using a a constant like linear
1:14:42: Force yeah I can actually like move it around and then if I get another one of
1:14:47: these can you make it distort yes that's actually that's actually what I'm going to do yeah like
1:14:53: show the distortion so this is literally your shirt right
1:14:59: now yeah I I L just emitted like the mesh of my shirt um yeah so if I turn on
1:15:07: I think it will think it'll have a good effect if I do alter Direction with like
1:15:12: five and if I turn that on but now if I move it around oh gosh flying away no it's
1:15:19: flying away hang on I got it do like a Simplex
1:15:24: oh Sor why are we why are we in a why are
1:15:31: we in a oh my oh that was so weird I was like why are we in a particle accelerator made out of your
1:15:37: [Music] shirt really cool I like how it
1:15:44: like yeah let me turn the uh these off so you can see a little bit better now when I move it
1:15:51: around turns into a cloud and then goes back to normal yeah and you could do
1:15:56: things like you know forces like with your hands that like you know apply more distortions like you can do a lot of
1:16:03: like cool
1:16:08: effects I were to take this guy give it a give it like an inverse squared like a
1:16:16: radial force and I'll add it to the system article
1:16:23: system add this right here now if I bring this guy close
1:16:30: I think it should work yeah oh there we go [Music]
1:16:37: nice and then it kind of settles back down into like my shirt shape is kind of
1:16:42: cool yeah I think it's still being distorted a bit oh
1:16:49: yeah theard view there like I'm I'm really
1:16:56: happy with Photon does it's like it it just it's soaring you know to have our own system and be just able to make it
1:17:03: do the things we want it to do there like another thing I kind of want to like for like that would like let you
1:17:09: recalculate you know the resting position so you could actually transform multiple things and it could like do skin meshes too it's going to be heavier
1:17:16: but it's also possible because some people wanted to use it you know for things like the deform and change and
1:17:23: that's it's doable but it requires a bit more time there's going to be a lot of more
1:17:28: things I'm going to do you know for this system um I'm going to do for the system you know in the future but right now the
1:17:35: switch is you know kind of back on the performance
1:17:41: updates uh but yeah uh we should probably get to more questions because we're starting to run enough time
1:17:47: there's still like a whole bunch um so yeah uh let me put things back
1:17:55: but it's like it's really cool like you know just seeing people do a lot of like you know cool things and just being able
1:18:01: to like you know add a new things it's going to be similar once the audio system comes in because for example we
1:18:07: can do you know lots of cool effects like you know we can Lally make like sounds for example the distance
1:18:14: attenuation we can make it whatever function we want we can apply you know whatever effects like like we just a
1:18:20: full control on the system and that's very liberating so yes it um it makes things
1:18:27: way easier next question is from Gran UK is there a way to disable a slot per user
1:18:34: in protox so I can could fire an Impulse into a node or somehow Drive slots active per user with
1:18:40: protox I'm not fully sure like you you can drive things and you know if you
1:18:48: driving something and you drive it with per flux um you can put like you know conditions that determine the value of
1:18:57: what you're driving you know depending on the user that's being evaluated on but it's being driven for everyone so
1:19:05: like every everybody needs to compute some value and that value can be different for each user
1:19:11: um sometimes you have to be a little bit careful because you're essentially you kind of like drives that can be like a
1:19:18: mechanism to introduce sort of like intentional desync between users like make things like different between each
1:19:24: between each user so you can do that yeah assuming you know that's what you
1:19:30: mean next question is from Godly uh does a dynamic value variable driver search
1:19:37: the hierarchy for its corresponding Dynamic value variable only once up front and something variable changes and
1:19:43: link to it or does it happen every take um Dynamic values Dynamic variables they
1:19:49: will only try to search when something changes so usually when they move into Hier they will like change things um if
1:19:57: like you know something the component changes they will search it it does not happen every take at least it shouldn't
1:20:02: generally uh searching you know it can be kind of expensive so the system is designed to only do it when it's needed
1:20:09: to do uh got asking as a followup if a
1:20:14: dynamic variable driver does link and doesn't have to search the hierarchy all the time does that imply that once it's link there's essentially no performance
1:20:20: difference between and value copy it um
1:20:25: like generally I would say yes there might be still a bit of an overhead because it kind of needs to like link up
1:20:30: with the system and the system like you know checks like all the others like I don't know how the performance Compares
1:20:36: between value copy and already linked ones that's something will need to be profiled but I would say like you know
1:20:42: both of them are going to be the performance is going to be low enough for it not to really matter as much
1:20:47: unless you're doing like you know thousands dozens of thousands
1:20:53: values uh um when looking at components with generics what does uh s in like
1:20:59: brackets mean I'm going to actually pull this out so it's easier to see oh um so usually this uh that's like the
1:21:10: syntax in C sharp it's used for generics uh s is essentially like it doesn't have
1:21:15: to be S it can be lots of other symbols uh but essentially it's like you know some kind of like it's the generic type
1:21:22: it's a type where s can be sub substituted for any type that fits
1:21:27: within constraints of the type you know for the component so for example we have a component that deals you know with uh
1:21:35: numbers uh maybe it'll accept like you know for S it will accept a integer and float and double and Float too you know
1:21:43: and matrices and stuff like that or it can be you know component where s is a type of asset so it can accept you know
1:21:50: stuff like texture 2D or audio clip or mesh it's essentially you know um
1:21:56: generic components they uh can operate you know on lots of different types and
1:22:03: the you know whatever letters are in the brackets are the types that you want that particular instance to work
1:22:10: with so there's like not there's not like a generic answer uh like you know
1:22:17: what it means specifically but generally it is you know whatever type you want that component to use and are specific
1:22:23: types and their con strs uh they will depend they will depend on the specific
1:22:31: component uh darn Hina asking anything being worked on in general to Improvement to desktop support uh
1:22:38: there's not anything big right now uh however we would like to like you know do a lot more for the desktop in the
1:22:44: future uh especially making it like easier to kind of you know use you know of editor functions so for example you
1:22:51: know being able to like you know uh pin the inspector's windows so you can kind of pin them the way you can you know in
1:22:57: unity or in blender you know partition your workspace put in multiple screens stuff like that uh adding more kind of
1:23:04: binds you know to make it easier to navigate the scene I just kind of like you know bring it close search like desktop editors uh that is planned uh
1:23:13: there's a video on our YouTube channel that covers this in detail with some diagrams as well um so check it out if
1:23:19: you're interested more um I also kind of want to we would like to like you know improve some with control for example we
1:23:25: have like you can have like you know overlay facets so for example have like you know quick inventory access we have
1:23:31: like you know even messages you know maybe like some help information like
1:23:36: you know whatever the current keybinds are stuff like that uh there's some like
1:23:41: un niceties like I want to make it so it's easier like you for example hold a key and you can use a mouse to position
1:23:48: you know the hand so you could like you know touch things and you know Pet People in desktop um stuff like
1:23:56: that but uh it's not being actively worked on right now because right now the focus is on improving
1:24:04: performance uh Lucas is asking uh I'm just checking the time uh Lucas is
1:24:10: asking when we do the splitting will it prevent most crashes that don't generate war drum for example when there isite
1:24:16: doesn't even finish thing look properly also it's very unlikely very likely reson will restart unity in case of
1:24:23: unity crash right yes that's the way I want to approach it is like you know in case they're in their process which is Unity crashes it
1:24:30: doesn't bring everything down you know it just crashes on itself um one of the
1:24:36: reasons why I'm like you know for example with audio eor I'm really leaning on just having the resonite
1:24:43: process just emit audio is because we can make it when you do crash like when Unity does crash you'll still be able to
1:24:49: hear people you still be able to talk to them um but you will essentially like
1:24:55: you will not see anything for a bit but it will spin up on your end process and you're just going to be back where you are so it's going to be like your moment
1:25:03: Interruption um I do think it will make things significantly better in that regard because right now like you know
1:25:09: if youit crashes it becomes corrupted it takes everything down with it uh once it's kind of split they'll prevent H
1:25:15: from happening um this actually one of the Reas like one of the benefits of multiprocess architecture it's one of
1:25:21: the reasons web browsers do it because if we have a browser tab that crashes it
1:25:26: doesn't take your entire browser down it's sort of like you know it it isolates crashes and we definitely want
1:25:33: I know take advantage of that kind of architecture so yes um if they're under
1:25:39: crashes generally shouldn't take the rest of the things down and I think like the main reason right it uh you know for
1:25:45: extension process is going to be less prone to crashing because it's mostly managed code and managed code is a lot
1:25:52: less susceptible the crashes especially because a lot of the crashes we get they're like you know from Unity errors
1:25:58: from driver errors like you know really hard things and the separation kind of PS
1:26:03: like you know an isolation layer between them AR rer uh looks like those
1:26:10: particles could do like a death animation like we fall apart into particles or objects I mean you could
1:26:17: you could do that definely like you can emage particles you know from a skin mesh so you can make like you know so kind of burst into particles and stuff
1:26:23: like that uh the system that we showed uh earlier what it does
1:26:30: specifically it allows them to kind of return back into the original shape they emitted
1:26:36: from and yes uh mod balony actually had like a effect like that it's very cool
1:26:42: like they kind of explode uh let's see we could like we
1:26:48: got 35 minutes left so we still got a fair amount of time uh there's that one thing I didn't want to talk about with
1:26:54: in SPL so I'll probably do that like since there's a bit of a gap in questions but um more than Bon is asking
1:27:02: out of curiosity have you ever seen any anything about the request on Dynamic bone compression squish I don't
1:27:12: remember I know there been like a lot but I don't remember any specifics I'm sorry um if you don't like you know ask
1:27:19: anything specifically like you can like a ask a followup question but I don't remember it specifics right
1:27:27: now uh gr K is there any way to get the I resource of user program Artic to put
1:27:33: their voice elsewhere in the world uh right now not super easily like I've seen
1:27:39: people do it like you know by having them equip a temporary Avatar we might just add a thing for it
1:27:47: um the only thing is like we kind of wanted to avoid doing that before like changing some of the stuff with whisper
1:27:53: bubbles but we might like I have to think about
1:28:00: it one a bit like it it shouldn't be that difficult to add so we'll we might
1:28:05: like an like adding a system for it I would check if there's like a good hub for for
1:28:11: that and with death uh right now there's no more questions in the chat uh but you
1:28:18: still free feel free you know to ask any questions you want we have got about 30 minutes left so there's still time to
1:28:23: answer bunch of them but I did want to talk a little bit on speak
1:28:29: which um I'm going to let like few questions to pile up in the meanwhile I did want to talk a little bit about like
1:28:35: you gassian sp because I've been like working on it so more uh I've integrated library that Cyra has
1:28:41: supported um there's a file format for gassing splits called spz by n tick uh
1:28:48: it makes them way smaller in compare system I like a few weeks back I S like you know can you make rep for this
1:28:54: Library can prepare it and so I was like it's simple enough can I can just rewrite it in C so he rewrote it in C uh
1:29:02: which is now available it's like open source made you made it everything open um yeah makes it way easier it and I've
1:29:09: already integrated it like it works uh when you import gasan SPL you can even select you know uh if if you're not
1:29:16: importing them from spz you can choose to recompress them as pz which is going
1:29:21: to take way less of your inventory space um so it's going to be know really cool
1:29:26: you also can just you know take spz file just drag and drop and it just poof got in split and you can view it um so I'll
1:29:34: be releasing this pretty much like you know this upcoming week the initial version will not have the VM compression
1:29:42: which means they'll be kind of heavy like the abil to beit careful about where you spawn them um I mean even then
1:29:47: like they're going to be still kind of heavy but uh I've been ping the VM
1:29:53: compression which essentially does a few things uh one of them is um it quantizes the
1:30:00: values so for example you know uh v c in splits we have the position we have scales of splits we have rotations we
1:30:07: have opacities and we have colors it's FAL harmonics and it takes a lot of data
1:30:12: like in vrm if you just store them as floats uh that's something like I think
1:30:18: it's like 260 bytes per Splat which adds up fast as like for something like um 3
1:30:27: million suppli that works out around 700 megab of vram uh plus you need you know
1:30:32: few extra buffers for rendering and stuff um so um what is that it essentially you
1:30:40: know uh de compression it uh takes the values it quantizes them into smaller
1:30:46: data types uh as part quantization it computes like a it essentially reorders
1:30:52: a SPL using something called reordering which uh places SPL that are
1:30:57: like close to each other like spatially it puts them kind of you know close to each other um in the data and then it
1:31:06: computes chunks so each like you know chunk of gassian Splats um it computes
1:31:11: the minimum and maximum value because the values that are like you know close to each other tend to be similar like
1:31:17: for example if you consider you know say like this desk you know if you if you have a trunk here and you have like you
1:31:23: know say you take the texture data it's mostly just shades of brown um compared
1:31:28: to like you know if you take like a random spot here and then random spot on the carpet over there and I'm spot in water it's going to be all different
1:31:34: colors so by placing them together uh that then to you know exploit that sort
1:31:39: of local similarity or local coherency um it then like you know just
1:31:45: defines like the maximum value and it quantizes the values which reduces you know how much bytes each one takes and
1:31:52: that like saves a lot of V uh the other form of compression it can do is use this um uh it will use like
1:32:01: texture compression for some of the data particularly for the color data like bc7 which is really good you know at
1:32:06: compressing colors and it it kind of similar principle where colors that are next to each other um you know uh colors
1:32:15: that are close to each other you know tend to look the same so it works really well for that uh the last thing it does
1:32:22: and this was probably the biggest part that I have to Port uh it uh does something called Vector quantization for
1:32:29: especially for the spherical harmonics because they're the biggest part um and the spherical uh the vector
1:32:36: quantization uh what it does it essentially looks you know at all the values in the split and it tries to find
1:32:42: a set a smaller set of values that is a good representation for all the values
1:32:47: you have in there and in order to achieve that it uses algorithm called K means clustering and actually means like
1:32:54: K that's number you know of like pilot values you want and then you give it the
1:33:00: data and it finds a way to you know group the data together to have a you
1:33:06: know good representation uh of all the data I've actually um the algorithm is
1:33:12: like you know it's more generic so like you can essentially throw any data set at it and in order to test it um you
1:33:20: know like in order to test it I had to generate a mesh and I saved it because
1:33:25: it look really cool uh let's see
1:33:31: models because I was like I need to visualize you know make sure there actually I didn't make any mistakes
1:33:37: during which I did some small ones but they didn't prevent it from working oh what oh wait there we go okay I see so
1:33:45: this is the mesh I made let actually show the hole because there's like two
1:33:50: spheres oh there it is so there's like two
1:33:56: spheres um I generated data uh where it was a bunch of 3D points you know
1:34:02: XYZ uh and they were generated around two spheres that are apart from each
1:34:08: other and essentially gave it as an inputter algorithm and ask them ask the algorithm to Cluster them so it kind of
1:34:15: you know groups them together and then I generated a mesh where from each original point I would like you know
1:34:23: draw a line to the clustered point and you see for example there's a bunch of
1:34:29: points here and they all point to the same point is because you know there's been a lot of original points and I
1:34:35: asked you to class Searcher like something like 16 points I don't know how many this is so like 1 2 3 4 5 six 7
1:34:42: eight yeah that's 16 uh 16 points and the algorithm it all essentially you
1:34:48: know figure out which point like a set of points uh which is closest you know to
1:34:55: like your original input points and you can see like you know it kind of made this kind of cool shape um it made both
1:35:02: both of the Spheres you know there's no lines between these two spheres because they're far apart so like a point that's
1:35:07: over here you know it wouldn't be a good approximation of point over here so this is working correctly and also on this on
1:35:13: each individual sphere they're roughly evenly distributed so every point you
1:35:20: know if you consider you know the lines to be the error because this is where
1:35:26: the original point is and this is where the cluster point is the quantized one the algor tries to minimize the error it
1:35:34: tries to make this as short as possible on average for every point in your data
1:35:39: set and it kind of did that you know we can kind of see that like most of them are relatively short or as short as they
1:35:46: can be um and this is like a really cool kind of visualization the other way it
1:35:53: can also do this you can actually throw pixel data on it um and if I look in my
1:36:01: inventory um I been like just throwing like you know images at it if you give it just the pixel data just the colors
1:36:09: what it essentially does it figures out like a good pallette for all the colors
1:36:14: you know in that image because it finds you know a limited set of colors that can represent all of the colors in the
1:36:21: image with minimum amount of error um and I've also like made it so you can
1:36:28: actually say that the position of the pixel also affects the quantization so
1:36:33: like if the it tries to put pixels that are close to close together it hases to Cluster them together um and I've been
1:36:40: playing around with it and you can make like really neat things um let me
1:36:45: see uh I've had a bunch of samples that I want to show you
1:36:53: so over here so i' like you know just grabbed a
1:36:59: bunch of like images and stuff and uh I've been like you know toying with the values
1:37:07: too so actually I don't think I have the original here uh this one's already clustered but it's not strongly
1:37:15: clustered so I got image like this I just grabbed it you know online and you
1:37:20: can see this is like has a really nice colors to it this is already quantized a bit you can see there's you know some gradients but then I told the algorithm
1:37:27: to like you know put greater weight on the spatial position and essentially you know quantize it some more you know
1:37:35: reduce it like more and look what it did you see like now a lot of the
1:37:43: details in this one is like reduced but it still has a lot of the you know spal kind of coherence it sort of you know it
1:37:50: kind of like pitied it uh but also like you know try to keep the shape you know
1:37:55: of the colors in the original image and like I think it looks super neat and it's literally just you know
1:38:02: running it through that algorithm and this is like the less uh uh I've r a bunch of different images I've also got
1:38:09: um I got the Doom wallpaper that one is like super neat so let me see I think this one's
1:38:16: the original um this one's original
1:38:26: so let me just bring that in so this is from uh one of the
1:38:33: wallpapers for do maternal and this one I actually Threw It on it because like you know I had a
1:38:39: file at hand and it's like big one because I did some like make sure the algorithm Works fast this is 4K image so
1:38:46: this is like you know really cool wallpaper a lot of detail you know a lot of colors um then I'll bring the
1:38:53: quantized one uh let's see this the one that's too much
1:38:59: quantized let me bring this one in give it a base it takes a bit time
1:39:07: import because 4K but there we go and you see on this one um you see like how
1:39:13: the colors are now more clustered together but it's still like you know looks good you know like it it preserves
1:39:20: you know things and it could look you know additional things like on this later like diding and so on but if you
1:39:26: compare to this one you know this has like a lot more details for the colors here compared to this one you see like
1:39:32: how it kind of like averages them but even this you know even though it has fewer colors the colors are still a good
1:39:38: representation of the data in the image like it still looks close and then as I kept increasing you know the weight of
1:39:45: the positions so it would like you know it had less less kind of colors to work
1:39:52: with Al point it did this uh once it loads look at
1:39:59: that so you see the colors are kind of starting to Cluster together but it kind of keeps you know the shape in some some
1:40:05: areas like it still kind of stays if it's close enough and like it just kind of looks like a cool abstract art and we
1:40:12: just kind of having like you know fun playing with it and then I increased it even more um and it just like you know
1:40:19: once the influence of the position of the pixel is too big like it C and to mostly ignore the color uh but it's
1:40:27: still like you know we still find a color that's like a good approximation for them and I just ended up like it
1:40:33: over this kind of Mosaic thing where it just looks like voronoi um I did like one more thing
1:40:39: like I've actually like animated the process uh for an image so it's one picture of me and
1:40:46: glitch um from art like a from Dinger and um I generated like a video of this
1:40:53: one and if I animate it if I play it let's see you can kind of see it like
1:40:58: you know clustering more and just turns into Mosaic and then
1:41:07: back I found it look super neat and it's just you know like I've
1:41:12: implemented the algorithm you know purely for gassian splatting but I was like oh it's like useful for a lot of
1:41:18: other things we can just throw stuff at it and make things so once that comes out I've actually because I had so much
1:41:24: fun playing with it for textures uh this is going to be exposed as a protox method you can call it and you can like
1:41:31: you know give it whatever parameters you want Al like it do weird ones it might do weird things or explode
1:41:38: um and like you know you can kind of play with it on yourself and make like you know all kinds of cool images plus
1:41:43: you know I'm kind of thinking we could like use it you know for procedural meshes and other things so like it's it's super cool to have this algorithm
1:41:49: in place but it's that's that's do the ramble I wanted to have we have 20
1:41:55: minutes left there's some more questions so we're going to go through them but um
1:42:01: I'm excited for for I'm about excited for the gassian splatting because like it's been like one of my kind of pet projects I really wanted to do for a
1:42:09: while uh and now like you know there's another algorithm every time there's more algorithms adors on I it's like you
1:42:15: know it's like the tool set that can be done used for other things you know it
1:42:21: grows so I'm like you know very very happy with it and can do cool things like this s's eating the
1:42:28: mesh I want to eat these don't need them
1:42:35: [ __ ] going to get more slip DPS
1:42:40: oh don't make me laugh I'm sorry but laugh laughter is the best
1:42:45: medicine unless you have a slip laughter hurts it's painful anyways uh let's go back to the
1:42:54: questions uh so modern Bon is asking oh on the topic of dynamic bone compression
1:43:00: squish basically Dynamic bone squish squish is just stretch in Reverse I want to have a feature where you're able to
1:43:06: make Dynamic bone squishy question mark So it shows up um I mean I would make habish about it like the question is
1:43:12: like you know how do you do it because like uh where did my brush go did I eat my
1:43:19: brush I had a brush I don't know where it went um I didn't eat it
1:43:24: there might be one over there do I have a brush over there no uh let me find a
1:43:30: brush there is one got it okay thank you I could move over there but like
1:43:37: this is going to be just a quick throwing so um so if you have like a chain uh actually just actually no never
1:43:45: mind I want to do that um if you don't want to do like in know chain so like you B here B here B here B here
1:43:55: so like if you grab it um one problem is like you know it's a little bit like they might be ambigu like with how you
1:44:02: want the squish to work because say you hold it here and you move it here you know you move your hand like down should
1:44:09: it like you know because the bone can do like two things it can like you know you could squish it so like each element
1:44:16: gets you know shorter um or like you know it could like if
1:44:23: hold it like you know like it could do something like this where it like bends
1:44:28: you know which is what it's going to do right now because both are technically kind of potential like you know
1:44:33: solutions for this um you could maybe make it so like you you specify that the
1:44:39: bone is at like you know by default it's at extended length and if it's being held It'll like you know if you move it
1:44:47: closer you know to whatever the origin is it'll it'll try to shrink so like
1:44:52: when you hold it it's it's almost going to act like it's already you know stretched so when you put it closer you
1:44:58: know it like squishes and then you release it and it goes back to the you know wring position so maybe that could
1:45:03: work I I say make a good isue about it um explain give some if you can give
1:45:09: some examples you know how how we want it to be squishing like like for example like if you have like you know like you
1:45:16: want to hold it here and you want to do this and you wanted to squish if we kind of visually see what you want it to do
1:45:23: it makes it a little bit easier to figure out a good solution for
1:45:30: it um or if does like already get Hab like you know and it's missing that information I would add that information
1:45:36: to it uh next question Alex 2pi surely
1:45:42: creating an entire Avatar using only this new particle module for rendering would not be responsible right and it
1:45:49: kind of depends like the so it depends how complex this ulation is it might not be the worst thing like there's avatars
1:45:55: that might be heavier because like when you think about it like you know avatars
1:46:01: can be really complex so like if you have like complex geometry lots of things they forming like you know lots
1:46:06: of dynamic bones having you know particles it's not the worst thing
1:46:12: depending how dense they are like if you for example start enabling collisions you have like lots of particles then yeah some like it'll get worse than most
1:46:20: avatars but I think you can make a responsible Avatar is made from particles it also you know context
1:46:27: specific like you can make you know goofy Avatar like if you're like in sessions with friends and it's heavier but you want to show it off that can be
1:46:33: fine but like don't bring it into like you know very heavy session it's a you
1:46:41: know there is a way to be responsible with it uh just check like you know what the performance impact is how well
1:46:47: people run with it and and such we got 15 minutes uh uh for a few more
1:46:54: questions uh orange orange C7 is asking if you're talking about gas in Sp I
1:47:00: don't think you could move the splits around like that after the fact could you yeah you can like uh the order of
1:47:06: the Splats in the file it doesn't matter like like for the like rendering purpose
1:47:11: it doesn't matter because when you render a gas in spad you actually do have to sort them regularly like it
1:47:19: doesn't have to happen every frame in fact the implementation doesn't do it every frame to kind of like avoid it
1:47:24: being too heavy but we essenti have to figure out okay like you know if there's a bunch of Splats you know over here and
1:47:30: just like say there's a split here there's a split here there's another one here there's another here there's
1:47:36: another here and you're looking at them you know from here this is your
1:47:42: eye like you know you need to sort them so like they render you know based on
1:47:48: the distance so they properly overlap each other because if you render them like if you make this one over here
1:47:55: render after this one then you know this one's going to show like it's going to look like it's
1:48:02: on top of this one even though it's behind it's going to look wrong um so like as part of rendering
1:48:09: they already kind of sorted which means like whatever order they come in in the data doesn't matter and the reason that
1:48:15: doesn't matter because we can you can look at it from over here and you look at it from over here now this one has to come first and this one has to come last
1:48:23: it's also kind of hard to see on the C there we go you know because you can be looking at this from any angle and for
1:48:30: every angle they need to be sorted so like the ones that are closer show on top of the ones that are further away so
1:48:37: like you know whatever order they come in the data like is irrelevant like they do get sorted as part of rendering and
1:48:43: you can you can reorder them for other benefits which is like you know better
1:48:49: compression in vrm for example uh next one is Lucas R quick question if
1:48:56: you have multiple gassian Plus in the world do they propol render over each other no they will not um the and and
1:49:03: big part is because of the Sorting because the Sorting happens you know for each individual
1:49:09: Splat um so like you know like if you have like a Splat here you know has a bunch of
1:49:15: Splats I'm just going to do thing here and they have another split over
1:49:21: here I'm just going to do like you know some
1:49:26: random ones um you know have two Splats uh each split is sorted within
1:49:34: itself um so like a viewer here like you know
1:49:39: it is the spot it will sort each one of them individually but if you merge them like one of them is going to show on top
1:49:45: of the other and it's going to be whichever one is closer which from the center of it um problem is you know if
1:49:53: you if you wanted them to properly render over each other that would make
1:49:59: the algorithm for rendering a little more complicated because now instead of just souring the already existing data
1:50:05: you actually have to collect all the Splats put them into separate buffer and
1:50:10: then sort that which can be done it but it makes things far farther more complicated and um we're not doing that
1:50:18: you know for initial implementation maybe like down the line will do it but uh
1:50:23: right now that would make things too complicated unfortunately there's are
1:50:29: certain limitations you know with the version of unit that we're using so this is going to get ported once we switch to
1:50:34: sauce uh which is going to make it B more efficient to render them um and
1:50:39: also going to make it make it easier to like you know do stuff like
1:50:44: that next question is from Grand Decay uh is there a way to get active field of a slot uh with perlex or component
1:50:53: you can't get the field itself but you can uh there are like
1:51:00: um um there's um there's like no where we can like can
1:51:07: set it to be active or no active but if you want to drive it like you know you can't do that right now like that um
1:51:14: usually the approach is like you know you kind of put the whatever Target is you put it into the Container to you control because even then like if you
1:51:21: just get to field itself you're not guaranteed you know that like you have control over that something
1:51:27: else might already want thing to be controlled at um so like you know it's not generally super safe to assume that
1:51:35: nothing is controlling that uh so I'd be kind of you know careful with that and howly put it like
1:51:40: into a container you do control uh next question is from Modern
1:51:46: balone I did make good about it also it's demonstration using V squish Bones the squish we don't need to grab it it's
1:51:52: just you would collide with it and the bone oh okay I see what you mean here's the gab isue uh unfortunately it doesn't
1:51:59: Ender anything I think twitch sensors it but um okay yeah I was like pressing it
1:52:05: like we can figure something out I'll have to like look at the samples for it uh I do want to like you know give
1:52:11: Dynamic Bond some more love sometime too um ases wolf could you let people know
1:52:18: not to be too afraid of per flux in regards its performance impact uh perlex doesn't like people just by existing it
1:52:24: was not doing anything that perlex is just fancy components yeah like it's perlex is a programming language so like
1:52:31: you know things are as efficient as you make them generally um usually like if
1:52:36: the perlex is not really being executed it doesn't really cost to much performance other than like you know using a bit more memory but uh
1:52:45: usually like you would like the comparon I like to use is like you know consider
1:52:50: just a single 4K texture on that's going to use few megabytes you know of your vram
1:52:58: and RAM and you would need like an Insight perlex creation to like use that
1:53:04: much memory so like it's you know in comparison it's not is nowhere like near as bad as
1:53:11: sometimes people like think it might be uh especially if you know weigh it again because like people don't really think
1:53:17: twice about losing you know a bunch of textures on their Avatar even to like they use way more like you know
1:53:24: resources just to kind of exist you know than something like that um so yeah it
1:53:31: it depends a lot because like you you can make stuff that will like a lot with Proto
1:53:36: Flags but like you know it's something that can be fixed and like usually you have to be doing something like for example if you're doing um if you're
1:53:44: doing Dynamic impulses to the route every single frame that's going to be heavy but like you know you're doing a
1:53:50: thing if it just kind of like passively exist and it doesn't really hurt as much
1:53:55: it's it's it depends a very bit but uh the best thing is you know you can do is like you know profile your things like
1:54:02: do like you know test like very spawn a bunch of the thing in an empty world see like what kind of impact it has um and
1:54:09: then like you know see what you can do like can can you find a different approach to
1:54:15: something and with that that's all the questions uh I think we have time for a few more we have about like 5 minutes
1:54:22: left so depending on the complexity we can ask some more questions oh uh Mar is asking why are some slau
1:54:31: related perlex nod have self in their name such as set SL persistent self oh
1:54:37: so the reason for that is because some properties like persistence and being
1:54:42: active um it's like something that's inherited in the hierarchy so say you
1:54:48: know you have like your scene hierarchy uh you have an object here and you have like you know say one under it um and we
1:54:55: have like one here and we have like under here and maybe there's another here and's say another
1:55:02: here so um if this slot is said to be
1:55:08: not active this is disabled you know you disable this one this means all of its
1:55:15: children are not active either um so like he is active status is going to be
1:55:21: false for all of these even if the slot itself is set to be active like if this
1:55:27: one is set to active I'm kind of drawing this backwards um you know it's it's
1:55:33: final result is still inactive because the parent is inactive but once you activate the parent you know once you
1:55:40: make this active then this becomes active again then you have another scenario say
1:55:46: like um I'm going to delete this say say set this to inactive
1:55:53: and you set this one to be inactive as well and then you activate this
1:56:02: one then this one's going to be active this one is going to be inactive because
1:56:08: like this one is itself inactive and this one's going to be active and this one's going to be active so what the
1:56:14: self means is essentially just looking is the property of the slot itself
1:56:20: directly is it set to resistant or not or is it set to active or not regardless you know of whatever
1:56:28: state is it inheriting you know from higher up so like the persistent self
1:56:35: and the pers active self only looks at the property so like even uh even if you have a
1:56:42: scenario um oops if you have a scenario you know
1:56:47: like where does this grab um you have a scenario where where this
1:56:52: is inactive which means all of this is inactive if you do slot is active on
1:57:00: this one you're going to get false because the parent is not active but if you do is active self it's going to give
1:57:07: you true because that's just that property like whatever the property is uh for that particle slot so I hope that
1:57:14: kind of makes sense like this way um essentially by the self value is the
1:57:21: value whatever is the slot set to regardless of what the currently inherited value
1:57:33: is uh let's see there we go next question is from Modern Balon uh
1:57:40: can I soon get a bing related to B Discord or after off be okay with you um
1:57:46: I can but uh well I'll probably
1:57:53: uh let's do it like on the next resonance because we don't have like much time left uh I'll probably not want to look at it now so like um I will I I
1:58:01: would uh bring the issue number to the next resonance or put it into the Discord questions and then I can have a
1:58:07: look at it um that might be like better way to approach it because right now like I
1:58:12: would look into the show but we have 2 minutes left so there's not enough time
1:58:20: um uh let's see look at we talked about schit before how do you feel about value copy with right packs to the parent
1:58:26: field of slot locally parenting it to different places depend on the user using different p volid inar uh that is
1:58:34: something you can do you can essentially like because what you're doing is you're like locally driving the
1:58:41: parent um and driving is a mechanism where you can intentionally diverge you
1:58:46: know the data model for multiple people the only thing doing that for parent uh
1:58:52: you kind of have to be careful because you have to think you know who is this slot under on each of the clients
1:58:58: because it can lead to some weirdness but that weirdness is you know for you to deal with when you use that
1:59:04: mechanism um generally like you know it shouldn't be an issue as long as you
1:59:10: design your system to like work well uh because driving driving is an intentional mechanism and you can drive
1:59:16: you know uh it can drive the parent to be like you know different slot for different users so that one that one is
1:59:25: fine uh with that we have 30 seconds left so I'm pretty much going to end it
1:59:30: here so thank you everyone you know who came to the stream thank you like you know for for the questions uh thank you
1:59:35: for listening you know to myus ramblings um than and also like you know
1:59:41: congrats to everyone like who participated MMC I'm like very excited to start going through all the you know projects we've made um I think there's
1:59:49: like4 something submitted for all quite a bit 144 my goal is to go through all
1:59:55: of them I'm going to record it uh it's going to be published sometime after the audience voting ends uh but I'm very
2:00:01: excited like what to see all the cool stuff you made also thank you very much everyone you know who's supporting us um
2:00:07: important like patreon and through stripe uh if you haven't like we do recommend switching to stripe even if
2:00:13: it's on the same tier because we get like you know more money that way uh patreon takes you know on average 15%
2:00:20: stripe takes on average about 5% like if everybody switches like you know we'll have like few thousand more per month
2:00:29: which can we then use you know to make resite like better um so for everyone who also switched like you know thank
2:00:34: you very much like it's it's it's helping us quite a bit um with that like
2:00:40: um we're going to find if there's anybody we can raid Let's see we like to like raid like
2:00:48: any resonite streamers uh kers is uh streaming so we're going
2:00:56: to rate them uh it's also just PSA like you know we do like if if you stream res
2:01:02: I this is good time to stream because we're going to get rated we're going to look uh we're going to look you know for
2:01:08: anyone especially smaller streamers because we want to like help um help
2:01:14: everyone so going to do KY vus okay that should be it
2:01:23: uh should be getting
2:01:28: ready so thank you very much uh thank you for all the questions you know thank you for making cool stuff for res night
2:01:34: and uh we'll see you next time so see you see you next time and say hi
2:01:42: to KY vulpus from us bye bye
2:01:49: H but in the way there
2:01:55: go they've been raided