So welcome to office hours,
it's uh,
I don't know what day it is,
25th,
yeah,
25th,
so almost the end of,
uh,
February.
Let's go through the rest of questions.
So we've got what the dog doing.
Dog's hiding in,
um,
in the bedroom in their crate.
Uh,
we had a big walk.
When I say that,
I mean like half a mile,
but there and back it's 1 mile,
and he is only little
down to Starbucks where he got a pup cup and I got a.
Mostly sugar and milk thing with a little bit of coffee in it.
Um,
and I was like,
cool,
this is gonna set me up.
This is gonna make it so that I'm awake
and I won't feel like death when I get back to my desk,
and I'll do office hours and then I'll work,
and I'll do the stuff I need to do.
And then I got back and I feel terrible,
I'm probably lying down after this.
Anyway,
there we go.
Um,
that's also how I'm doing,
yeah,
bit pukey,
maybe too much milk,
I don't know,
whatever.
Uh,
what have you been working on lately?
Yeah,
so you just saw the,
um,
if you saw the update notes,
you'll see that there's that update to.
The headless issues.
I just found myself spending an enormous amount of time
reading through headless log files,
and it would take me like 10 or 5 minutes or so and it would just be like,
yeah,
you,
you tried to start
Google.com.
Like that that's not a valid world,
we,
we can't use that.
Um,
and part of the problem there is that
like the world loading routine is really complicated.
I don't know if I've said this before,
but there's.
I don't know,
there's at least 5 different ways to start a world,
and they all make sense and they're all logical.
Some of them could be streamlined later,
but like,
depending on which way you do it,
you'll,
you'll basically just end up with a bunch of logs,
which is what's happening,
right?
The entire world is starting up
and then it's trying to load like a wrong incorrect URL
and it's just like throwing exceptions everywhere that are really un.
Intelligible,
whereas now we can catch those early and,
and,
and say it to you.
It's one of those like small quick things
where like,
you might think,
hey,
why did Pram pick that up and randomly decide to work on it?
The answer to those are usually like,
I need a break from what I'm working on,
I'm waiting for something.
In the particular case of yesterday it was I was waiting for
someone in Europe to push two buttons and then email me.
So that's always fun,
so I just,
I did that.
And then once they pushed the two buttons and emailed me,
we could get on with it.
Um,
so never feel,
I guess,
dissuaded if items that you have
on your,
uh,
you know,
on your,
uh,
GitHub issue
don't get attention and then suddenly random ones do.
Uh,
the random GitHub issue gets attention is like always a um
a gut
instinct for the most part,
right?
Uh,
we have the how we prioritise document,
but when it's like randomly picked off the,
off the top,
it's usually sort of develop interest or
break or,
um,
it would fit in.
You gotta remember sometimes that like I look at the clock and it's like,
hmm,
I could do about 3 more hours work today.
It's not as strict here as like,
hey,
you must work 9 to 5,
that's ridiculous,
but it's like,
hm,
I could do 3 hours more work today.
Do I start a gigantic feature or do I pick something off of my uh fun list,
and that's what happened.
But it was pretty good.
Um,
I think those will be really helpful for
headless users and headless operators and everything.
What I want to do is I want to get to the point where we can,
um,
validate the entire config file,
basically before Fruit's engine even starts,
right?
There's no point in.
Starting up all of Fris E's,
um,
craziness and threads and all sorts if we know that the conflict file is incorrect.
And we can do that using Jason schemers,
which will eventually happen,
I don't know when.
Um,
lots of the stuff that I'm doing on the sidelines,
like this headless stuff,
like IPV6,
like the Asset worker,
they feel like slow moving contents drifting together and,
and,
and forming new ones,
um,
because they're kind of in the background and I need to work on
largely business features,
um.
For most of my time and so when my stuff starts moving,
it feels good,
so it was it was good there.
I've been,
I've been talking about making that error change forever.
Um,
so moving on to Nuki's last question for the first block of questions,
and that's fine,
you keep asking as many as you want,
Nuki,
um,
which is,
what are you excited for in the coming months?
So in the coming months,
um,
now that we've got Stripe out of the way,
there's a little less financial pressure.
There's always financial pressure,
we're a startup,
um,
but that's why I'm doing business work,
we're,
we're we're coping with it.
Um,
at some point in the next couple of months I've
got to spend some time in Europe for a European,
um,
client that we've got.
They actually want someone,
um,
boots on the ground there,
so I'm gonna go ahead and do that.
So that should be fun and something to look forward to,
um,
be stressful,
um,
etc.
but,
um,
the particular European country is,
is,
is
pretty,
and,
you know,
so we'll sort it out.
But beyond that,
um,
the performance update is,
is,
is starting to move,
right?
Um,
we've just got audio left,
I think before we can start doing multiprocess,
so we'll we'll get there.
Uh,
and I'm also looking forward to,
uh,
Gaussian Splatz,
which is like it's so close.
Gaussian Splatz is so close.
Uh,
we will be,
I don't know if I can say this without like people being like,
cite your sources,
but like we'll be the first like VR platform that has
Gaussian Splat rendering,
which is,
is really cool.
I was playing P Path of XL one,
that was a dualist class.
Um,
I wear microtransactions that make me look absolutely ridiculous,
but I have really good reasons for them,
which is when I first started playing P Path of XL 2.
Um,
the crab microtransactions were on sale,
and microtransactions in Part of XL get,
this is answering actually he playing Dier Blue from Nuki.
Um,
microtransactions in Path of Exile get bad rap because
a lot of them are just incredibly annoying.
And that's why like I chose the crab one,
because like it's,
it's not annoying,
it's kind of endearing,
right?
There's this like crab wearing like a fiery coat,
parading around on a random skateboard because of
course I have a skateboard um with.
The iron throat behind them.
It's just,
it's crazy.
It's like a whole character accidentally designed itself
just by crap I picked off the ground during playing the game.
But,
but there we go.
Um,
so Ny now has a block of questions
about um break costs.
These are actually good questions.
Let's get,
let's go through them.
So Niki says,
how do the internals of the ray cast nodes look like?
Are they particularly CPU heavy,
or are they internal optimisations?
So singular ray casts are
handed quite quickly.
There's a lot of like data set up and and validation,
stuff like that in terms of the,
the protofox node,
but they're quickly handed over to Bepu Physics,
um,
and
for context,
Bepu Physics is doing like triple the amount of ray casts that you're aware of,
like,
at all times,
for various reasons.
Like there's lots of physics going on,
we use it all over the place,
so.
Ray casts are not heavy at all.
Like you,
you can,
you can totally do them.
Remember there's the,
um,
because we use Bapu,
and if I have a tab,
do I have a tab?
You know,
sometimes we just don't have like a browser window um accessible anyway,
Bapu Bapu Physics.
Bapu Physics has uh some
performance information
which might,
which might list Racast.
I know it lists um.
I know it lists,
I know it lists mesh collision,
like,
you know,
box gliders,
etc.
stuff like that.
I don't know if it lists recast.
It's a newt.
Sorry,
I got really distracted because I opened up Beppo
Physics is the,
um,
GitHub repository,
and it's like,
hey,
features,
spheres,
capsules,
boxes,
triangles,
compounds of the dove,
meshes,
a whole bunch of constraint types,
newts.
Like just
newts.
What is a newt?
So
I don't know,
whatever,
it's a newt.
By Physics supports newts,
whatever those are.
I don't know,
Bepu had constraints,
what have they got?
Oh my god,
we're gonna have so much fun when we can access these stuff inside resonate.
Oh,
if audio's bad
in any way,
let me know.
Just,
just let me know.
There's almost certainly something I can do always.
Um,
yeah,
if you look inside,
I'm not like,
I can't
say for certain how many of these will be
applicable or addressable once we have,
um,
rigid body physics.
But if you look inside the constraints folder,
you can see like
when I'm reading this list inside this folder,
all I basically hear and see is Gary's mod,
when I read everything in this folder.
You know,
there's like
physics hinges,
physics ball joints.
I know that we have joint right now,
um,
the joint component,
but that's not physics based,
right?
Um,
it,
it's,
uh,
interaction based,
but,
but yeah,
you can,
you can take a look more at anything,
anything from,
from Beppo.
Um,
our joint does um,
just jumping around a little bit here,
Red says,
uh our joints sucks.
Our joint doesn't suck,
um,
the
user experience of setting up the joint does.
So,
um,
we can improve that.
Something that like is very important to to remember
and.
I was,
I was listening to some feedback about the new
particle system and this sort of came to mind,
so I guess I'll just
take my soapbox that I'm standing on and
um
give it to you anyway,
which is that like,
yes,
we replaced the particle system with a much better particle system,
but someone was like,
it's it's more complicated to use now and I'm like,
yeah,
I understand,
right?
You have to add all the modules.
s and like,
you know,
set up all the properties on them and it can get unwieldy.
But like,
this is still like a halfway point,
right?
Now we have a particle system,
we can improve it,
and in particular we can improve the developer UI.
Like,
so maybe the UI will look different in the future
and it won't be as complicated to set up.
But the,
the technical component of it is done.
So once again using that like slow moving analogy,
physics er not physics,
particle system was a,
you know,
a very big piece that we moved,
but like,
hey,
it can.
It can
move forwards and keep going and,
and keep being cool.
All right,
let's move on to another question.
Uh,
Luca says,
what tips do you have for optimising Ray cast based operations,
especially those running every frame?
Ideally,
don't run them every frame,
but if you do need to run them every frame,
try the Raycaster component instead,
um,
which
is used in a lot of older tools.
It's still valid,
you can still use it.
Um,
most tools these days just ask the like laser
for where it's pointing to,
and that's important because of the whole bendy lasers,
sticky lasers thing,
but
in a pinch ray caster will,
will do a lot better than like an update on a,
on a ray cast node.
Depends what you need it for though.
Ray cast is good for.
Um,
position based stuff,
uh,
like lasers and stuff like that.
In fact,
actually I have a really great example which is the,
the two ways that,
that,
um,
content can be made on res.
There are more than two ways,
of course,
but here are two example ways which I thought were quite poignant to talk about.
Um,
so two people
made the same thing.
It was a,
uh,
like a knockback gun of some kind,
not one that sends you across the map,
just one that sort of pushes you back a little bit.
Uh,
which of course can be edited for Gree,
but whatever.
This isn't the place to talk about it.
The point is,
two of them were made with two different techniques.
I think it was Rusty that made it using Protoflux or,
or whatever,
you know,
in the mathematics with the apply character force,
apply character impulse,
physics nodes,
etc.
And then Geel,
who put a character force field on a cube,
parented that cube to the end of a ray.
Faster
and they're they're done,
right?
And so the Gibell's gun basically just pushes a cube into your face that
has a a character force field on it and has the same effect.
Um,
Luy says there's any way to use the I
collider component they would return beyond getting the slot.
Yes.
There's a tool which CIO kept using,
and I actually,
I think I told them off,
I don't remember if I told them off.
They deserve a telling off if they're still using it though.
Um,
they made a tool which they could wave around in
a session and it would turn off mesh colliders.
Um,
you can do that
because of the,
um,
like get type nodes followed by the,
uh,
set components enabled disabled,
cos i Collier is like actually a a a component.
So any of the component nodes that we've got,
and I believe we only have 2 can be used.
You can also,
I believe,
re rehack off the i Collier,
but that's out of the scope of,
of this.
It's often unclear why like interfaces
show up sometimes on your side of things,
like inside resonate.
Because like they're really uh like they have,
I don't know,
they look mysterious inside resonate but outside my uh finite,
like in the actual codebase,
they're fine.
Why is my wrist sore today?
Like,
what have I been doing?
What did I do last yesterday?
That's a good sentence,
isn't it?
Is my wrist sore from playing Path of exile?
Maybe.
Anyway,
moving on,
um,
is there any way to determine anything about the type of collider being hit?
Yeah,
I think you can do the type.
Um,
like try get type or or something like that.
Next up,
Nache says,
what is the proper way to make a new setting component sharpen the dash?
Yes,
so setting components only show up when they're,
um,
it's a little bit sort of
difficult to explain.
Let me try.
They show up if they're used.
So
what you'll see
is
um
that sometimes settings appear
or they aren't there and then sometimes they're there.
And what happens there is that like you use a
part of of resinate that you haven't used before.
And that part
requests settings from our setting system says like,
hey,
um,
it's an example.
The camera streaming dialogue does this,
I think.
So if you never open the camera streaming dialogue,
you'll never have the camera streaming dialogue
um
settings inside your settings component.
But the moment you open the camera streaming setting dialogue.
Once
those will show up and then if you mess with them,
they'll show up again.
And what happens there is when you spawn the camera settings dialogue,
the camera setting dialogue goes,
he setting system,
have you got these settings?
And the setting system goes like,
no bro,
I don't actually have those settings.
Let me instantiate them quickly for you.
And it essentialiates them to default and
then because they're in the default settings,
um,
collection is the wrong word but like hierarchy,
then um they show up in the in in the settings world.
Alex Tupai asks uh basically about the possibility of gifting subscriptions.
It's something that we want to.
Look into doing.
There are a couple of sort of mathematical,
um,
like finance related things to look at there,
uh,
as well as
uh technical stuff,
of course.
It's not something that we're
looking at in the immediate future,
we'll probably lets uh Slape.
Pray,
what the fuck?
We'll probably let Sype,
um,
we'll probably let Stripe sit there for a little bit.
Of course we'll fix bugs and improve things,
but as for adding additional features to Stripe like
new ways to pay or um
new types of subscriptions,
that'll that'll take a little bit longer
because you have to remember that like
we've been trying all this time,
and I mean literally all this time.
To focus on performance for you guys,
right,
cos that's what you asked for,
and then suddenly it's like,
oh we have to do Stripe.
I don't like,
the reason we did Stripe is so that we can
start getting more money out of the transactions,
um,
give a better deal to you guys in some cases.
I'm looking at you $1
tier for a year that costs $10.
That's $2 off for the entire year.
I feel like I need those like star
uh shapes of like yellow in them.
$2 off for the year.
Buy now and we'll double your subscription and send you this
like lump of plastic that apparently microwaves bacon.
We should review some infomercials at some point on um on office hours,
that'd be great.
Uh,
moving forward to
uh,
I'm just gonna like.
We have this British phrase called like put your teeth in,
and it,
it's like a reference to when you stumble over your words exactly like I just did.
But like it doesn't make any sense,
cos like I don't have false teeth.
And even if I did,
then falling out wouldn't cause me to stumble over my words.
I mean it would in a different way,
it would be a physical way rather than a mental way,
but
anyway,
let me put my teeth back in.
Um,
silent asked.
What is your compute resource percentage dedication for uh for audio processing?
I wouldn't be able to give you an exact number
and then you listed a bunch of er audio um libraries,
SDKs,
plugins,
whatever you wanna call them.
We do use Steam Audio,
uh,
we do wanna do more with audio,
but um that's partly what
what Fruits is about to do.
Um,
so
that'll be cool.
Um,
I don't know like
what material benefits to a regular user that update will have,
like,
I don't know what we'll get.
Something that I know that we'll get for certain though is the new reverb,
which has
slightly different settings and stuff that you can do.
Uh,
but I don't know what like,
what other,
you know,
feature features you'd get.
Uh shifty says the newt is a newt.
Like it,
it's literally just a newt,
it's not like a technical term.
Oh,
I see,
it's probably a,
it's probably a play on um Newton,
right,
cos physics is basically Newton's laws.
Anyway,
um,
moving forwards away from Newt.
uh Newkius's a device for doing ray casts over a large area,
like if I want to cover the profile of an object,
uh,
really depends what you're trying to do,
um.
If you're trying to get the profile of an object,
consider messing around with the depth material instead.
Um,
like if it's like a visual effect of a camera,
then the depth material is better for that.
If it's something like mathematical,
like for collision detection,
then use collision detection,
don't use ray costs.
Um,
something which I haven't seen someone make yet,
but like I think you could make,
and I also think like it would be a good,
um,
like
if you did this as a school project.
Not that many of you are at school age,
you know,
cos of our our middle age,
but if you did this as a school project,
I think it would be really good.
I think it would be really good,
right?
Um,
I've gotta draw a little picture,
so I'm gonna draw a little picture
and I'll get back to you.
I say it'll be a good school project cos it
was literally a school project when I was in school,
uh,
except we used a little robot that was,
I don't know,
probably.
A million times simpler and could only follow like really basic instructions.
Um,
but I have made this particular object in
um in Gary's mode as well,
right,
so you make a little car and on the front of the car
you put um
a ray caster that
doesn't spin,
you don't need to use spin,
but you do a semi-circular sweep with the the ray caster,
right?
And what that allows.
To do is it allows you to see
ahead of you from the little car,
how far can I go?
And if the car is doing collision avoidance,
then,
hey,
maybe it should head in the direction of
the ray cars that returned the largest distance.
Um,
or maybe it should try something else.
But that's an exercise that's left up to you.
Like the,
the school exercise that I saw of this sort of thing was.
You had the car,
you had the infrared,
like what can you do with it,
like they,
they left the implementation up to you.
But like that's a good example of like where you might use a ray cast,
um,
and you'll see that in electronics as well,
that's usually like a,
they usually do it like in in real world electronics,
there's a sonar there.
Uh,
if you see a robot that's got like two little speakers on it,
that's,
it's usually sonar.
Excellent.
Uh,
let's take a look.
Uh,
red,
please state your question,
I have no idea what you're talking about.
Um,
Nuki says relatively speaking,
how long till Bay with PFP physics is incorporated?
Remember that when questions are not good.
Uh,
we already have Beppi physics integrated,
it's just parts of it are not accessible to you,
um,
including rigid body the physics and stuff like that.
Uh,
I would say it would come after the performance update,
and
that's as best as I can give you right now.
Uh,
Benport says raycast drivers,
I believe what probably means you're correct.
Ray cast is the protoox node,
Ray cast driver is the component.
Uh,
we could do rigid body physics right now in unity,
it would probably be terrible,
but we could do it.
Um.
So like .net 9 is,
is not that.
And also don't like,
don't overindex on .net 9 as like a term that you're using for releases.
It's much better to sort of be more specific and be like
the multiprocess architecture or the performance update,
right,
cos .NET 9 is,
it's just an implementation detail.
It will have a benefit,
but like by putting
things
under the umbrella term of of .net 9,
you might miss out on some added context or cause confusion.
Uh,
moving down and forwards,
uh,
Powder Pop says,
can you share anything about what business clients do with extension?
Uh,
yeah,
it's largely a sort of like meetings,
training,
demonstration,
research,
um,
I already know how to explain it to you.
Uh,
if you just like look at like business cases for your VR
or search for VR training or VR education or VR research,
you'll you'll you'll you'll see it there.
It's
difficult to explain again because it's like,
well,
you lot,
and I don't mean this in a derogatory term at all,
it's,
it's amazing what you guys do.
But you lot,
you over there,
you
um spend forever inside Rosenite just making cool stuff because you want to.
Whereas all these business clients are doing it because,
well,
usually there's some money in it or the people that are touching it are being,
you know,
paid,
paid to do it for some reason.
Dio says,
are your wrist sore from playing Parx?
Apparently so,
because it's the left wrist,
and the only thing I can think of that I've done with the left wrist yesterday
is push like QWERT a lot.
Uh,
Red says,
how bad a performance would it be
if the simplistic dynamic bone colliders were able
to be collided with static mesh colliders?
Probably not too bad.
Just like an ideal.
Uh,
follow up,
um,
well,
Ny,
OK,
so Ny's asking,
is there a way to see if an i collider is a character collider?
No,
not that I'm aware of.
Probably is aware of hacking,
but,
but
maybe not right now.
However,
if it is a character collider,
then you should be using collisions with it anyway,
you shouldn't be using recast.
Um,
that just says,
is there a way to make a new dash setting showing
up without needing to spawn a dialogue or attach a component?
Uh,
yes,
if you're in modding,
yes,
but go ask in the modding Discord.
Someone will tell you,
and if they don't tag me,
I'll tell you over there.
Uh,
Nuki says I am enjoying my Stripe subscription,
but when Discord,
uh,
yeah,
uh,
you can link your Discord account under subscription
Discord linking on the resin account website,
and it works flawlessly.
It actually works better than Patreon's because we're in charge of the linking,
right?
There is a,
there's a piece of code sitting on our infrastructure now
that will go like,
give them the role.
Physically,
whereas before with Patreon,
um,
Patreon is a piece of code on their machine
that just randomly decides not to do it sometimes.
It's,
uh,
very frustrating.
Nuki says,
What's the equation for getting the quaternion direction of a motion vector?
Don't have a,
I don't have a clue.
If it's maths,
that ain't that ain't me.
Like,
I'll either like Google it or I'll ask someone else,
cause like,
I,
I hate it.
I spent Hours trying to figure out mathematical crap in,
in,
in Proto Fox and it's just like,
oh no,
I'm,
I'm good.
Silence says,
are you ever going to implement something similar to
the Fibone feature the VR chat set has?
We have it.
It's called Dynamic Bones.
It's not the same as dynamic bones on Unity,
but it is,
like,
I can
probably say better than dynamic bones from Unity,
like the old package that everyone uses.
Um,
but I don't know if it's on par to fizz bones.
Probably not because Fiz bones probably has um a
bunch more controls that you might be used to.
But yeah,
we wouldn't make another
bone thing,
we would just improve the bone thing that we already
have and you can see that in the dev log.
Oh yeah,
collections,
um,
it's kind of needed for like the whole curve editor and stuff.
Hypothetically now,
we could,
um,
silent,
you can play with the ears on any character.
You can grab them,
you can pull them,
you can stretch them,
you can position them,
you can control them.
If you configure your dynamic bones correctly,
they don't have infinite floppy.
Yeah,
there are like,
there are some gaps in like resonates dynamic bones,
but like there aren't that many.
We,
we call stuff different terminology sometimes,
that might be difficult.
We also don't really have documentation on how to do things,
um,
so
that's also another problem,
but,
you know.
We'll get
the bones shouldn't be getting stuck.
um,
if they're getting stuck,
then
there's a problem.
But yeah,
it's the the the like whole like stuck on stuck thing is it's up to you,
you can,
you can handle it.
There's a device I made,
like I
I I I don't like doing this.
I don't think it maybe it's in the mean show I I my mean folder I don't.
I don't know,
but there's like a,
someone spawned out like a
bones couldn't absolutely be posed to import,
absolutely 100% can be posed.
I actually have a really cool system on an avatar for
driving factor targets um that makes it really easy to have
like multiple poses and go between them,
but I,
I never had the energy or time to explain it to anyone,
unfortunately.
But yeah,
effectors are good,
uh,
if you want like effectors are good if you want the.
Um,
like the,
the bone to point or go somewhere.
It's usually good for ears cause you can sort of put where the tip of the ear should be.
Um,
you can do all sorts of other stuff though.
Like,
it,
it's all there.
You just need to get in and experiment with it.
Do you have other questions?
Does anyone want to take a look at the tech tree?
Should we open the tech tree?
No,
the tech tree.
Oh,
that's part of Excel Prime.
Open the tech tree.
All right,
back at the tech tree again.
Uh,
let's see if we can move anything around.
Uh.
Oh hell yeah.
Like
IVV6 should just work.
There we go.
Uh,
someone's asking what the tech tree is.
Let me just move questions to a second monitor so I can look
at both the tech tree and your questions at the same time.
All right,
I can do that now.
Uh,
Niki says when using colliders for collision,
how does one do things like find out where the
hit was and how far inside the thing has gone?
I don't
know,
like what are you trying to do,
Nuki?
Um,
it might be easier that way.
Uh,
yeah,
lots of people,
uh,
say things like,
don't use,
um,
don't use physics,
use red casts instead,
or like,
don't use protoflux,
use components because they're better,
even though
like we tell people all the time they're the same.
The same thing applies to
what
is going on,
and there we go,
that should also just work.
Right,
yeah,
so if you said,
if you said from the start that you you were doing vehicles,
I'd be like,
yeah,
OK.
If you're doing a vehicle,
character controller is is exactly what you should be doing.
So I have CIO on the sweeps,
yeah,
I do have CIO on the sweeps,
yeah.
Yeah,
I saw the chat client,
the chat client's cool.
Uh looking through Alex says,
what's the tech tree?
This is the tech tree,
um,
I'm trying to just sort of like,
Give you like a a visual record of
how different things that we're working on relate to each other
without putting up anything like dates or times or months,
because it's it's like it's a bit healthier
and it lets us show you like how our brains work in some points because like,
it's not clear
otherwise that
like these things are required for the multi-processor architecture to be
done.
But now it is because of this diagram,
but
it doesn't,
it doesn't list any times because
that would put too much like
uh pressure on the diagram,
that this should be a low pressure diagram.
Uh,
moving forward to other questions,
uh,
Dio says,
what causes dynamic bones to flop intensely in performance drops?
Uh,
something about
the thread
that we run dynamic bones on,
I think we need to put it somewhere else.
Uh,
Alex says,
can we see this diagram outside of your office house?
Yeah,
I paste an updated one at the end of each session,
and eventually I want to put it on the wiki in a way that's able to be translated,
um,
but
I wanna.
You know,
make sure that
it's a little bit more polished before I do that
cos like it is like it's good,
right,
and it's helpful,
but
it does
um
it is a little bit shit as well,
you know what I mean?
Yeah,
that's another thing I wanna do.
I wanna make sure that like it's got to get,
I,
I would love it if I could hook this up to actually GitHub,
and so I could say like,
hey,
um,
if this has a GitHub issue.
When that Github issue is like closed,
turn it to green,
like live,
but like I don't know,
like I,
I,
I could easily do that.
It would just like,
I would have to do that rather than the development that I need to do.
There's always this problem that occurs
at a certain point when you're technically minded,
where
you,
you realise like I could probably do anything I want,
um,
but I'm working for a business that has limited funds and limited people,
so I need to,
I need to be really careful about what I spend my time on.
Um,
so this business stuff that I'm doing is very impactful,
very important for our bottom line,
so I'm happy doing that.
But there is some stuff like that's on this list or not on this list,
where it's like
there would be no point doing that right now.
Like it,
it would not be worth the time.
All right,
I don't see any additional questions,
and we're kind of running up against the clock here,
so anyone got anything else they want to ask?
Oh,
that's a duplicate of that one.
Menport's asking about material property blocks.
I can,
I can try,
give,
give it a,
give it a go
and.
If I don't know,
I will uh I'll let you know that I don't know and we'll just go from there.
I need Ravi's picture.
Yep,
there we go.
Luki,
I've answered your question,
um,
if your audio is breaking up and you can't hear it,
you'll have to wait for the recording which I forget to post every day,
but like I can't keep,
I can't keep answering your question.
Nuki,
if your phone isn't working,
unfortunately that's a,
that's like,
I,
I'm sorry,
but it's it's a you problem.
I can't repeatedly answer the question until your phone works.
Uh,
silent,
are we gonna get any sort of settings for uh
uh for audio acceleration and processing?
Um,
maybe,
but probably not exactly like you're describing like AMDra audio,
that might be
a little too much.
Uh,
material property blocks,
if you can get them working and if they're suitable,
are most certainly better than 50 materials,
yes,
import.
Um,
but we don't have enough material property blocks available
and we also don't have enough
documentation about
which,
um,
shaders and materials that they are
compatible with.
And again that's a place where like we could do better UI,
right,
so don't,
when you look at the inspector and you're like,
oh no,
we've got like attach this other component that's related to this other component,
like we can do a better job on that,
like once the inspectors are reworked,
where it like,
it's more smooth.
Like you know how I,
I think it's poomi shido,
like in in Unity.
It's got all those sections that you can check on and off and then it'll like it.
Expand more details if you want that feature on or off.
Like we could do stuff like that,
where under the hood,
we're like attaching components,
removing them,
enabling them,
etc.
and it'd just be a lot clearer and easier for,
for you,
so
if,
if you're overwhelmed by components right now,
it's because we're like,
again,
in the middle.
Anything else guys?
Did we add the debug world back again?
Whoops.
There should actually be blue
and then
let's make the text like larger and
centred.
Uh,
whoa,
and then we can do GI.
Sorry,
I'm doing a bit,
whilst I'm doing this bit,
like who goes through ketchup,
like how,
how,
how fast do you guys go through ketchup?
I don't like ketchup anymore,
particularly American recipe ketchup,
so.
That's why I asked cos like this,
like when I was looking for this particular image.
Um,
there you go,
how's that?
That's actually a good question,
so I need to do the debug world one first.
So Debug World is
like,
I don't think we're meant to check it in,
it might have just accidentally got there,
sometimes it happens,
like it's not a problem.
Um,
but
I'll come back to Debug World in a little bit.
No,
we're just,
we're just playing on words,
right?
Gs is working on sauce,
so it's called like sauce like this is why this isn't official,
right?
This is why it's got a piece of cheese here,
it's like made by Pro.
Um,
but Game Cup Doc says,
are there any business features you're particularly excited about?
Yes,
so
I need to expand this a little bit,
and I need to add
uh full IFC V4 support.
So IFC is an architectural um modelling format
and
architecture architects,
architect,
architects,
what's their name?
Architects,
that's the one,
like,
do they archi detectors,
do they detect architecture like there's a building,
there's a building,
there's a building number 2,
there's a building number 3.
Anyway,
architects make their like plans for buildings in this
uh model format sometimes called IFC and IFC is like
a 3D model format that also includes
um metadata about the building.
So let's say you look at a concrete wall inside an IFC file,
it will say like,
it's a concrete wall and you can see it,
like you'd be able to see a regular blender thing,
but the metadata would be like,
here's the square footage of this concrete wall.
Here's the exact recipe of concrete.
Here's the person we're buying the concrete from.
Here's a link to that purchase order in our system.
And it means that like,
it's,
it's a much more rich experience for an architect and a team building a building
to,
to walk through in VR and look at an IFC enabled model.
We support IFC V2 via ASIM,
um,
but it doesn't include any of the metadata.
Uh,
we need to go up to IFC V4 support and include all of the metadata,
and it gets ridiculous,
right?
Let's say you point at a blue wall,
and in the metadata it will be the name of the paint for that wall,
like literally the name of the,
like the specific
brand of paint,
the specific colour is in the model data.
It's,
it's very good,
yeah.
Um,
Dio's correct in calling it BIM data,
but I cannot remember what that abbreviation means.
Dio,
if you know it,
please share it with me,
I will thank you forever cos I just continually forget.
Um,
that's one of the ones I'm I'm,
I'm happy about that.
There is another one as well,
which is,
um,
I actually I won't put that one on there,
leave that one off.
Dio says building information management.
Yeah,
it's a really,
really good field.
Um,
it's,
it's great.
Got a surprise for you here.
I think if we can get the angle right,
uh,
we don't need to see that much of me.
Fella,
what are you doing?
Uh,
OK,
sorry,
catching up.
Alex Dupay says,
what is the amount of team members still working
for other companies beside the Yellow Dog Man?
Uh,
that's up to them to share.
It's not really like appropriate for me to,
so I won't be.
Um,
he says,
advice on minimising overhead when using
dynamic impulses to simulate void functions.
Uh,
target the dynamic impulse as low as you can in the hierarchy,
uh,
so the
Um,
it doesn't have to search the hierarchy,
and then that's it.
Uh,
red says,
why can't reflection probes be rotated?
That is a unity limitation as far as I'm aware.
Benport says,
how does mesh instancing work?
Would procedural meshs with the exact same properties get instances?
I don't think procedural measures with the same
um properties do
do get instances.
I'm not entirely sure I'd have to look.
uh,
but,
um.
I have a video on it,
but I don't remember if the video is,
is like Neo or not.
I don't really care at this point though,
so
I'm gonna find my channel and just link you the video and you can,
you can deal with it.
Um,
uh,
you know,
you won't be a you'll be amazed how difficult it is to type with one hand right now.
Mesh,
yes,
here we go.
So that video there should all be still valid.
Uh,
and I says what's the the worst thing you've seen in the resonate codebase,
um,
it's,
it's like,
it's bad to do that,
right,
cos
at a certain point in programming,
you just,
I know,
you come across bad code all the time
and
it's just,
it's not
like you shouldn't continually point it out cos
like it doesn't help anything.
Right,
so when you see bad code,
you have a couple of choices,
um,
leave it alone,
which for the most part,
stop it.
For the most part is like,
OK,
yeah,
we leave it alone,
we don't need to do anything with it.
But sometimes we do,
and when we do,
we can fix it,
but when we're fixing it,
we can fix it in a respectful way
without being all like ha ha,
this is bad about it.
This is ridiculous dog.
What is up with you,
mister?
What are you doing?
We have to clean up today.
It's probably what I'm gonna do after this.
I've got a little bit of work to do,
but then I'll be cleaning up,
and I've got to do the cleaning up before it's late,
so doing that first.
Because tomorrow,
it's tomorrow,
yeah,
tomorrow,
we'll have 2 dogs for a bit.
So next office hours,
I'll have a.
Second dog.
If you remember the last time I had two dogs,
we had the camera on,
and I had both dogs doing this on me.
It was chaotic as heck.
Simon asks,
Will world creators get any way to determine how audio effects,
such as indirect audio simulation are handled in the world,
such as invisible audio physics objects
that affects audio only invisible occluder.
Uh,
Not in that exact way,
but yes,
there will be more audio controls for creators in the future,
I'm sure.
We wanted to get a collusion-based um audio going a long time ago,
but the library that we found that was
suitable or like we wanted to investigate using,
didn't have a licence.
And so me being the professional.
Minded person I was,
I took the initiative and I reached out to the creator of that um library
and I said,
hey,
could you tell us what the licence is?
And I was like,
you don't need to,
you know,
change any code,
change any files.
I just need like email from you that says what the licence of this code is,
and then we can use it.
And they came back and they just went.
Their reply was,
what's the effect of,
I don't care about licences,
just use it,
and it's like we we can't,
right,
cause at that point we don't have a licence to it.
Like you could argue,
and I'm,
I'm sure you could argue in court
that
because of that email,
the one where he's like,
I don't care,
just use it,
like that
could be
sufficient enough,
but like it it it it's not.
But if his email
just said the words like.
I give you a royalty free licence to this code,
full stop.
That's it.
Right,
that,
that would be it,
that would be fine.
We could just screenshot that and be like,
that,
that's enough,
right?
But because they refused,
they were like,
I don't care,
I don't want to give you a licence,
no.
It's like,
well,
we don't have one then.
I probably get,
uh,
Ginz's updated photo here,
let me do that.
We're running out of things to do here,
um,
but like I'm happy to just sit here for another 3 minutes,
see who you guys are.
Alright,
Discord's not letting me,
uh,
right click their picture,
so I'll get a busy.
It's huge.
sick.
There we go.
If I could remember the name of the,
of the library,
I might,
I might dig it up,
but I probably wouldn't give it out here
because like you guys would just go like hound them.
They'll be like,
Yo,
please give
Prime licence,
please.
It's like,
No,
please don't do that.
Please licence,
please.
I don't want anyone brigadiering trip.
I think it's the like brigade,
brigadiering.
Whatever.
I use funny words cause I'm British.
Um.
He says you never talked about dynamic pulses.
I did.
You're gonna have to check the recording,
which I will forget to post.
In fact,
if we leave off at the top of the hour here,
I will sit here and post the recording
with Fettacam still on,
so you guys can like pressure me,
I guess.
Uh,
OK,
we go,
I got a question.
Venport says,
when we have the prefab system,
what do you think the first prefab would want to be?
So I want to make
a bunch of stuff that's really easy to like link together.
And I'm,
I'm kind of like not really sure why no one's done it,
um,
but
you can make a layer above Protoflux
and make a bunch of like,
um,
prefabs that work on that layer above Protoflux,
and then you can link those together with some like tool that you make.
Um,
so like if we look at this,
this is,
I think the D make of portal.
I just,
I needed a portal screenshot,
this is the best I could get in time.
But
what you can make is,
let's say you make a,
a pressure plate prefab
and you also make a,
a custom tool
that can link it to a door.
You could do all of this as prefabs and have
people just drop indoors and in worlds without any difficulty,
right?
You wouldn't need protoflux,
you wouldn't need components,
you wouldn't need a dev.
You would just make like a,
a wire tool and the wire tool would just know,
hey,
this,
this pressure plate outputs a 01 if it's got pressure on it.
And this door
takes in a 0 or 1 to see if it's open or not.
And then you'd just be able to,
to do it.
And so like that prefab
would be
very useful,
right?
If you added
like a couple of gates,
like a an an gate,
and all gate and stuff like that,
which again you could put in this system,
like Redstone it up or whatever.
Um,
you could get
like a lot of the portal rooms with just a bunch of prefabs.
Um,
what's even better though is if you generic assize the prefabs enough
where,
um,
like the prefab functionality
is like
independent of the,
the model.
So an example for the pressure plate might be
set up in such a way where the pressure plate just
functions by detecting if a player is inside a collider.
But that collider could just be any collider,
like it doesn't have to be a red pressure plate,
it could be a
mystical
water temple pressure plate from the Legend of Zelda games.
I've never played The Legend of Zelda games.
I do know enough to know that the main character that you play is not Zelda,
except there's a few times where it actually is,
but there you go.
Um,
I just,
I just don't have time.
Yeah,
that's the sort of prefab I want to make.
Like you could,
you could like do hundreds of these,
right,
button,
um,
leather,
wheel,
all sorts,
but like,
instead of having to get out a Protoflux tool,
you could get out the like
cheese tool and then just wire them together and
it would figure it out because they're very simple.
Like what comes out of a button,
if it's pushed or not.
What comes out of a door,
like if it's open or not.
And you could do all of that with with prefabs,
you could probably do all of it now,
but with a with like a
official prefab system it'd be easier.
I hope you're enjoying Fettercam because he's being real clingy today.
But with that,
I think we're gonna leave off.
I'm gonna um leave Fettercam on and
leave the tech tree open until I upload this.
Uh,
you'll also get last week's recording just to sort of
pressure me to do so.
But office hours is over,
so I'm gonna go ahead and stop the recording.