Skip to content

Commit 435189e

Browse files
committed
Page writing clean up & style tweaks
Reworked a few pages writing for content and general presentation. _Added more AI Dev media to help show GAT networks and a better visual of my ESN
1 parent e3c18ed commit 435189e

17 files changed

+253
-122
lines changed

README.md

Lines changed: 19 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,41 @@
11
# procstack.github.io / pxlNav
2-
### Javascript player controller & framework for three.js
2+
### A few examples of using pxlNav for Three.js
33

44
#### Metown USA, baby!
55

66
Kevin Edzenga's web dev & shader resume site
77
<br/>&nbsp;&nbsp;Made as a way to show off `pxlNav`
8+
9+
- Using the web page elements to drive `pxlNav` through trigger events
10+
- Listening to 'pxlNav' using callbacks to have the page elements respond to `pxlNav` events
811
###
912

1013
<img src="_show/procstack.github.io_2024-12-12.jpg" alt="procstack.github.io pxlNav environment" style="margin-left:auto;margin-right:auto;"/>
1114
<div style="margin-left:auto;margin-right:auto;"><a href="https://procstack.github.io/" target="_blank">procstack.github.io</a></div>
1215

1316

1417
### The Good Bits -
15-
*Wanna see the template or example rooms using 3d fbx files?*
16-
<br/>&nbsp; `./Source/pxlRooms`
17-
18-
<br/>&nbsp;&nbsp;For `pxlNav` Documentation -
19-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;[pxlNav Documentation](https://github.com/ProcStack/pxlNav/tree/main/docs)
2018

21-
<br/>&nbsp;&nbsp;For `pxlNav` Repo with Source & Info -
22-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;[pxlNav Repo ](https://github.com/ProcStack/pxlNav)
23-
24-
<br/>&nbsp;&nbsp;Minified pxlNav, style, & assets *(if desired)* -
25-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;`./Build`
26-
27-
<br/>&nbsp;&nbsp;`pxlNav` dev entry point is -
28-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;`./Source/js/pxlNav.js`
29-
30-
<br/>&nbsp;&nbsp;`procstack.github.io` public site -
19+
&nbsp;&nbsp;`procstack.github.io` public site -
3120
<br/>&nbsp;&nbsp;&nbsp;&nbsp;`./docs`
3221

22+
*Wanna see the template or example rooms using 3d fbx files?*
23+
<br/>&nbsp; `./docs/js/pxlRooms`
3324

34-
##
35-
36-
#### Note about `pxlNav` -<br/>&nbsp;&nbsp;&nbsp;&nbsp;*November 16th, 2023*
37-
38-
I decided to release the `pxlNav` framework for `three.js` I wrote for use in the virtual event website `Antib0dy.club`,
39-
<br/>&nbsp;&nbsp;A site used during the height of the pandemic to throw multiplayer avitar filled virtual parties & dj album drops.
40-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;With live video feeds of our house dj and event dj, switched dynamically durring events.
41-
42-
43-
<img src="_show/AntibodyClub_chatImplemented.jpg" alt="Antib0dy.club, using pxlNav with Three.js" style="margin-left:auto;margin-right:auto;"/>
44-
<div style="margin-left:auto;margin-right:auto;">(Antib0dy.Club, networking has been removed though)</div>
45-
46-
47-
For `pxlNav` I wrote a first person navigation system, collision detection, camera animation sequencer,
48-
<br/>&nbsp;&nbsp;An in-browser opengl vert/frag shader code text editor & compiler/refresher with keyboard shortcut regex commands,
49-
<br/>&nbsp;&nbsp;FBX 3d scene structure to allow for Maya/Blender directly into pxlNav with complete scene comprehension.
50-
51-
All as a framework using `three.js` with differed render passes to allow for in-environment items
52-
<br/>&nbsp;&nbsp;Which could alter the screens appearance through post processing,
53-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;Or added screen effects when using teleportation pads
54-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Between like-named collider+object pairs in the FBX scene file
25+
<br/>For a simpler example of pxlNav -
26+
<br/>[The Void; procstack.github.io/Void.htm](https://procstack.github.io/Void.htm)'s room -
27+
<br/>&nbsp; `./docs/js/pxlRooms/VoidEnvironment`
5528

56-
But I did remove the `Jitsi` integration of users webcams and mics
57-
<br/>&nbsp;&nbsp;Implemented as their video visual avitar & audio with distance fall off attenuation.
58-
<br/>This is too much of a separate intergration to include in this repo, nor the `pxlNav` repo (when its created)
59-
<br/>It will need to have a docker script, websocket settings,
60-
<br/>&nbsp;&nbsp;Port forwarding, sip controlling, handshake handling,
61-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;Room management overhaul, more asset & user managament checks, added security;
62-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An entire environment to set up
63-
<br/>&nbsp;&nbsp;So I'll likely make a pxlVideoAvitar repo in the future,
64-
<br/>&nbsp;&nbsp;&nbsp;&nbsp;But there are no plans for that at the moment.
29+
<br/>For more feature rich examples of pxlNav -
30+
<br/>[procstack.github.io](https://procstack.github.io/)'s room -
31+
<br/>&nbsp; `./docs/js/pxlRooms/CampfireEnvironment`
32+
<br/>[The Outlet; procstack.github.io/Outlet.htm](https://procstack.github.io/Outlet.htm)'s room -
33+
<br/>&nbsp; `./docs/js/pxlRooms/OutletEnvironment`
6534

66-
Realistically, I should add Universal Scene Description (USD) support for future advancements to the system.
6735

68-
But heck with it, for now I'm making a rabbit druid dude poke a fire and look at a stick for my website!
69-
<br/> - *Kevin Edzenga*
36+
<br/>&nbsp;&nbsp;For `pxlNav` Documentation -
37+
<br/>&nbsp;&nbsp;&nbsp;&nbsp;[pxlNav Documentation](https://github.com/ProcStack/pxlNav/tree/main/docs)
7038

39+
<br/>&nbsp;&nbsp;Main `pxlNav` Repo with Source, Info, & Examples -
40+
<br/>&nbsp;&nbsp;&nbsp;&nbsp;[pxlNav Repo ](https://github.com/ProcStack/pxlNav)
7141

72-
*Temporary holdover for `pxlNav` until I implement the third-person controller & code clean up / commenting,*
73-
<br/>&nbsp;&nbsp;*I'll created a `pxlNav` repo when complete*

docs/js/pxlPages/ProcPage.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -749,10 +749,6 @@ export class ProcPage {
749749
sectionTitleDiv.classList.add('procPagesButtonStyle');
750750
sectionTitleDiv.classList.add('procPagesSectionNavColor');
751751

752-
let styleType = "navStyle";
753-
if( sectionData.hasOwnProperty( styleType ) && Array.isArray( sectionData[ styleType ] ) ){
754-
sectionData[ styleType ].forEach(( style )=>{ style!=''&&sectionTitleDiv.classList.add(style) });
755-
}
756752

757753
sectionTitleDiv.innerHTML = sectionData.name;
758754

@@ -761,9 +757,21 @@ export class ProcPage {
761757
let buttonBgObj = document.createElement('div');
762758
buttonBgObj.classList.add('procPagesSectionNavButtonBackground');
763759
this.applyPageStyle( 'sectionNavButtonBackground', buttonBgObj );
760+
761+
let styleType = "navStyle";
762+
if( sectionData.hasOwnProperty( styleType ) && Array.isArray( sectionData[ styleType ] ) ){
763+
sectionData[ styleType ].forEach(( style )=>{ style!=''&&buttonBgObj.classList.add(style) });
764+
}
765+
764766
buttonBgObj.appendChild( sectionTitleDiv );
765767
sectionList.appendChild( buttonBgObj );
766768
}else{
769+
770+
let styleType = "navStyle";
771+
if( sectionData.hasOwnProperty( styleType ) && Array.isArray( sectionData[ styleType ] ) ){
772+
sectionData[ styleType ].forEach(( style )=>{ style!=''&&sectionTitleDiv.classList.add(style) });
773+
}
774+
767775
sectionList.appendChild( sectionTitleDiv );
768776
}
769777

docs/js/pxlRooms/CampfireEnvironment/CampfireEnvironment.js

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -237,9 +237,16 @@ export class CampfireEnvironment extends RoomEnvironment{
237237
if( this.mobile ) return;
238238

239239
// -- -- --
240-
240+
241241
let systemName = "floatingDust";
242242
let dustSystem = new FloatingDust( this, systemName );
243+
244+
// -- -- --
245+
246+
// Request the settings object from the particle system
247+
// If you log this object, you can see all the settings you can adjust
248+
// This is optional, as the default settings is created for you
249+
// If you don't pass one to the `build()` function
243250
let dustSystemSettings = dustSystem.getSettings();
244251
dustSystemSettings["vertCount"] = 900; // Point Count
245252
dustSystemSettings["pScale"] = 8.5; // Point Base Scale
@@ -261,8 +268,22 @@ export class CampfireEnvironment extends RoomEnvironment{
261268
...dustSystem.dupeArray([0.0,0.75],3), ...dustSystem.dupeArray([0.25,0.75],3)
262269
];
263270

264-
// Use a texture from the internal `pxlAsset` folder; ( RGB, Alpha )
265-
//dustSystem.setAtlasPath( "sprite_dustLiquid_rgb.jpg", "sprite_dustLiquid_alpha.jpg" );
271+
// -- -- --
272+
273+
// Texturing the particles -
274+
275+
// For a RGB + Alpha texture, use the second parameter for the Alpha map -
276+
// dustSystem.setAtlasPath( "sprite_dustLiquid_rgb.jpg", "sprite_dustLiquid_alpha.jpg" );
277+
// For a RGBA texture, leave the second parameter empty -
278+
// dustSystem.setAtlasPath( "sprite_dustLiquid.png" );
279+
280+
// When no pathing, just a name, is passed to `setAtlasPath()`
281+
// It will read the texture from the internal `./pxlAsset` folder
282+
// Set on your `pxlOptions` object when building `new pxlNav( pxlOptions, ... )`
283+
// If you pass a path, it will look in the path you provide, like the room's asset folder -
284+
// dustSystem.setAtlasPath( this.assetPath + "/customSpriteAtlas.png" );
285+
286+
// -- -- --
266287

267288
// Generate geometry and load texture resources
268289
dustSystem.build( dustSystemSettings );

docs/js/pxlRooms/OutletEnvironment/OutletEnvironment.js

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,14 @@ buildDust(){
9090
let systemName = "floatingDust";
9191
let dustSystem = new FloatingDust( this, systemName );
9292

93+
// -- -- --
94+
95+
// Request the settings object from the particle system
96+
// If you log this object, you can see all the settings you can adjust
97+
// This is optional, as the default settings is created for you
98+
// If you don't pass one to the `build()` function
9399
let dustSystemSettings = dustSystem.getSettings();
100+
94101
dustSystemSettings["vertCount"] = vertexCount;
95102
dustSystemSettings["pScale"] = pScale;
96103
dustSystemSettings["pOpacity"] = particleOpacity;
@@ -109,8 +116,22 @@ buildDust(){
109116
...dustSystem.dupeArray([0.0,0.75],3), ...dustSystem.dupeArray([0.25,0.75],3)
110117
];
111118

112-
// Use a texture from the internal `pxlAsset` folder; ( RGB, Alpha )
113-
//dustSystem.setAtlasPath( "sprite_dustLiquid_rgb.jpg", "sprite_dustLiquid_alpha.jpg" );
119+
// -- -- --
120+
121+
// Texturing the particles -
122+
123+
// For a RGB + Alpha texture, use the second parameter for the Alpha map -
124+
// dustSystem.setAtlasPath( "sprite_dustLiquid_rgb.jpg", "sprite_dustLiquid_alpha.jpg" );
125+
// For a RGBA texture, leave the second parameter empty -
126+
// dustSystem.setAtlasPath( "sprite_dustLiquid.png" );
127+
128+
// When no pathing, just a name, is passed to `setAtlasPath()`
129+
// It will read the texture from the internal `./pxlAsset` folder
130+
// Set on your `pxlOptions` object when building `new pxlNav( pxlOptions, ... )`
131+
// If you pass a path, it will look in the path you provide, like the room's asset folder -
132+
// dustSystem.setAtlasPath( this.assetPath + "/customSpriteAtlas.png" );
133+
134+
// -- -- --
114135

115136
// Generate geometry and load texture resources
116137
dustSystem.build( dustSystemSettings );

docs/js/pxlRooms/VoidEnvironment/VoidEnvironment.js

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,25 +60,47 @@ export class VoidEnvironment extends RoomEnvironment{
6060
buildDust(){
6161
let vertexCount = 800; // Point Count
6262
let particleScale = 9.5; // Point Base Scale
63+
let particleOpacity = .5; // Point Transparency
6364
let proxDistance = 315; // Distance particles are visible
6465
let windDir = new Vector3( 0, -10, 0 ); // Wind Direction
6566

67+
// -- -- --
6668

6769
let systemName = "floatingDust";
6870
let dustSystem = new FloatingDust( this, systemName, true );
6971

72+
// -- -- --
73+
74+
// Request the settings object from the particle system
75+
// If you log this object, you can see all the settings you can adjust
76+
// This is optional, as the default settings is created for you
77+
// If you don't pass one to the `build()` function
7078
let dustData = dustSystem.getSettings();
79+
7180
dustData["vertCount"] = vertexCount;
7281
dustData["pScale"] = particleScale;
7382
dustData["proxDist"] = proxDistance;
7483
dustData["windDir"] = windDir;
7584
dustData["additiveBlend"] = true;
76-
dustData["pOpacity"] = .5;
85+
dustData["pOpacity"] = particleOpacity;
86+
87+
// -- -- --
88+
89+
// Texturing the particles -
90+
91+
// For a RGB + Alpha texture, use the second parameter for the Alpha map -
92+
// dustSystem.setAtlasPath( "sprite_dustLiquid_rgb.jpg", "sprite_dustLiquid_alpha.jpg" );
93+
// For a RGBA texture, leave the second parameter empty -
94+
// dustSystem.setAtlasPath( "sprite_dustLiquid.png" );
7795

78-
// Use a texture from the internal `pxlAsset` folder
79-
//dustSystem.setAtlasPath( "sprite_dustLiquid_rgb.jpg", "sprite_dustLiquid_alpha.jpg" );
80-
//dustSystem.setAtlasPath( "sprite_dustLiquid.png" );
96+
// When no pathing, just a name, is passed to `setAtlasPath()`
97+
// It will read the texture from the internal `./pxlAsset` folder
98+
// Set on your `pxlOptions` object when building `new pxlNav( pxlOptions, ... )`
99+
// If you pass a path, it will look in the path you provide, like the room's asset folder -
100+
// dustSystem.setAtlasPath( this.assetPath + "/customSpriteAtlas.png" );
81101

102+
// -- -- --
103+
82104
// Generate geometry and load texture resources
83105
dustSystem.build( dustData );
84106

0 commit comments

Comments
 (0)