Skip to content

Instantly share code, notes, and snippets.

@canttel
Created January 12, 2020 03:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save canttel/22cbfecf0d4db31651f816e34fb0e39e to your computer and use it in GitHub Desktop.
Save canttel/22cbfecf0d4db31651f816e34fb0e39e to your computer and use it in GitHub Desktop.

SHAPER

more advanced than avs so will be taught more quickly

Go over to file - new on the top bar, you should be in a multi-colored square

9/10 times you'll be starting from this template, stock worlds are fine to make variants of but don't take other users jazz

So the first thing, you'll notice this signs you out

The blank template world by default doesn't connect to any servers, so we need to tell it that we want to be online when we're here

Right click any of the walls and click edit properties, this will expand the hierarchy menu in the bottom left

This is way quicker than the alternative of File -> World Properties then manually expanding out, and basically opens up the properties of whatever you point it at

Scroll up to the top of the hierarchy, you should see World1

Click it, then in the white box double click multiuser and set it to true

So now we're online, and when other people open your world they'll also be online

To get something ready to build in, you should make a folder like so

Next go to file - save, then save the world at the top of this folder

Now, go to open and get back into it

We did this so that our file path is set up, and we can use files in the folders that we just created

Now, concepts

Everything in worlds is made of

2d rectangles of varying sizes

3d models

Or holograms, which are 2d images that rotate around to face you

Think about how 3d models are made, from various "faces" put together

You can do the same thing with worlds, with smaller rectangles placed together

You generally want to sculpt from 2d because it's way less performance heavy, but there are exceptions

3d skyboxes and terrain look dope, and since neither need to be particularly complex, can be used to great effect

So, lets get down to making stuff

Go to Objects in the light grey menu, if you aren't already there

The 6 things here are the 6 things that are in our base room

Its just a rectangle, facing all 6 directions

You can click and drag these anywhere on your screen to place them

Get an east wall out, and lets explore it

Notice how it's only visible from one direction

This is important to keep in mind when making something that's going to be explored from tons of angles

Look at ur wall like this

This bar above the white box, is how you move your wall around

The first one moves it through the X and Z

The second controls the Y

Pitch roll and yaw are turn-y things, try them out and get an idea of what they do

The blue box scales stuff up and down, cut copy and paste do what you'd expect

Saving stuff is weird and I never use it

The last button is extremely important, and undoes your last action

It doesn't keep track of everything though so keep backups in case something messes up

Getting into the specific properties of our wall

In the hierarchy

Actions - stuff it does

Contents - objects inside it (not particularly applicable for a wall)

Event handlers - stuff that makes the actions happen

Material - how it looks

Shared attributes - cursed

Double click material and go into texture

Our File(URL) is the location of the texture (image) that we want to put on the wall, on the one side its visible

Lesson #1

Go on google and find one image u wish to place on this wall

Load it up into photoshop or gimp, resize it to 128x128, and save it as a .bmp

Place it in the tex folder we created earlier

Now, go to file (url) and type

tex/(file name)

If you named it wall.bmp you would type

tex/wall.bmp

We can do that because from where our .world is, the program has to go into the tex folder then find the name specified

Using absolute paths isn't feasible to type such as C:\Users\cake1234566\Desktop\DEMOWROLD\tex every time

And web urls are cursed because every server goes down constantly

So always do relative pathing

tex/file mus/file 3d/file

I should also mention that the folders names dont matter

You can call them anything this is just more standard

Now

Armed with this knowledge build a house and save it

Seriously, you won't get anywhere without practicing this and getting some memorization going

It'll also provide a springboard for the next lesson

Make sky

So while you were making your house, if you messed with the boundary walls you'd see the Abyss ™️

You also may have had trouble using page up / down

Filling the abyss with something also solves the looking up and down issue

No idea why

So, let's fill it

Make sure you saved your world, then it's time for a field trip to meteor

This up here, is a sky box

We're going to steal it for the purposes of education

Right click up there - edit properties

We're going to hover over ShapeSky, press the Cut button, then return to the world you saved

Under room in the hierarchy, find Infinite Background

Paste the skybox we nabbed from meteor into the contents of Infinite Background

Now, this is a 3d skybox

We can't texture this, it looks bland and generic

But like every other world uses this skybox so it does work

Save and its time for another field trip

http://smurfyworld.no-ip.com/jett/worlds/Nexus/nexus.world

Go here

Look at the sky and you can clearly see it's composed of walls

This is a template I commonly use, and you can as well

Because this deals with geometry rather than design

If you can find a skybox with the right "geometry" to give you the look that you want, then retexturing it is standard procedure

I've made my own in the past, but you really don't need to unless you want to get into hardcore stuff

So, right click one of the walls in the skybox and go to edit properties

You'll notice that the walls are grouped together like this

Background1b and 2t, as well as sky, are what's known as groupers

These are groups of objects put together for easy -

Duplication to put a bunch of them in your world

Reusability in multiple worlds

or

Relocation

Copy / cut Sky because its the main grouper which has everything in it, and put it in the world that you saved

You'll first need to delete the old skybox by doing this

Keep in mind, forgot to mention this

Infinite background is what you see when nothing's covering it up

So if you're making an interior, you dont want to waste resources on a skybox

Unless you want windows to the outside or to fix the page up / down issue

Now, going to start going quicker or else this is going to take me all night to write

ACTIONS

Wait - Used in a sequence of actions (explained later) to delay the next action in the list

Sequence - Make a list of actions that you want to occur

Move - move object

Pickup - cursed

Sound - play music file

Teleport - take you to another world or another room in your world

Talk - send a message in main chat, note, will display as whoever triggers it's username

Set float / string / 2d point - cursed

Select avatar - change avatar

Wear - used in gallery of metamorphics in gz, cursed

Trade - cursed

openURL - open website

NotifyScript - secret official worlds only thing to trigger scripts

Dispenser - cursed

Playbackrec - cursed

RemotePortal - Forces portal to trigger even if conditions aren't met

Stdout - cursed

Animate - flash between textures

Print - Says something but with no username

Parallel - cursed

SetVisBump - cursed

URL - cursed

Set (all 5) - cursed

Posable - cursed

Move camera & video control - cursed

Gravity - used for elavators, it's complicated, I only vaguely know how it works

CameraHeight - set users sight height

StopRecording - cursed

Webwallcontrol - cursed

Now

When I say something's cursed

50% of them are outdated and dont work anymore

Other 50% are advanced and need not be covered now, dont have a linear definition and aren't useful to us yet

Everything in attributes is cursed,

Behaviors

Spin - rotates without moving

Can be used in any single object or in a grouper

Startup - happens when the room loads up

Same room - if you're in the same room as this thing, it happens

Build stairs - place it on a portal and it auto builds a room with stairs (use trigger now, do not make the user generate it)

Post-spin - rotates in an orbit around a point

Click - trigger on click

Diff room - trigger when in diff room

Build ramp - same as build stairs but with a ramp

Velocity - Cursed

Bump - trigger on bump

Proximity - trigger when close

Move & roll - cursed

Portal Sorcery

So, now let's discuss the world hierarchy

It goes

World - Room - Objects in a room

World is everything, so whats a room

Rooms are spaces divided into what you want to immediately render and what you want to render when the user gets there

You want to break worlds up like this because of performence reasons

Traveling between these Rooms is done via portals

In Objects, find Default Room

Drag it into your world hierarchy, now you should have two

You can rename them to whatever you'd like via the name at the top for easy identification

In objects, place whatever kind of portal you'd like into the room that you're currently in

Then, drag one of the opposite direction into the Contents of the other room that you placed

Now, you have to set two things for these to work

Destination Room Name, and Destination Portal Name

So if we placed an EastPortal in Room1

We want to link it to a WestPortal in Room2

And then go to the other portal you placed in Room2, and link it to EastPortal in Room 1

But, you do have to do room name before portal name or it'll instantly crash because worlds is a quality program

Now that you have that connection set up, you can freely move those portals anywhere you want the connection to be

Its just easier now that you can walk through

And so ends Basic Shaper

I'll cover advanced stuff like non level terrain / stairs and hills, higher res textures, and elevators Some Day ™️

SHAPER

more advanced than avs so will be taught more quickly

Go over to file - new on the top bar, you should be in a multi-colored square

9/10 times you'll be starting from this template, stock worlds are fine to make variants of but don't take other users jazz

So the first thing, you'll notice this signs you out

The blank template world by default doesn't connect to any servers, so we need to tell it that we want to be online when we're here

Right click any of the walls and click edit properties, this will expand the hierarchy menu in the bottom left

This is way quicker than the alternative of File -> World Properties then manually expanding out, and basically opens up the properties of whatever you point it at

Scroll up to the top of the hierarchy, you should see World1

Click it, then in the white box double click multiuser and set it to true

So now we're online, and when other people open your world they'll also be online

To get something ready to build in, you should make a folder like so

Next go to file - save, then save the world at the top of this folder

Now, go to open and get back into it

We did this so that our file path is set up, and we can use files in the folders that we just created

Now, concepts

Everything in worlds is made of

2d rectangles of varying sizes

3d models

Or holograms, which are 2d images that rotate around to face you

Think about how 3d models are made, from various "faces" put together

You can do the same thing with worlds, with smaller rectangles placed together

You generally want to sculpt from 2d because it's way less performance heavy, but there are exceptions

3d skyboxes and terrain look dope, and since neither need to be particularly complex, can be used to great effect

So, lets get down to making stuff

Go to Objects in the light grey menu, if you aren't already there

The 6 things here are the 6 things that are in our base room

Its just a rectangle, facing all 6 directions

You can click and drag these anywhere on your screen to place them

Get an east wall out, and lets explore it

Notice how it's only visible from one direction

This is important to keep in mind when making something that's going to be explored from tons of angles

Look at ur wall like this

This bar above the white box, is how you move your wall around

The first one moves it through the X and Z

The second controls the Y

Pitch roll and yaw are turn-y things, try them out and get an idea of what they do

The blue box scales stuff up and down, cut copy and paste do what you'd expect

Saving stuff is weird and I never use it

The last button is extremely important, and undoes your last action

It doesn't keep track of everything though so keep backups in case something messes up

Getting into the specific properties of our wall

In the hierarchy

Actions - stuff it does

Contents - objects inside it (not particularly applicable for a wall)

Event handlers - stuff that makes the actions happen

Material - how it looks

Shared attributes - cursed

Double click material and go into texture

Our File(URL) is the location of the texture (image) that we want to put on the wall, on the one side its visible

Lesson #1

Go on google and find one image u wish to place on this wall

Load it up into photoshop or gimp, resize it to 128x128, and save it as a .bmp

Place it in the tex folder we created earlier

Now, go to file (url) and type

tex/(file name)

If you named it wall.bmp you would type

tex/wall.bmp

We can do that because from where our .world is, the program has to go into the tex folder then find the name specified

Using absolute paths isn't feasible to type such as C:\Users\cake1234566\Desktop\DEMOWROLD\tex every time

And web urls are cursed because every server goes down constantly

So always do relative pathing

tex/file mus/file 3d/file

I should also mention that the folders names dont matter

You can call them anything this is just more standard

Now

Armed with this knowledge build a house and save it

Seriously, you won't get anywhere without practicing this and getting some memorization going

It'll also provide a springboard for the next lesson

Make sky

So while you were making your house, if you messed with the boundary walls you'd see the Abyss ™️

You also may have had trouble using page up / down

Filling the abyss with something also solves the looking up and down issue

No idea why

So, let's fill it

Make sure you saved your world, then it's time for a field trip to meteor

This up here, is a sky box

We're going to steal it for the purposes of education

Right click up there - edit properties

We're going to hover over ShapeSky, press the Cut button, then return to the world you saved

Under room in the hierarchy, find Infinite Background

Paste the skybox we nabbed from meteor into the contents of Infinite Background

Now, this is a 3d skybox

We can't texture this, it looks bland and generic

But like every other world uses this skybox so it does work

Save and its time for another field trip

http://smurfyworld.no-ip.com/jett/worlds/Nexus/nexus.world

Go here

Look at the sky and you can clearly see it's composed of walls

This is a template I commonly use, and you can as well

Because this deals with geometry rather than design

If you can find a skybox with the right "geometry" to give you the look that you want, then retexturing it is standard procedure

I've made my own in the past, but you really don't need to unless you want to get into hardcore stuff

So, right click one of the walls in the skybox and go to edit properties

You'll notice that the walls are grouped together like this

Background1b and 2t, as well as sky, are what's known as groupers

These are groups of objects put together for easy -

Duplication to put a bunch of them in your world

Reusability in multiple worlds

or

Relocation

Copy / cut Sky because its the main grouper which has everything in it, and put it in the world that you saved

You'll first need to delete the old skybox by doing this

Keep in mind, forgot to mention this

Infinite background is what you see when nothing's covering it up

So if you're making an interior, you dont want to waste resources on a skybox

Unless you want windows to the outside or to fix the page up / down issue

Now, going to start going quicker or else this is going to take me all night to write

ACTIONS

Wait - Used in a sequence of actions (explained later) to delay the next action in the list

Sequence - Make a list of actions that you want to occur

Move - move object

Pickup - cursed

Sound - play music file

Teleport - take you to another world or another room in your world

Talk - send a message in main chat, note, will display as whoever triggers it's username

Set float / string / 2d point - cursed

Select avatar - change avatar

Wear - used in gallery of metamorphics in gz, cursed

Trade - cursed

openURL - open website

NotifyScript - secret official worlds only thing to trigger scripts

Dispenser - cursed

Playbackrec - cursed

RemotePortal - Forces portal to trigger even if conditions aren't met

Stdout - cursed

Animate - flash between textures

Print - Says something but with no username

Parallel - cursed

SetVisBump - cursed

URL - cursed

Set (all 5) - cursed

Posable - cursed

Move camera & video control - cursed

Gravity - used for elavators, it's complicated, I only vaguely know how it works

CameraHeight - set users sight height

StopRecording - cursed

Webwallcontrol - cursed

Now

When I say something's cursed

50% of them are outdated and dont work anymore

Other 50% are advanced and need not be covered now, dont have a linear definition and aren't useful to us yet

Everything in attributes is cursed,

Behaviors

Spin - rotates without moving

Can be used in any single object or in a grouper

Startup - happens when the room loads up

Same room - if you're in the same room as this thing, it happens

Build stairs - place it on a portal and it auto builds a room with stairs (use trigger now, do not make the user generate it)

Post-spin - rotates in an orbit around a point

Click - trigger on click

Diff room - trigger when in diff room

Build ramp - same as build stairs but with a ramp

Velocity - Cursed

Bump - trigger on bump

Proximity - trigger when close

Move & roll - cursed

Portal Sorcery

So, now let's discuss the world hierarchy

It goes

World - Room - Objects in a room

World is everything, so whats a room

Rooms are spaces divided into what you want to immediately render and what you want to render when the user gets there

You want to break worlds up like this because of performence reasons

Traveling between these Rooms is done via portals

In Objects, find Default Room

Drag it into your world hierarchy, now you should have two

You can rename them to whatever you'd like via the name at the top for easy identification

In objects, place whatever kind of portal you'd like into the room that you're currently in

Then, drag one of the opposite direction into the Contents of the other room that you placed

Now, you have to set two things for these to work

Destination Room Name, and Destination Portal Name

So if we placed an EastPortal in Room1

We want to link it to a WestPortal in Room2

And then go to the other portal you placed in Room2, and link it to EastPortal in Room 1

But, you do have to do room name before portal name or it'll instantly crash because worlds is a quality program

Now that you have that connection set up, you can freely move those portals anywhere you want the connection to be

Its just easier now that you can walk through

And so ends Basic Shaper

I'll cover advanced stuff like non level terrain / stairs and hills, higher res textures, and elevators Some Day ™️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment