Alright,
welcome to office hours.
Uh,
sorry for the
2 weeks where we didn't have that.
I was on vacation over in Florida.
I had a good vacation,
um,
did far too much walking,
and as a result there's like 5 or 6 blisters all over my feet,
but enough about my feet,
let's get on with the questions.
Um,
how the
heck did I manage to
get feet into the conversation accidentally?
I was just blinking,
right,
and then looking at what I said and I'm just like,
no,
what did I do?
Anyway,
moving forwards,
uh,
that's also Jor's question,
uh,
sorted out.
Uh,
Red was just talking about the microphones and now on to uh Red's
actual,
uh,
question.
Um,
so red says random ask question,
but you know,
if of an easier API I could pull to get the videos of a YouTube playlist,
other than the one that requires quota stuff where you only get X per month queries.
There's this sort of phenomenon that's happening with larger companies where
they kind of make stuff
difficult to use,
and it can sometimes appear like they don't want you using it.
Um,
so
I,
that's what happened the last time I looked at YouTube's API and what you just said
seems to be like
more of the same.
Uh,
I don't really understand that.
Uh,
there's a huge benefit to just letting people play around with stuff,
but,
but there we go.
Uh,
uh,
I think J4 linked some like API thing that might be better there.
Moving forwards,
Gam the Cup Doc asks a bunch of open source library questions.
Where is YMS forks of,
uh,
English.
Where is YMS's fork of Opus?
Uh,
I thought it would all be on our yellow Doc man doubly doos,
right?
Uh,
no,
repositories.
Uh.
Are we
pushing all the wrong buttons.
Yeah,
I think we just use the like stock,
right?
I don't think we have a
um a custom part of the native.
We might hold on,
there's another list I can check if I've forgotten.
Uh,
I just have to remember where that other list is,
Puss.
There's no uh description on any place that I can see
internally that talks about us having an actual opus fork.
So I guess we just use stock and then the.
Uh,
enhancements that we've got are just on the C side.
Um,
all right,
the next is Brotley.
I think the same answer there.
Uh,
I know that we do have a fork of Brotley.net,
but
she uses a full back when the native version of
the library is not supported on a particular platform.
Yeah,
I don't think we have a fork with that either.
But basically,
if you can't find it
in um our yellow Dogman organisation,
then we,
we probably don't have a fork for it or we're confused.
Um,
freetype is the other one you're looking at.
Uh,
yeah,
I don't think we have a fork of freetype either.
Yeah,
I don't,
I don't think we have a fork with any of those.
Uh,
if you struggle or,
or find out that we do,
uh,
DM me,
I'll try to sort you out.
Moving forwards,
uh,
Luki says,
what's your new project now that you're back.
As a reminder,
I've got the task organisation board.
Uh,
I updated it yesterday,
so you'll see.
But we've got uh general place of private business workers appeared again.
Uh,
probably for the majority of the remainder of the days in October,
I've got a bunch of just sort of really quick uh business related work to get through,
uh,
but on top of that,
I'm also figuring out the headless discord and steam issue.
Uh,
some other random headless bugs that are associated with the placeholder,
uh,
for private business work
and that loading indicator,
which I completely forgot I was looking at,
so I'll,
I'll have to take a look at that one.
but yeah,
those are the,
the things I'll be working on.
Uh,
you can take a look in the ready column for stuff that I like,
ideally should be picking up afterwards,
or stuff in the paused column that might jump across or jump back.
Uh,
it's a little bit of a mess cause business works.
To mean business work.
But I would rather be doing the business work than um pulling fruits off of,
uh,
performance again.
Uh,
let's see.
Next question is Yosh,
who says,
what's the dog doing?
So the dog actually had a busy day today.
The dog went to the vet for vaccinations and the dog does not like the vet.
So the vet has prescribed the vet,
uh,
the vets prescribed the vets.
Yes,
the vet is taking pills.
No,
um,
The vet prescribed a sedative for the doc,
and so
I
read the bottle months ago when I got it and it was like,
give it an hour before the vet visit.
And so I did.
And then I read the bottle
just before the appointment earlier today,
and it said 2 hours and like,
oh well,
um,
so I don't know if the medication was actually having an effect at the vet visit,
uh,
but suffice to say he's very sleepy now.
So he's going to be asleep for like a few hours and then be back to normal.
Yeah,
he had a bunch of shots.
Let me grab some photos cause I just have them to hand.
Uh,
of
better at the vets.
I got one more somewhere.
Yeah,
that one.
Everyone loves him,
like literally everyone.
Even when he's barking angrily,
they're like,
he's a cute dog.
Yay.
Uh,
so moving forwards,
uh,
where are we here?
Dog doing is done.
Um,
Singer,
uh,
ask about custom shaders.
That needs to,
uh,
wait for the source update.
I don't know if we're gonna call it the source update,
but basically the engine update.
That's when we swap over to source.
Um,
if someone can look the wiki page for Source,
uh,
then,
uh,
that might help us out.
But even with Source.
Do note that custom shaders might not be exactly what you're looking for.
So it depends on what you're looking for.
If you're looking to take a unityritten shader file,
or compatible shader file,
etc.
that's not gonna be compatible ever.
You're going to be able to build shaders in a different way,
but not using,
um,
the languages that the Unity provides for custom shaders,
unfortunately.
You can find out more about that,
probably in the source page or if not on a custom shadders page,
if you need any more information on it,
uh,
let me know and ask more questions.
Mo says,
so if a unity bug happens.
Such as the crash with the new version of CVR.
Is there really no way for you guys to fix that?
Just wondering what's the general consensus when nudity bugs are found,
if there is one.
I don't know the details of that.
Let's keep that to the GitHub issue.
Um,
I'm not involved in the fix for that one,
so I,
I don't know.
Uh,
the Cup girl's asking about the R noise
fork and saying that maybe it's not buildable.
If that's one I touched,
it should be,
but,
uh,
I don't know if I touched it.
Uh,
yeah,
it looks like I only touched the .net wrapper.
Oh no,
hold on.
Um.
I touched it
10 months ago and I have no memory of doing so.
If there's a specific bug there,
could you go ahead and open up,
um,
I don't know if we've got issues this on,
on,
on this fork.
Let me see if I can get that open.
There we go,
issues open for it.
Uh,
open up an issue,
um,
I'll assign it to myself and then I won't,
um,
forget things basically.
Look he asked what part of Florida I was in,
literally Orlando.
Uh,
we weren't there to do Disney.
We did go to,
we did go to one Disney park,
but like it wasn't a,
um a Disney vacation,
it was a look around Florida vacation.
So we spent a bunch of time in Orlando.
I have a new favourite city over there,
or town,
village,
whatever you wanna call it,
called Celebration.
Uh,
celebration's a really cool place.
Um,
I don't know,
it feels a lot like
some parts of Bellevue and,
um,
over here.
We also took a road trip down to Miami.
I hate Miami.
Um,
I'm sure that people in it are fine,
you know,
if it's them,
it's not,
it's nothing they're doing.
It's just that if you go like past south of Orlando,
the humidity starts ramping up due to just the part of the world you're in.
And so by the time you get down to Miami,
you could be like completely freshly showered,
like out the shower,
dressed in clean clothes,
everything,
like your best
human self.
And you take one step outside your front door and
you're instantly dripping with like moisture and it just doesn't stop
all
day.
Like I think I showered 3 times for the 3 days
that I was in.
Uh,
Miami,
if I could,
some days I couldn't,
right,
but I would always do like one in the morning
and one in the evening cos it was just like I'm
gross.
Um,
I also don't like the way that
like sunscreen feels.
Like I wear it,
of course,
cos you you can't,
like,
I don't want to die from some skin cancer,
but like I can feel
the sunscreen
on my skin and it's gross and I don't want it there.
So uh that's why I would share at night.
Um.
So yeah,
and then we drove back.
Something that really annoys me,
which I notice in Seattle a lot,
but I also noticed in Miami because it's the same sort of like area,
right?
It's highly,
um,
touristy and busy,
etc.
is that
Americans just have a general lack of respect for public spaces and like just
space that isn't their home in,
in general.
Uh,
you can see it in.
Things like
the Japanese um spectators at that football match who stopped
at the end of the game and cleaned up all the
stores that they were in before leaving,
or
the Japanese team who cleaned out the
men's locker room before leaving or like photos
online that you've got of like a Japanese locker room after a match and a
non-Japanese locker room after a match and how dirty and stuff they are.
Um,
that's,
um,
well,
that's what I mean,
right?
Like a Japanese person would never litter,
but
you know Americans,
right?
So
there was this sign,
like on a,
on like a a stick by the,
by the oceanfront
and it said like,
please don't litter and spoil our beach,
right?
And you look down at the sign and the sign was
actually embedded in some rocks that were part of the shore.
And like in between the rocks,
I could spot like a Corona beer bottle,
3 varieties of like cola,
so like Pepsi,
Diet Coke,
Coke or whatever,
I don't know what combination it was,
and something that looked like something I won't mention.
Um,
so,
like,
just
pick up your trash,
right?
And then there's like graffiti everywhere,
and it's just,
I,
I don't understand,
it's like a it's like a lack of respect for public spaces,
it's really irritating.
All right,
on to resonate questions.
Uh,
Nuki says,
what's the impact of raw slot counts?
Uh,
I'm gonna skip that,
read,
cause I saw Fris was typing some stuff I wanna like add that in,
so I'm gonna skip that question
and bring it back so that it's sort of
all in one slot in a recording point of view.
Uh,
reflection probes,
actually,
let's just see what Fr said to like all of those cos he might have,
uh,
alright,
so I've now read uh,
his feedback and I agree with all of it.
Uh,
so
Sy asks what's the impact of raw slot counts?
It depends on exactly what's going on.
Uh,
slots that don't move and don't have any components on them are like,
no bother.
Nested hierarchies of a certain depth can start being a problem,
but in that case they're a problem because of
how things that access them at that depth are,
for example,
dynamic impulse receivers and triggers and stuff like that.
They need to do some sort of searching.
We do caching and look up tables and in
some cases like dynamic variables to try and sort of
prevent stuff like that,
but if it's like really,
really nested,
it's gonna take a long time cos it's just like got to go through them all in some cases.
But that isn't again slot count,
that's like the hierarchy structure
and.
If you look at an avatar,
like that is built by us,
like,
you know,
the head proxy and all the stuff like that,
and to some extent
the way that the bones and the rig comes out,
um,
is,
is built by us,
right,
it's part of the engine,
and that does use a lot of nesting.
So it does depend,
right?
It it's,
it's not like a
um a hard fast rule.
What I would say is it doesn't matter as much as you think it does,
but it's a really good indicator for a problem.
So you might sort of say like,
hmm,
this thing,
maybe it's an avatar,
it has 10,000 slots.
Why does it have 10,000 slots?
It's not that slots are bad,
it's that it has 10,000 slots and that means something.
In that case,
it might mean that it's got a lot of subsystems on it,
like maybe uh
context menus,
clothing,
gestures,
uh,
utilities,
weapons,
stuff like that.
That would up the slot count,
but that's the reason why it's laggy,
not because of the slot count.
Uh,
reflection probes do have
quite a lot of impact if they are real-time reflection probes,
because you are re-rendering the scene
probably one or more times.
I'm not a rendering expert,
to,
to cover the rendering of that reflection probe.
If they're baked,
probably not as much,
actually,
no,
drastically not as much,
but like still some.
Uh,
it would need to be added into the reflection calculations if it existed,
and if you didn't have a reflection probe,
then it would just use the skybox data,
which if it's like a basic skybox,
it's probably simpler,
but again,
it depends a lot on sort of the,
the structure of the world.
Probably also depends on the complexity of the reflection probe as well.
Like if you have a
probe that is mostly an empty room,
that's probably easier to compute than a reflection
probe that has been baked in like a,
I don't know,
like a busy bar,
etc.
where there's a lot more
blocks of colour to sort of process and handle.
They'll also make the reflection probe file as in the actual texture larger,
of course,
because you can't compress down.
Um,
varying amounts,
but you can compress down like,
hey,
this entire wall of this reflection probe is just a white rectangle,
and compression can sort that out.
Uh,
I'm just gonna skip the transparent one because the reason behind that is,
um,
I still don't know,
and you can laugh at me,
the,
the difference between transparent and alpha that exists on all of our,
um,
Some of our shaders,
I,
I don't know why those are there.
I haven't looked into them.
Um,
the way I go with shaders is
we have a defined graphics programmer,
and I trust them to handle graphics matters.
If I need to pitch in and handle a graphics matter,
I'll go grab a book about physically based rendering and,
and help out,
of course.
But until then,
like,
I,
I've got better things to be doing my time.
Unfortunately,
so maybe um take those to the next office hours from Gs.
Gates is a bit busy right now due to some personal circumstances I won't go into,
but,
um,
when they're back,
maybe they'll do office hours and you can ask them about those then.
Uh,
same goes there for Triplaer.
One thing to note though is that the trip planar is just like a,
it's a different strategy,
right?
So all shaders are just like a mathematical strategy
for,
I want to put this on the screen,
how do I do it?
And so PBS Triplaer is like a completely different mechanism
to uh like the regular PBS material,
so there would be a difference in performance,
but I don't know what that would be without measuring it.
Uh,
you've got another material question,
Nikki,
which says,
uh,
how do detailed textures normals work and why can't you
put them on dual slider tripline or other special materials.
So one of those I do know the answer to,
which is
what Gings wants to do is take all of our
PBS materials that are compatible and sort of overlay them.
Um,
I don't know technically what we're gonna do here,
if it's going to be one file,
a lot of.
clues or whatever,
it doesn't really matter.
The point being,
overlay all of their behaviour such that there's maybe only
one underlying PBS material that does all of it.
And in those cases,
features that are missing from one PBS material
will suddenly appear in other PBS materials.
Um,
that piece of work is known as the PBS sadder consolidation.
Um,
so if you're interested in that,
you can find some GitHub issues on that.
All right,
scrolling down,
uh,
cause I can't,
um,
I'm not seeing any question reactions.
Wow,
this cold is like worse than I realised.
I haven't done like lou,
large amounts of talking.
I mostly typing so I go back.
Uh,
some information reflection probes from Frucxius,
which appears to be new from when I,
I first saw their performance,
um,
information.
So for the benefit of recording,
uh,
fruc says reflection probes will depend on whether they're baked or real time,
which is what I said,
the resolution as well,
yep.
Uh,
real time are are way heavier,
yes,
the higher the resolution,
the more memory this is as well,
yeah.
So,
a,
you know,
a 4K
reflection probe compared to a 2K reflection probe.
You,
you shouldn't be doing like high detail reflection probes,
um,
because like reflections probes are meant to only sort
of be an approximation of what the reflection is.
If you wanted real time reflections,
there's a whole different feature
that we don't support,
uh,
but like the point is there's meant to be some sort of degree of
jank or like deres.
Sing from the real world,
so you can get away with a lower resolution.
You don't need to make it 4K or 8K or whatever.
Like a good example might be like a bookshelf that's in the world.
Um,
that physical bookshelf that exists as a model,
you might be able to read the titles on the books
and see individual books,
but in the reflection probe,
it doesn't really matter,
right?
You just need to understand it's a bookshelf that has a collection of
books in it that could be just a smear in the reflection probe,
provided they They have the sort of right sort of colour base,
um,
and that's why you can get in the way of a low resolution there.
Uh,
so
there's also,
if you have overlapping ones as well,
bigger range,
more impact,
more overlapping,
more impact,
um,
but the PBS stuff,
it depends.
Um,
PBS opaque materials are more efficient than,
uh,
versus transparent.
Yeah,
that's,
um,
if a PBS material is opaque,
what you can basically do is ignore anything behind it.
So if you shine a laser pen at an opaque ball
and the laser hits the ball,
it doesn't have to do anything else.
It's just like red.
That's that ball,
it's red.
But if that's a transparent red,
it has to go through that red ball,
keeping the information about the ball,
and then pick up maybe what's behind it.
Maybe it's another ball,
maybe it's a tree or whatever,
and that,
that's additional work that needs to be done.
Rendering doesn't literally work like this,
but it helps me visualise it,
is to think.
Of it as
literally ray tracing.
It's not literally ray tracing,
but just like,
you know,
millions of laser pointers going out into the world and collecting information
about what they hit,
and then that's how the colour is then put on your screen.
And so if there's more things it has to hit or more maths that it has to do,
or more things that it has to interact with.
So if it has to interact with the texture,
then it has to access the memory in that texture.
Is,
is,
is the way he gets the performance going up.
Like I said,
I'm not a,
uh,
rendering expert,
so I'm speaking a lot in approximations,
and if you hate my approximations,
that's absolutely fine.
I'll just send you an angry cat
GIF and we'll move on.
Uh,
Bob Mitman,
hi there,
um,
good to see you again.
Um,
they're saying they yearly pop in to ask
how collections are coming along for Jason support.
It's on the roadmap,
it's high priority,
but commonly performance is being worked on.
You can take a look at the uh
announcements channel for more on that.
Uh,
there's also the survey results that informed our decision
about performance that are available on the wiki.
Uh,
some people sometimes forget that those are there because it,
it gives you like the
hard data behind our decision there.
Um,
some people are like,
well,
wasn't that only like 500 people?
And I was like,
no,
it's a lot more than that that responded.
So all the data's there,
all the numbers,
you can take a look at it.
If you're a data wizard
and you want to make some more graphs for it,
let us know,
chuck them on the wiki.
Uh,
Fri's Tripana is more expensive than just regular with the same amount of textures.
There you go,
there's some information.
Uh,
red says still wondering what detailed texture is,
and fruit says it's an additional texture that is blended with your main texture.
Typically they use when you have one large texture,
and they have another detailed texture which is scaled differently
from the main one and gives you finer detail.
E.
you can have a car,
a carpet which has a complex pattern on it.
Then you have a detailed normal map which adds fabric normals and overlays it
on that one there's more fine detail that's tiled up to the bigger one.
you can think of this like,
uh,
if you Imagine
looking at a,
a,
a carpet like,
uh,
like Fruits describes with multiple objects,
right?
So if you look at the carpet with your naked eye,
carpets look kind of flat.
If you look at it maybe closer,
like kneeling down to it,
you'll see it's got the pile,
right?
The up down sort of wave of the carpet.
You'll see that more closely.
And then if you grabbed a magnifying glass,
you'd see that even more.
And then if you grabbed a microscope,
it would look like a whole different world down there.
Um,
you'd probably see like gross stuff like crumbs and.
Yeah,
but
the point being,
like,
depends on how you're looking at it,
we can then
um
cross fade or blend,
blend is the more appropriate word,
between the detailed texture and the non-detailed texture,
according to the specifications of the shader to apply additional detail.
It's sort of like
lodding,
which you might be more familiar with,
with,
with models um in in 3D games,
but,
but
in a material sense.
Freaks it's real-time graphics is mostly rasterization,
which is the opposite array tracing.
I know,
it was just an analogy to,
to,
to think about it.
I like this is why I'm not your graphics programmer.
I,
I don't do graphics.
I also don't like talking about things that I don't have like
a large technical understanding on cos I make mistakes like that.
It's still good as an analogy to sort of think about like how to do it.
All right,
I don't see any more questions.
We've got more comments on how rendering works,
thank you.
Um,
more examples of detail maps,
etc.
but really cool stuff.
On the topic of LO,
cos I accidentally brought it up,
the LOd specific functionality that exists,
I was talking about it generally,
but the specific functionality that exists in resino
is,
I believe,
uh,
gonna be ripped out at some point because it's unity specific,
we'll need to make our our own system.
Um,
fruits has some great ideas for that one,
which I think.
Um,
has a up issue somewhere.
Brooks is a better analogy for me,
so that's amazing.
Um,
laying things on top of one another,
uh,
other.
Oh,
like,
uh,
stained glass and stuff like that.
Like putting together like a stained glass window.
Although some of the window tiles are opaque.
You know,
you're like laying over stuff.
I,
I'm sure you've all
played around in your,
um,
arts and crafts cupboard.
You've got those like uh plastic films and you put
like all of them over each other and you're like,
what if I add red and blue and more blue and
it just turns into black because there's too much interference.
Uh,
ray tracing,
however,
particularly real-time ray tracing is the millions of laser pointers,
but there's ways of
doing that again that I don't understand.
Uh,
that's why it takes a lot of power to do that as well,
right?
You're
more thinking like you're thinking about the rays more than asterization.
Um,
electronics is modern rendering is wizardry,
literally everything your computer's doing right now is wizardry,
like the amount of like
understanding of physics we had to figure out to get
like,
We print
like structures onto silicone and then they do maths for us,
it's crazy.
There's a a a YouTube short channel.
I'm not gonna be able to find it cos you know it's YouTube shorts.
When you try and find a short,
you can't find it.
Um,
but it's an electronics hobbyist,
and they will remove the lid on just random,
um,
dice for you,
random processors and all sorts.
And they're usually simpler chips,
so they're not gonna be like a an Intel processor or whatever.
It's more gonna be like,
let's have a look at the 555 timer on our microscope.
Um,
and,
and those are really good.
Because you can,
because it's a smaller,
simpler chip,
you can
sort of identify structures,
or at least the organisation of the structures,
whereas you would look at like a CPU die,
it's,
it's honestly just like a tapestry of chaos.
Um,
bitman says Ben eater,
so let's go YouTube Ben eater.
Uh,
no,
but this looks like a really good channel as well for stuff
cos they're doing a lot of bread boarding and and interfacing,
uh.
I actually know if the 55 timers uh silicon or not.
Oh,
there we go.
Yeah,
it is,
uh,
here's the 555 timer under an electron microscope.
Let me just like do a chip under the microscope
search,
see if I can find
the channel I'm looking at.
Uh,
yeah,
I found them.
He,
they do a bunch of uh the videos I was talking about.
Like this one here is good,
and,
and I still like I can read that and I can look at how um LEDs work and I can.
I can read
the information there,
but it still doesn't make any sense to me
by how something that small creates that much colour,
but
that's why I'm not an electronics person.
I am like I can use electronics,
but I'm not going to develop my own circuits or anything,
although I did do that.
What,
whatever,
you know what I mean?
Like I'm not gonna be the person who comes up with the next neopixel LED.
I'm just gonna buy the next neopixel LED.
Anyway,
I don't see any additional questions.
It is uh 5:30,
so if there are no additional questions,
we'll
start winding things down here.
All right,
uh,
been a
couple of like requests for no additional questions,
and I'm not seeing any additional questions,
so I'm gonna go ahead and leave things off here.
Um,
if you have any additional questions,
drop them the questions and,
and help and
uh I will get back to you
uh later.