OfficeHours:ProbablePrime:2022-08-09

From Neos Wiki
Jump to navigation Jump to search

<< Previous Next >>

Audio

Description

In this Office Hours, Probable Prime talks about:

  • Animj
  • Slot counts
  • Optimization
  • Networking
  • Tool Anchors
  • Materials
  • Redprints

Transcription

(Please note that the transcriptions will not be 100% accurate)


Hello, okay, we're gonna get started welcome to office hours with prime. That's me. Hello

If you have any questions about Neos, please drop them into the office hours text chat

There is a few above the one that you're currently in. That's the community meetings channel

I will answer them in the order that they appear if you have any questions

Please drop them in if you think of any questions any point that is not during the office hours free filtered

Fit there. Yeah, feel free to DM me or asking questions and help. Thank you

Alright, so we're gonna start with some questions that were pre-loaded in from specs at like half an hour before

So I appreciate that. Thank you queuing those in so specs asks

Would you consider the performance cost of a no collision mesh collider to be significant?

I was taking steps to optimize collisions for a world and I wasn't sure it was worth removing some mesh colliders

Even if they weren't were in effect only colliding the lasers. Ah, yeah, don't worry about that

No collision doesn't mean like no collision no collision. It is you this means no collision

events

This particular filters that occur with the physics events when it comes to colliders and saying it to no collision will avoid as many

Collision events as possible. But of course, we'll still have some because it exists. So

Yeah, moving onwards to storms question storm asked. How is the voice mode sync component used and see any documentation on it?

So voice mode sync, I just looked it up because hey, I don't know so I looked up the code for it

First of all, it will only work in user space. That's cool

And then in user space is basically an indicator for which voice mode you're on. So there is an output which is a

enum, which will list your voice mode and

Then there's a couple of booleans that will list like hey, this is the voice modes that you're allowed to use

So I think it's used in part of the construction of the voice mode indicator in the top left of your dash

But I have seen some other uses for it in particular. I used it

Recently like a few months ago etc to make a custom voice mode facet, which was very very particular about how mute was undone

I think it was like you had to hold or double click or do some like really more intentional

Matter to try and unmute things because they were worried about being accidentally unmuted as their unmute user. So that's cool

Alex is building the thing interesting recently. Let me see what's in my screenshots

Yes, I'm working on

anxiety exposure experiments with Hamish SHFR and

We have like anxiety exposures and one of them is this thing which Hamish keeps doing and I always find amazing

Which is if you like play with the IK of a non avatar model like a skin mesh model

You can actually put like a look at user component on their head and it will swivel and look at you

it's the idea here being hey give a presentation in laboratory to a bunch of scientists and

It gets kind of freaky

Let me get the screenshots of that because if you don't limit it, you can basically just snap the heads off

And it looks it just it looks really creepy

Lego creator says why does the logics node browser and

Create menu ATC have sliding animations, but attached component menu does not the attached component menu was really made just quickly, right?

it's a really complicated menu and it was just made quickly to like work and it got more and more complicated as we added to

it and

It's actually quite a good example of that problem

Which you'll hear freaks talk about if you speak to him about like hey

Why don't you do this like one quick fix for this one particular feature?

The attached component menu is one of notable examples about that. There are many other examples, right?

The attached component menu just needed to keep getting more and more complicated

It's like we do this feature this feature that feature this feature this feature and it just kept getting more and more complicated

And so it hasn't grown with time and that's why I want to completely rework it

So it can grow with time and so when you are thinking in your head

Oh take me like five minutes if I had access and I could make a code change to the menu

Yes, it would but then you'd add that to like the pile

Like a house cards, it'll come it'll come toppling down. So the attached component menu is is showing that age and showing that

rigidity

I'm moving downwards past my creepy creepy doctors for you toes

Yeah, they're creepy

We also had what she once we had an auditorium for the people who are experiencing performance issues because of course they had you know

Legs arms etc. And so we just removed everything except their heads

Their heads follow and I do believe it's still in my memes folder is quite intensive to load but in my mean folder

There's a sphere of those heads

That sphere aligned and it will animate to the me channel music

I was I don't remember why I built that but hey

It's in the memes folder. It is terrifying

Okay, moving downwards. Where are we?

Cobalt crusher. Thank you. Oh crusader. I'm so sorry. I've read that as crusher for like three weeks and it's not that

Anyway, is there a way to better layout or organize for logics such as maybe a plain like component tools

That nodes could all make snap to there are a variety ways of doing it and they usually have colors associated with them as you

Can see from the reactions to your message

There are blueprints which is the older version of what people use these days, which is called a red print

Really the the reason for the naming and color change is just to distinguish them. There is also a green print

There is also a green print. There's also a black print, but I haven't released that that's prime's print. I don't use it

That's why it's not released

You know, my avatar is like 90% black. So I tend to use that color as like a

branding thing

It's kind of like a weird brand though

But yeah, I haven't released that one and I won't be it was just experiment

And I got it to work a little bit better than all of the other prints, but it was pretty flaky

So I didn't release it

Those work in aligning the nodes and

And

Various other techniques and tools for them. There is a good tutorial series on the red print from business lawyer

I do want to call out that there are other printer systems out there though

Because I don't want to like, you know do any sort of favoritism like things. So do try them all

additionally for that there are actually ways in which you should be building your

Things in logics to to not require redprints like people always like weirded out when I'm like, yeah

I don't use them ever and there are some for some users like that

um, I understand that like the red print is really good for some people particularly those who

Who need that plane to sort of lay out and focus on the logics is great for that

But I just don't find them necessary. One of the reasons for that is that I don't

I don't make large collections

Like I see pictures in screenshots or in the logics channel all the time of like logics

That's like the size of a building and it's just like pack early often and modular modular

A

Lots of things that are being created. Um

You'll see that in if you poke around in like any of the the jp team's um stuff

You'll see that they do it the sort of modular way that I tend to do it

If you poke around in like really really polished stuff probably even the red print

You'll see a lot of stuff that's sort of like packed early and often and that way you'll see hey

There's like 10 nodes in this pack. Do we really need a red print for that?

Nope, these 10 nodes connect to a another 10 nodes in another pack. Do we need a red print for that?

No, we just unpack and pack different things that you can never get like functions

They don't really like communicate similar to like a function snack would in a game instead

They communicate via dynamic variables dynamic impulses in some cases just like copious uses of fire on true

um, but that is what I recommend and you can

totally use redprints with that system, but like think about

Like both approaches so think about how you can use red print to organize your logics and also

How you can break your logics up such that you can pack it early and often

Um that helps a lot and that way you won't have like a chaotic mess everywhere

Like I am constantly making packs like constantly like it's like oh i've made two nodes

I'll pack it and i'm like another two nodes are here and pick that pack that

Um, just get it out of your screen if you don't need to if you don't need to do that. Um

Um, do take a look at those printy things. So there are multiple ones and multiple colors

Uh moving forwards

Plush

I don't know how to pronounce that. I'm sorry. I'm doing a terrible bad job. I'm also just rereading cobble's name

I'm, so sorry about that one. I'm just I read it incorrectly. Anyway, moving on

Uh, they say how much data does the host process through itself?

Like if someone imported model from his pc

Does it mean that it would have to go through the host first and then everyone will see it since it mentions about the host

About mesh networking plans on github. It's really difficult to explain

um

unless

Um, we talk about the data model for a bit. So we'll talk about the data model for a bit

For that though, we're going to need to talk about sort of data storage and to avoid technicalities

We'll just sort of use an analogy and the analogy is an excel spreadsheet

So this is going to be terrible, I know it's going to be terrible but here we go

If you imagine that there is a google excel spreadsheet whatever like system you use to share spreadsheets with your with your office workers

Whatever you want to use multiple people can view that spreadsheet and make changes to it

Now you can view that spreadsheet just by loading the page and then you'll see you know

The numbers and the rows on the spreadsheet

It's only when you change a number like a change a number in a cell change a cell's value that

A message needs to go from your computer

to

Google docs or office docs whatever you want to call its server and it tells everyone else that is looking at that spreadsheet

This cell a1 on your spreadsheet has changed from three to four and that's sort of highly analogy specific

How uh, Neos works there is a giant spreadsheet in the cloud hosted on the host's computer

So it's not even in the cloud

It's not a host computer and when you join a session you get the most recent copy of that spreadsheet and it's like cool

I've got the most recent copy of that spreadsheet

I know that there is an a1 there's a cell that says three and because that set is three

There is a floating cube in the left here shaped like a cheese piece of cheese when you move that around as a user you are

sending um

Messages to the host and saying I am moving this I am moving this and that is then updating the host and saying hey

This this number that is three is now whatever position you're moving it within the world

And then that message is then relayed out to the other people, uh that are in the session

So when you're desynced, it's actually caused by those updates not going through and then there's some sort of numeric queuing and snacking that happens there

So, you know, I move a cube two minutes to the left and then two minutes to the right cool

You missed that two minute units to the right message because you're desynced the cube will still be in its original location

Because you haven't got the message yet that it is moved. So that's basically how Neos works

It's a lot more complicated than that

I was trying to analogy it down to sort of be generic for everyone if that was a terrible analogy. I do apologize

Uh, Jason, if you know the language Jason synced over the internet is basically what it is. But anyway, um

Moving towards the actual question then based on that foundational knowledge when you create a model

Um, you will update you will upload the data from your computer into the session

Once it's uploaded into the session and complete in a way that we can transmit it across

It will then be transmitted the host and then load it to everyone else

So a good example here being I don't know a picture like people spawn pictures in Neos all the time

You take the picture find it. It's a meme a picture of the hat or whatever you put it in the world

You'll see it first and Neos will do some processing to make it a little bit faster for other people to see it

Um, but sometimes other people won't see it and that's because it has to go for like via the host to you guys backwards and forwards

Etc. And again that does depend on the URL of the image if it's like a

Web address, then it will be faster if it's in the nearest db link

It'll be faster because everyone else can fetch that like in an isolated way

But the actual like there is a picture here and the URL of the picture is this has to go through the host

As for the mesh networking plans that you mentioned at the end there, um mesh networking would be basically

A host user is also known as the authority user

In fact, the host user is often not referred to in code as host user

Like if you looked at the source code of Neos a lot of times it's just like world authority

And that means host user so the world authority is like who has authority over the session like if something's happening

Who is the authority to say? Hey, that's not happening

Um, and that's usually the host right now mesh networking that would more be a sort of consensus based algorithm

Or maybe some sort of like brown robin or something like that and it would basically be hey

There is a collection of authorities and they are syncing the information around them in a sort of ring or chain

Whatever sort of structure fits your sort of visualization there and trying to make it a little bit faster

Trying to figure out sort of how to synchronize all that data across that would also allow things

Uh, like larger worlds as well because like hey, you know

This part of the mesh could do this part of the world this part of the mesh could do that part of the world

It would be cool. Uh

Not specifically related to like it's like only like partially related to your like question though mesh networking. That's more sort of different

Uh moving forwards yellow asks. I saw people put materials as components

What are some reasons to do that over not having it the default way? Um materials are components

Uh, everything is components even logics is components

Um, hence why when people like i'm avoiding logics because I heard logics is slow

I want you to like quote this everywhere on the internet logics is just components use it. It's not slow

It's not bad. Don't avoid it. Just use it dash prime 2022

um

so materials as components

Yeah

So, um, I tend to do this now as well and the reason behind that is because uh a lot of times when i'm using materials

I know exactly what I want to do with it

I know where I need it and therefore I don't want the ball floating around like when you use the material tool tip to create

A material it'll create a ball as well. And sometimes I just don't want balls hanging around and you can quote that as well. Um

When you create a material the material will be created on that sphere and that sphere will have a component on it

Which is that material?

Uh, and sometimes you'll lose a reference to that material because if you delete it it'll end up into the asset system

Where it's sort of kept as a sort of like table key value storage up there in the asset system

Uh, but if you want to be sure exactly where that material is

You can put it directly onto a slot using the components

either way works and doesn't really have any like benefits or downsides but doing it the second way as a component definitely allows you to

Control it a lot more having said that you should only do what I just said

If you need to change the properties of the component using logics or other components

If you do not need to change the material once it's in stop putting on your avatar

Let the asset system handle it video on that one when I get around to it because I see that all the time

People are like I will put the material on my avatar and all the textures on my avatar and i'm like

Thank you for invalidating the entire asset systems deduplication method. Thank you. Thank you for doing that great

Optimization that you've just ignored and completely disabled. Um more on that one if there are any questions about that one

I guess um dorky says that they're like, uh, ryvi's logic tip that snaps nodes in a flat plane. I like that one, too

Um, that one makes it easier to sort of keep notes together on the same

Um, I guess z level like the same depth level. I don't really mind about that

Sometimes i'll tidy up but like I like using the 3d space if you look at the logic setups

I do you'll see more sort of like semi circles and the reason behind that is just naturally because i'm turning in the vr space

We end up with semi circles. Whereas if we look at someone with a red print or ryvi's tool tip, then you'll see uh squares or rectangles

Uh, salazu says, how are you doing today? I have the biggest mug of green tea

I think I put too many leaves in because it's very strong

I don't really know how much loose tea you're meant to put in

Last time I looked it up

It was like two to three grams a cup and then I like put two grams of like

Loose leaf tea into like a weighing scale. I'm just like that's a lot. That's like that's a lot of tea

So I need to look it up again. Yep. Erin says why not take advantage of 3d space?

I totally agree as well. There's sometimes where I go like completely parallel to what i'm doing with the logics

Comes up with like right nodes a lot and in some cases relays as well

I'm like, hey this ribbon's in the way i'll do a relay and then i'll just like shove it in the z direction behind my

Nodes and then it looks great

I know people do the whole thing where they're like i'm going to wrap it around the outside like it's some sort of like network

Cable in a data center that's cool, too

But it usually uses like five relays or if I just add one relay shove it in the z direction that it's like out the way

Thinker says they use a sphere line on their logic sometimes. Yep. I sinned that one totally sinned that one

Don't advise doing it

Specs says if bits of logics don't need to talk to each other keep them modular need to pass data between logics dynamic impulses

And dynamic variables, maybe your friends cannot agree more dynamic variables the parent data system even value fields

This is what we used to use before dynamic variables. They're all fine

They're all ways to think about logic more modular when you're building your next data center

They're all ways to think about logic more modular when you're building your next logic thing also think about a concept called the separation of concerns

Um, you see this coming up a lot in um sort of website design and stuff like that

You'll see uh things like mvc mvvm

Throwing around model view control and stuff like that. I do want to do a video on that one

But again, it's a difficult topic because it's like it's basically computer science theory

Um, and so it's just like hey, i'm not building a space laser here

I'm, just talking at you and showing you empty objects and talking about them

So i'm trying to think of a good way to do that. I guess an example here

um, I could probably try and explain would be like, um

Uh, like a flip book or like a slideshow or like a powerpoint that you might have inside neos

um, what I would see a lot of times is uh, people would have maybe a variable value register in logics and then they would have

um button

Event nodes hooking up to that variable

Uh, and so if they add a next and previous button

Um, they've got two button events nodes two right nodes modifying that variable that then drives which page we're on on this powerpoint or whatever

Uh instead if you just made a dynamic variable or even a value field you won't need any objects

You could just use the common ui button value set or button value, uh cycle or delta components to just do that. And um

Then when you're referring to the uh, the slide the powerpoint slide, which would use a boolean switcher

You can just again use a dynamic variable and then you won't even have a logic connecting to that

You just have like everything's just wireless. It's great. Maybe i'll build that that's a good example

We'll build it two ways. I can build it in the tutorial like how I would build it in 2019

And then how I would build in 2022 that might be a good example

I should like put a black and white filter on the camera and be like back in 2019. Here's how I would build this slide

System now, it's 2022. Here's how I would build it

Maybe get a mustache for the 2019 version as well. Uh, anyway, let's move on before I giggle too much. Um,

Lego, uh asks how much of Neos is logics and how much is components? Um, everything is components because logics is components

blinks and smiles

No, um

It depends what you're looking at. So a good example here might be the world browser

So the world browser is 100 percent components

But the reason it can be 100 percent components is that there are components that are specifically, uh targeting fetching world information

World information and you can actually take a look at them just inspect the world browser

It's actually kind of cool seeing how that works because that's how I learned how dynamic variables are meant to work because I saw how

Fricks was using them, basically

Then when it comes down to things that people make it really does depend there are um

Some component purists who refuse to use logics and seem to be miss spreading the misinformation that logic is bad and I hate them

So please stop doing that if that's one of you if you're using components because they're helpful you don't use logics

That's great. But please don't go around telling people that logics is bad. Tell them that it is useful for certain

aspects

Um, I noticed that most of the people

Um, I speak to these days are those people they're like, hey you lose whatever you need to do

What's gets gets doing but there are still people I meet who are like, yep

So and so told me that logics is bad and I shouldn't use it and i'm just like I don't know who you are or where

You're from but stop telling people that please please

Um, just take a look around as well like the default headset avatar. For example, it has some logics on it

Um that controls the uh, the voice range

Some of the the profile pictures look at the recent video I published about the profile picture

Um getting that the same piece of logics I demonstrate on that

Um is actually in place on that default avatar to uh, get that picture onto the front of it. For example

Uh kobold says, uh, what in the hell is a color print or backing i'm still getting started with logics

Uh yuki for anyone else there that is in game. Could you drop a screenshot of a red print in the game?

and then if anyone has a um

Link to business lawyers tutorial series on the red print

Please go ahead and link the the like first episode or the playlist for that so we can get that into the chat for kobold

moving

forwards, um

Foxworth talks about mono packing do not mono pack. So mono pack came from this um information that slots are bad

And therefore we should put all the logics onto one slot and I believe it's a plug-in or a mod

I don't really care these days. It's bad. Whatever it is, and it will collapse all of the logics components into one slot

It is terrible. Do not use it

one of the reasons why logics needs to be on multiple slots is so that um

Us as neos can understand it when you're loading it a little bit easier

And we can figure it out and we can do stuff with it. Um

You may sometimes see for example

Uh a node which is named injective for backwards compatibility

That is what's happened when I think it's the fine char by name node got an additional field which changed its meaning

We put in code which looks for old fine char by name nodes when it's loaded and adds that boolean such backwards

Compatibility is preserved if you mono pack it's more difficult for us to do stuff like that. It probably still work

But because we need to add a node to your setup

It's like well how we we don't understand where it goes because the the the what like what it will make a mess. Um

Adding on to that slots do not cause performance issues

Here's a good way to think about it before you look at the slot count of your avatar look at the functionality count

So as an example here, um, oh look my avatar is five thousand slots. That's bad

actually, it's not the that's a symptom not the cause the cause is you have a

nuclear

orbital defense platform on your avatar that floats

7000 meters above your avatar and can summon nuclear missiles down to the floor when you push

Uh when you do the finger gun gesture because you know hand gestures are cool these days

Um, that is the problem that is causing your avatar to lag not the slot count if you remove your nuclear

Missile defense orbital platform your avatar will not lag anymore. So it's the last thing to look at on the list

Uh slots don't inherently cause performance problems. So don't worry about it

We do have some optimizations to do on that place

But if you're going to start bullying people because their slot count don't don't bully anyone for any reason

I mean

But like if you're going to start looking at someone's avatar and advising them performance

Start with what the avatar does or does not do you'll get a lot more benefit if you reduce the texture scale

If you reduce the material count if you reduce the amount of blend shapes or if you remove their nuclear missile defense orbital platform

Like you don't need if you don't need it

Ideally, like maybe shouldn't be on your avatar. So yellow now asks. Can you move the origin of a mesh in game?

No, not currently

You can do what's called create pivot center and you can also do that sort of manually if you want other style of pivots

What that does is it creates a slot above the avatar above the mesh

And then parents the mesh to that slot and then you can move them around separately

so if you've got the parent slot in this case the pivot you can then move the mesh relative to that and change its pivot and

Then when you move that parent slot it becomes the pivot create pivot center is really good

That reminds me if you're a 3d modeler, please look at origins on your models

I am tired of importing like an axe and the origin being like 50 000 meters to the bottom left of the axe

The origin of an axe model should be in the middle of the handle blade. Thank you model creators

Uh ozi asks, how does max texture set max max texture setting and a textures inspector work? I was really confused on

Who who does the process compression for it?

If it's locally completed in the cloud you do it and then you submit it back to the cloud to do the work

As far as i'm aware, that's the one that like, uh changes the size, right?

Not get me a screenshot if i'm mistaken. I might be mistaken there. Anyway, moving on. Uh

Uh rameon asks on the topic of networking a significant desync with users connecting with high latency, uh, e.g

NZ AU client european host does need to have some kind of prioritization with at least a higher paying users

Accumulating mobile queue packets over time. Uh

Not quite sure what causes the queued packets on like a network level

um, I do know is that what we'll see a lot in sessions like that is um what I call

Consider it's the wrong word because it's like weird. Um

We'll just call it noisy playing, right?

So if you're in a session with people that are on the other side of the planet

Maybe don't spawn 7 000 youtube videos into the world because they'll end up desyncing

Maybe don't spawn half your inventory into the world because they'll end up desyncing if you spawn like one object per minute

They'll probably keep synced if you spawn 10 objects per minute

They're probably going to desync so so do keep that in mind when you're when you're interacting with nz and au from europe

From europe, I see that a lot. Um, especially with new players are maybe having trouble learning the game

Um, I mean spawning lots of stuff for new players that are new to the game is is bad for other reasons

As in you're overwhelming them, but it's also bad for performance reasons, right? You're unloading like half the inventory into the world

It's a lot of data to to sync and remember they've never seen that object before

So whilst it might load instantly for you because it's never been sinned by them before

Everything's going to load so for them, especially if it's got like 4k textures on it or whatever

Because like crusher's got a uh, a decent github issue. So do take a look at that one as well

Uh another question from pooshka. Um

Follow up question. Are there any plans for double precision support for physics transform rendering?

That should allow for less glitches when you're extremely small when you're further. Yeah, it's in it's in issues. Um

I don't know what the approach there would be

I know that uh for x's plans to sort of completely upgrade the data model that we're using that's that giant spreadsheet in the you know

Google docs. That's the spreadsheet. It's called the data model

Um to make that more efficient and have more features that might then allow for double precision

I'm, not entirely sure what our priority on that one would be or the process of that one

It seems like it'll be quite big. I have to dig in and take a look at that one

And then you say how far is it from implementation? We don't give etas currently see the announcements channel. I'm, so sorry

uh moving forwards

Forwards, um

Tony says which of the compression methods for textures is most optimal to be used on avatars

That's again a point of contention, right? So if you put it on an anisotropic I can never pronounce that

Sometimes I call it anisotropic and i'm like that's not how it's pronounced anisotropy

Whatever that one is that one will give you the best result but is technically the least performant

And then trilinear or bilinear are are good

Generally bilinear is better for performance than trilinear because bi means two tri means three. Um, so bi will do its

Processing twice and tri will do it three times anisotopic will do it differently. And so therefore there's more effort there

Uh, so if you want to do most optimal point, yeah there I said it if you want to do most optimal point based compression

Your avatar is going to look terrible, but that's the most optimal

Cool woohoo moving forwards, uh, asin says we know logic components

It's just easier to claim to do two separate things. I do agree

Um, it's just when questions come up about which is like more optimal

The answer is is both right if you're like I want to learn logic or i'll learn components great

I'll help you out if you're like which is more optimal both

um oracle says i'm only a week in and people have told me that logic is a bit of a thing to jump into but

It's pretty amazing thing once you get the hang of it. Have you had anyone say logic is bad fantastic

That might be dying. I don't know. Um

One of the problems I see when people learn logic is they go too big for example

It's like I want to learn logic so I can make a gun. That's a big project

I want to learn logic so I can add two numbers together. It'll take you 20 minutes

Like I don't I don't know how other people are teaching logic

But i'm just like here is the plus node adds two numbers together once you've got the hang of that

We'll go on to some more complicated stuff

But what I want to do by doing that is to get used to the ui like when we're doing advanced spaghetti everywhere

On a red plinth blue plinth purple print whatever print you want for or not doesn't matter

But when we're doing really complicated logics, I don't want us to be thinking about how we connect ribbons how we disconnect ribbons

So I show people the plus node and I say look you can connect numbers to the plus node and get a result

Get used to the ui get used to the ribbons get used to like the the visuals

and then we'll cover other nodes and that way the the the ui shouldn't be a barrier there because I do see that problem as

Well, it's like ah and to make a gun

We're getting a ribbon here and a ribbon here and a ribbon here and the user doesn't even know how to make one ribbon

That's a problem. Thanks to alex who has linked the uh, the youtube playlist with uh business lawyer and uclop. Thank you for that

Uh, so take a look at that. Uh

Cobalt probably best if you meet up with someone in game to take a look at the red print

Uh in game someone can show you it and then olin has a picture of the red print. Um, so you'll see in um,

Um alan olin's oden's picture. There is a red print in the world there and you'll see it's a grid

Um that grid is expandable and when you put nodes near it

Those nodes will snap onto a surface surface of it

you can think of it a little bit like doing a jigsaw puzzle or playing dominoes rather than what logics usually is which is like

Ah, yes, this magical floating card will connect to this other magical floating card, which is ever so slightly off rotation

And so therefore the ribbons look terrible

Electronus says nuclear launch detected if anyone adds a missile platform to their avatar. I will I will I will be angry

I did this avatar this avatar idea once of being like could I mess with the lasers?

You know the lasers that come out of your hands when using tools, etc

Etc. Could those come from really high up? I wouldn't like model a spaceship or whatever and put it up there

But it'll be like law wise like yeah a satellite does my logic, right?

So the laser would come from a high point position in the world

And that would be where the like the nodes and everything is moved from i'll keep it the same

So like you yourself using it wouldn't have any sort of adaptation, but it would just look like

Satellites moving your objects around etc. All right moving onwards to erin's question

Whatever your way to prevent people from reading a lot of dicks or getting assets from the creation of yours. Um

Assets, so when you're talking about assets, you're talking about avatar stealing

And so when you're talking about avatar stealing, we will do our best to continue to add improvements to that system

Our next best improvement to this asset theft and stuff like that is the license system having said that though

There is no way to 100

Guarantee that something will not be stolen from you if you think that that's possible

I want you to look at the latest triple-a game that has launched and has its assets in neos already because someone has ripped them

Um, you know these triple-a games are having their assets ripped

There's even things now which can like dump gpu memory to rip assets

So it's like oh you've got this drm in your game. Everyone hates great. I'll just dump the gpu memory

When it goes beyond that like hey, maybe someone's going to actually just get like some tiny copper wires

Solder them to an active graphics card and dump it that way

Like, you know a certain point the graphics card gets told there is a triangle here and it looks like your character's colors, etc

And if they can pull that data out the graphics card, they can reconstruct that into a model

We will do our best the way that we're doing actually puts us a slight benefit from

Other places in that you can't really export an avatar once it's in it sort of gets garbled

So, um what that allows us to do is if there is a theft that occurs

You can report it to moderation and we do have the ability to sort of see where it's gone and track its progression

That will get better with that license system

I talk about that will enable us to sort of find manage and and spot thefts a lot easier

As for modifying the logics on your avatar

there is a system called hard permissions which sort of interplays with the license system a little bit and sort of says like

Hey, maybe you can't access this part of the world and the license system is like hey

You can't modify this avatar and that will kind of lock it down and bake it up a little bit

It's similar to how um

Like the the the verbal rules of a session might work, you know in in a session might be like hey

Don't don't do this. So i'm going to kick you out like but more enforced in terms of technicalities

We don't know the final way that that's going to work

What the ui will look like what the protections look like how to apply or anything like that because we're still designing the system

but once it's there you can bet that uh

There'll be tutorials from a certain someone so cobalt says so tdr on the slot thing. The slots aren't the issue

It's what's in those slots perfect analogy there at a certain level the slots become an issue

But the amount of slots there before you need an issue is because you've added that launch platform

So just remove that remove remove the launch platform. Yeah

I think it says my avatar is not laggy as a quote and then says proceeds to have 8k psd or tiff textures

uncompressed in direct load in every logic system known to man

exactly what i'm referring to

If you have 8k textures

You better have a good reason for it and it better look fantastic

It better not just be a two color palette that has 8k textures for no reason

So alan says how to improve forward speed or sloshy avatar. No delete all systems

Okay, if you want to really really really perform with avatar delete your systems. It should just be a character, right?

It can have gestures it can you know look like you it can have blend shapes but bake the ones you don't need

But does it really need?

um

Your heart rate in the name badge above you. Does it really need like your favorite sandwich in the name plate above you?

Does it need a gun which summons?

Noah's ark and all the animals come off noah's ark and make their animal noises and then kill someone

It doesn't need that like let's remove that

Like that that's like remove that sorry says should make a macro that pays blend shape baking tutorial when erect joins i've tried that. Um,

It doesn't work like there's I sometimes when I host a session there's like information at the spawn about how to bake blend shapes

Zek asks

Is it possible to edit the lasers to come off your hands the ones that you select with this?

I tried finding an inspector but had no luck

My only thought was it might be possible if someone accidentally soft locked themselves somewhere there it is possible. Those are called tool anchors

Um, i'll get the video for that that is if someone hasn't beaten me to it

Actually, i'll just say please go for it get the the tool anchor video that I have and link it to um

And get to zek for me cobble says there's a model. Please. Please do that. Yep. That's referring to to origins

I am so far behind on the text here because i'm just answering questions and wittering on. Um

Okay, uh epic eastern has a question. Is this an optimized emote system?

Hmm. So, uh, that's an interesting idea like I did think about having a segment where we're like let's review logic

But I didn't want anyone to feel bad, but I will take a look just just don't feel bad if it's bad

Okay, let me take a look. Uh

found true

Okay, he's a self alpha

right latch

Right, let's try that. Try that looks good to me particularly like the use of right latch

Do you remember right latches there? Sometimes I see people do boolean latch of a um, a ternary node

I'm, like it's kind of the same thing as a right latch. So maybe use a right latch

Uh dorky says on the topic of having a lot of blend shapes

I recall hearing that the impact is when it's over zero due to vertex calculations

There are multiple types of of impact with having multiple blend shapes. So

Yes, if it's over zero, there's some cost for doing that if it's moving

There's some cost to doing that but there is also some cost to have that data in there

I don't know exactly the specifics internally, but imagine it like, um

I guess like a mask, right? So imagine that each blend shape on top of your face is a mask

So the smiling blend shape is a mask on top of your non-smiling shape and then your frowny blend shape is another mask on top

Of that right? So by the time you get to like 50 facial blend shapes, you're wearing 50 masks

That's kind of difficult. Like, you know, there's videos where the youtuber's put on t-shirts and keep putting them on

That's body blend shapes for you. You're wearing 50 t-shirts

So when you load into the world neos has to load those 50 t-shirts and that's why there's a hitch

Like there is a cost for that data being there wherever it's on or not. It's in memory, etc

electrona says opinion using something like value copy with right back to make fields local for things like set global transform

As far as testing is shown it means the rights never get synced. Uh,

It depends what you're doing. I don't know what you're doing. If you tell me what you're doing

It might be like a better way of doing it

Specs asks is there a known cause for the infinite loading bug referring to you and users intimate the joint sessions and experience and asset

Loading count that grows forever never goes away. Um

There's something up with asset loading. I don't know what's causing it and I see like multiple things there where I want to look into

them

um, I keep talking to um

Fruits, etc about like improving the logging there. So we know what's going on. Um, I did see a commit from fruits

That hit the source code recently that may help with that a little bit

But I do know that that still happens

I don't think that I know enough about it to say that there is a known cause though. No egg roll for says anisotropic

Thank you. I'm gonna forget that though. Maybe I should like print that and frame it. I might print that and frame it anyway

Um, ozi says i'm talking about filter options not compression methods. Oh, i'm, sorry. Um, so

Point filtering

Texture compression. I don't remember what the texture compression options look like on a texture

I'm, sorry if it'll get me a picture of the static. I'm sure I remember I just can't like visualize it

Hamish is trying to trick me up here because I pronounce stuff weirdly. Um, they're asking how would you iterate through a bunch of anisosopic?

I can't I can't I can't like either of those words are just difficult. Um, you don't need to there's no such thing as an anisosopic

Um, whatever that is. Yeah, cool

Uh elo says i've asked a person to walk me through making a laser gun. It sounded like a really really nice experience

That's it depends on attitude. There's a lot of again problems I see in um, like how

um

How people approach systems so if you approach neos as I need to learn I want to learn please help me learn

You'll have a lot better time and then maybe making a gun is a good experience

But if you approach it with logics is hard. I don't know it. I want to learn it

Please make a laser gun then you'll have a worse time

That's why I usually go with the like let's learn the the specifics

You know in in in education where you learn the theory before you learn the application a little bit like that

Le cvr says why is neon so hard to get the hang of but chill out is easy to use depends on your perspective. So

Um chill out is more aligned to how the the vr chat experience works

And so it's a it's a better sort of jumping off point for vr chat users. Um neos isn't

Hard in some avenues it is hard in other avenues. I do admit it's just again like an attitude thing though

So you need to like look at neos as a completely different beast to vr chat cvr and stuff like that

You're not comparing the two as much when you're comparing how they are to use

You're just learning them in isolation. So an example might be hey bring in avatar in

Yeah, the first time I brought an avatar and it took me like two hours, but the now it takes me five minutes

It's like it's an attitude and learning thing

Like I know the first time's hard

We've got mentors standing by in game all the time to help you get an avatar in but once you've done it like

A few times it's going to get easier once you've been doing it for almost four years like me

It's just like yeah, sure. Come on, whatever erin says have you done the satellite laser thing?

No, I did get close to it. But like not there yet spec says photogrammetry avatar theft

You could technically do that right if you captured your screen

And went around the avatar and then somehow filtered out the background you could photogrammetry recreate the avatar

And then people say oh just block screenshots. Yeah, i've got a camera pointed at my screen. What are you going to do now?

What are you going to do now? Um

It's it's an interesting question

if you do notice asset theft do report it to moderation team at moderation.nes.com we will do our best to figure out why that is and

Act appropriately epic. Eason says what can you do with hard missions?

Is making a map

That you uh paid on gumroad or some other websites and people give builder and builders not be able to modify or export

Any assets in the ah, that's hard permissions. Yeah, so the easiest way I can think of hard permissions is um

Right now if you look at a world imagine it's a circle

And you can edit everything inside that circle so you can just if you're a builder

You can inspect that part of the world. You can inspect the floor. You can unpack the floor

You can look at the logics in the floor with hard permissions

Split that circle into two and you've got a venn diagram stuff

You can edit and stuff you can't edit and then put various things in one of those circles

So hey, maybe the floor you can't edit the floor for some reason there's proprietary technology in this floor

You can't edit it. But hey, maybe the wall you can that's in the candidate circle

That's the sort of way I visualize it

Like I said again, it's not going to be a literal circle in game or the ui for it

But that's the way you should like think about it. Like here's what you can and cannot do aaron says you

Uh, I think you should do logics with you ask for permission if you feel you need it

But I think it'd be a fantastic way to teach people

A good example of that one is the hermit meter

I recreated the hermit meter and halved the logics nodes that were used in the hermit meter

I just looked at it and I went really and I halved the nodes that were at use

I don't remember who made the original hermit meter. I do believe the one aaron has is my one. So

Alex says yo active development hype. Yeah, there's there's still stuff happening

Um, if anyone who thinks we're on strike, we're not if we're on strike. I wouldn't be here. I would be like in bed

Uh, okay. We got i'm finally catching up to the the the compression stuff. Fantastic

Oh the bc3 ragb stuff and then let's go pitch it. Yes. I have no idea

Um, there are so many options there and some of them make my textures change to just blue so I don't know

And then a just says neos will not be running if we weren't. Yeah, if it like of all people

I want you to think about shifty. She tirelessly every day answers patron inquiries every single day

Like it it's got to the point where she's had to like draw the line and set like start and end times for her day

Just have some sort of sense of normality. That's not on strike. That's we care about the community

We're doing what we can again. I've been sat here for 48 minutes answering random questions and saying the word

orbital defense platform several times over we're not on strike, um

Moving forwards miss kitty says, uh, how does one go learning logics for the first time?

Um, I was talking about that earlier. Um, the best way I think is to keep things simple

So your first logic project should be adding two numbers together. Maybe learn the ui right learn how to spawn a node how to

um connect those nodes together how to disconnect those nodes how to view that result do that first

Um, if you're not tech savvy the adding numbers together is it should should be quite easy it resembles

Like how you were taught addition?

Um, once you've got that going there are videos from other critters. I haven't done a beginner logics tutorial

and that's the reason behind that is just because like

I don't know how to approach tutorials for absolute beginners. Lots of my tutorials aren't for beginners. I do apologize for that

It's just like there is a certain level of detail that you need to know

before you watch one of my tutorials and that makes it easier to like

Make them. Um, but basement has an amazing introduction to logics tutorial

um, so if someone can link that whilst I look at some other questions, then uh,

That should help you out there

But I do think that you should keep things, uh as simple as possible to start adding numbers together. Great

Then once you learn how to add numbers together, maybe do some multiplication

And then once you've done some multiplication, maybe do some division, right?

And then once you've done all of the mathematical operators, you should end up with some logics that you can do

I seem to remember zane people know zane. They're the sort of blue wrecks that runs around wearing a hat and sunglasses

Well, like glowy visor. It's not really a sunglasses, but it's glowing that brightly. I gave him a

Uh subset of the node browser, which I have somewhere in my log public folder, I think and it

um has

Only mathematical notes and I just said play with these and um, he's playing with them

They were cool

And then I gave him the t node and the t node is it counts the number of seconds the world has been open

And he started putting those together

And eventually he got like a number that was just doing something and he's like, oh

I wonder if I could make the number bigger and he like, you know added a multiplication node, etc

So that that was cool. Like, you know, he just kept playing with maths until he got there

Uh, dre says I will jump up to uh, dorky's question in just a second. But dre says, uh, what if you're bad at math?

Uh, you can add two numbers together

It's it's more like honestly, it's more about learning the ui

Like if you learn the ui you'll have a lot better time when you start looking at other nodes

Let's start looking at other concepts, but I again see a lot of times is I want to make a gun

Well, okay. Can you link two nodes together? I can't and it's like, okay

Let's let's try one plus one equals two in logic form just to learn the ui

like i'm not trying to insult anyone's intelligence and say like

You don't know how to add those numbers together. We all know how to do addition

It's just that the ui and placing those nodes in the world and linking them up that I want you to learn

Jumping up to dorky says can you explain anim j like i'm five?

Uh, I keep seeing it mentioned try to understand it for all the wiki. I can't wrap my head around it

Lex and I are working on updating the animation for that

I spent four hours yesterday trying to figure out how matrix matrices work in nmj and my conclusion is they don't

So that was fun. Um, but we are figuring bits of it out

I'm going to go ahead and try though and the reason behind that is because I have a very simple nmj file

I don't believe we've got any like shareable nmj files that we've shared before

There are a couple of examples on the wiki, but they're like complicated or not easy to use

Let me just go get my my sample nmj file

I'm, not even gonna upload that as a file or I will provide it if you need it

I'm going to just give it to you as a screenshot

Um, simply because then we can talk about it a little bit easier and I should uh, i'm gonna go ahead and remove the top bit there

Uh, and then load my screenshot a screenshotting tool, please load and then i'm gonna say to visual studio that this is jason

There's that jason coming up by the way if you want to get ahead in the game

if you want to get ahead in the game when it comes to um, basically any form of programming like if you're a

Programmer who's looking to get you know, a new programmer who's looking to make a career in programming or learn programming learn. Jason

Jason is is amazing and used pretty much like everywhere. So learn. Jason if you don't know. Jason learn. Jason. So, uh, here is a

Particular

Anim j file. So if you're not looking at it and in the the notes here i'll try and get a link to it in the notes on on sounder etc.

This anim j file, um will

Change the position of a slot at various times

And so you'll see that there is a list of keyframes and so it will then animate between those keyframes to those values

And that's really all there is to anim j but you can do so many complicated things to it

Um, so if you look at that file, you'll see at time index zero the key the the the left cube is at zero zero zero

If you look at time one, I've moved the cube or whatever to not point two to the left

Why are there so many red lines here expected comma? Did I make an error problem with my

My jason's fine value expected very confused. That's valid. Jason, but it's saying it's not unless i'm just missing something. Anyway, um,

um, so you put that stuff into an animator component and then you hook it up to various properties and then you're able to

Animate it. Um

It's it's basically a way of describing translations. Um, it's it's it's if you look at that that that script above

I put in the screenshot of and you don't see what's happening

Um, then you'll have to wait for the tutorial unfortunately

Moving, uh up because there are questions I missed. Um,

I also keep a hard limit of this at five or as we've gone over by half an hour, but we'll

Stop at five. So we've got six more minutes questions. Uh, so

second

Asks do shared items i.e given to you in a public folder take up storage of safety in your own world. I

Don't know. I think I have an answer there, but I don't want to be proven wrong

I know storage space is a hot topic right now. So

Try it if you save a public folder in your inventory. No

No, but if you save it in your own world and save that world, there is a reference to that item

But it should deduplicate the assets on that item, but there still is a storage cost for saving that item in the world

So, I don't know

Pushka says can you choose to save reference to object individually and saving instead of saving entire object to the cloud?

No, although we'll sometimes do that for you. You just don't know that we're doing it. Easton shows an example of

Adding numbers together again, that's perfect. Uh

Olin says instructions unclear and then shows the adder node

So the adder node I can't remember which folder the adder node is in but we actually have what's called a binary adder in

um in logics, um, I learned that back at university but like, uh

adding together two numbers in binary is like

Magic and that's because it's binary and so adding them together is very very complicated moving forwards Easton says it's possible to make an anim

J animator tool inside a Neos probably not but possibly yes, but also no

Um, the reason behind that is you'll need to construct a json file

Which is technically possible with a lot of string matching and string nodes, etc

But once you've got that json file

You then need to create a file from that save that file to somewhere which is not inside Neos and then re-import it

Like you have to re-import it into Neos as an anim. J file for Neos to kick in and be like, ah

It's an animation. I'll do the anim j processing on it great

Uh double six is what is an mjs and uses animation library?

No, it's a way of representing animations that are compatible with Neos's animation library as json outside of Neos

Uh codices so basically deconstructing a dope sheet into json and bring it into Neos. Yes

Absolutely. Um

Uh

Vrc refugee ghoul or the ghoul. Okay. There we go. Your name is confusing

Sorry, uh the ghoul is there a way to fix the little shelves on my wrist? Those are tool anchors

Those are the tool shelf anchors, um scroll up in this chat a little bit

You'll see the tool shelf or tool anchor tutorial that shows you how to uh move them around and play with them

If you don't want them there, you can also turn them off that way as well

But just I think turning off the anchor will do it. Um, they are great though

Maybe I should do a tool shelf tutorial because people don't understand them and then they struggle to equip tools and i'm just like

Look how fast I can equip tools using my tool shelf and then people are like, oh, that's what those are for

And i'm like, yep, that's what those are for math binary for the adder. Thank you

The adder is is really cool. Zach asks an interesting question about how does um,

Lex's anim j that he shared compared to

Changing it using logics. You could also change it using logics, but sometimes um, it might be better to use uh,

Anim j if you know how to do it. Um, it just depends on what you'd like to do. So

um

in anim j

Lex has the ability to

Do things in a little bit more of a structured way

Where there's the way that would that would happen in logics is is maybe more complicated

Um in some cases what you're doing in logics for animations is writing mathematical equations

Which result in the animation that you want and for anyone that just got scared by that

Don't worry about that. I know that was a scary sentence. It's honestly not that bad

There is a video I have about uh reciprocal motion which uses maths to make an animation

And it is quite easy. Once you get the hang of it, which i'll paste here. We are at 16 59

So specs dorky if you have a question go for it. Otherwise, no more questions

Immediately dorky stops typing. I'm sorry dorky. Is there a difference between the term as oscillating and reciprocating?

Like is that difference? I don't know probably that's a good way of phrasing it spec says animating via logics procedural

You're calculating animation in real time animating via anim j is baked. The animation is a preset of known values. Yep. That's great

It is now 1700 canadian gets you better finish your typed message quickly, or I will send you an angry cat gift

Okay, well cut it there

If you have any further questions

Please drop them in the questions and help section of the uh, neos discord direct message me find me in game

Send me a homing pigeon hopefully with a cheese reward, but uh, I will see you guys around. Bye. Bye

It sounded vaguely mickey mousy. I'm not going to do a mickey mouse impression, but there you go. Bye. Bye