Skip to content

WalkTheWeb v3.7.1

Choose a tag to compare

@adishno adishno released this 29 Jul 19:24
74d5018

Release Date: 7/29/2023
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This update is all about the user experience! This includes big improvements to Avatar movement, speed, and click space bar to jump. Additionally there are 3D Menu Updates, copy supports teleports, and Teleport / Spawn Zone enhancements that now allow them to be included in Shares and Downloads.

Here are the details for this release:

New Enter Login Button Menu - When you come to a new scene, we moved the Enter button to a new 3D Model menu called wtw-entermenu.babylon. We then added a button for Login so that you can choose to login before entering the scene (Enter selects a random avatar). We also removed the Enter button from the login menu 3D Model. This change effects the HUD Login code as well as the Login and Core files that call the menus.

Jump Collisions Correction - When jumping, there is an avatar base collision adjustment so that the avatar can jump up on something as they walk or run forward. When the avatar stood still and jumped, the correction was causing the avatar to sink into the ground then slowly correct itself by collision control. We disabled the correction during a jump vertically to rectify this issue.

3D Internet Menu Closing Corrected - When in Admin Mode and click on the 3D Internet Menu, when you select a sub menu item, then click the 3D Internet to close the menu group, it now closes the sub menu item properly. Before, only the first item page was being checked for closure.

Enable / Disable WalkTheWeb Broadcasts - Under the 3D Internet, Multiplayer and Chat settings, in Admin Mode, you can now Enable and Disable the WalkTheWeb Broadcasts.

Move Avatar handling Jumps - We changed the moveAvatar function on how it processes and identifies Jump commands. It now uses an array of possible Jump commands to set the animation weights.

Exclude Space Bar from Key Pressed Remove - The keyPressedRemove function is used to release keys from the active controls. It can be found in the wtw_inputs.js file. We added a condition to the code to not remove the space bar (keycode 32) so that pressing the space bar will continue the action to jump until the jump animation is complete. The code to remove the space bar was added to the end function of the animation. (when loading a jump type animation).

Load Animation End Cycle Function - When executing an animation loop, for example jump, we needed to add code to execute at the end of a cycle before it loops. This allows us to add code to clear the jump before it loops. THis same location can be used to add additional conditions at the end of a cycle before it loops. This can be found in the loadAvatarAnimations function in wtw_loadavatar.js.

Added Space Bar Click Jump - Previously, you had to hold down the space bar to jump and it was an endless loop. This meant that after a jump sequence, gravity would not take over until the space bar was released. Now, jump uses a click on the space bar and always ends at one cycle of the jump.

Removed Opposite Movement from Move Avatar Section - Since the opposite movement cancellation happens on the key stroke end now, we do not need to test for it and cancel on the move avatar code side. We removed the checks and alternate fixes. This effects the wtw_avatarfunctions.js file.

Cancel Opposite Avatar Movements - In the keyPressedAdd function, we now check for opposite avatar movements and cancel the end results. For example, if left turn and right turn are both pressed, the avatar will do nothing (stay idle). Previously, it would jitter between both movements.

Canceling Key Repeat - When moving your avatar, if you hold a key, it was repeating the same process to check and add the key code. We now check to see if it is a repeating key before checking, making it run faster with less processing work.

Swap Avatar Control Keys - We swapped the default movement for the A, D, Q, and E keys. A and left arrow turn left, D and right arrow turn right, Q strafes left, and E strafes right. Note that R and F will look up or down and space bar jumps.

Teleport and Spawn in Copy, Share, and Downloads - The fields teleportwebid, teleportwebtype, and spawnactionzoneid needed to be added to every Copy, Share, and Download related function. It includes but was not limited to the connect, functions, handlers, scripts, and 3D Internet Plugin. The Copy, Share, and Download will now process and preserve these teleport and spawn settings as expected.

Teleport and Spawn Settings when Sharing - When you share a 3D Community, any teleport and spawn settings were not being transferred and included. We now added the teleportwebid, teleportwebtype, and spawnactionzoneid as part of the shared action zones for the community. Note that when downloading a shared 3D Community, only teleports within the same 3D Community will be included. Any additional teleport destinations will be ignored. This may change in the future, but it requires a domain name destination to stay consistent and we do not fully support that yet.

Save Action Zone with Teleport - When saving an action zone not of type teleport, the teleport community was not being cleared from previous use of the form, therefore would sometimes have values when it no longer applies. We updated the code to only set a value for the teleportwebid, teleportwebtype, and spawnactionzoneid if it is a type teleportzone.

Prevent Unloading for Background Tabs - When the browser tab is not the focus, browsers like Google Chrome would automatically unload some of the canvas causing 3D Models to disappear in the 3D Scene. Sometimes the land the avatar is standing on would disappear. This new setting for the engine to renderEvenInBackground will help prevent this from happening by keeping the rendering going in the background. Note that some browsers may throttle down the frames per second for background tabs.

Edit Water Render Corrected - In Admin Mode and working on a 3D Community (under Edit 3D Community, Edit 3D Scene, and Water, Waves, and Wind, select the Advanced Options), when editing the water, it was not rending the changes but removing the water. We now applied the changes using the same render code as the initial load, but with the new possible settings. This allows you to see the changes as you make them. Note that things like land, piers and other 3D objects will not show the refraction in the water until it is refreshed, they have to load after the water to be included in the refraction and it would take too long on each minute change to refresh everything.

Walk Distance and Animation Defaults - We changed the walk distance and animation defaults to 2.6 on the adjustment slider in the browse menu settings under avatar movement as well as the table default.

Walk Distance and Animation Range Increased - When adjusting the Avatar movement speeds in the browse menu settings, we increased the available range of values from .1 to 1 on the low end and 2.9 to 3.9 on the top end. We also increased the default setting from 1.5 to 2.6. This allows higher values for the avatar movement.

Avatar Distance Traveled Increased - We increased the factor that provides the distance traveled for avatars so that the walk, run, and strafe movements all move faster across the ground.

New Avatar Swipe Movement - We have replaced the previous position avatar rotation (horizontal and vertical) with a swipe driven movement. If you swipe a distance less than 1/4th of your screen (horizontal or vertical) you will get a slower rotation. When you swipe more than a 1/4th of your screen, you will get about three times the rotation speed. This change is in the wtw_inputs.js mouse and touch controls (to set the swipe direction, swipe strength, and key pressed array for animations) and in the wtw_avatarfunctions.js swipeRotateAvatar function (to set the rotations).

Touch Timer Changes - Global variables for WTW.touchLeftTimer and WTW.touchRightTimer have been replaced by WTW.touchTimer. With the new avatar swipe movement, there is no longer a need to determine if the touch was left or right side of the screen.

Remove Global Mouse Move Variables - We removed the global WTW.mouseMoveX and WTW.mouseMoveY since adding the new avatar swipe movement, they is no longer needed. The new swipe uses WTW.mouseStartX and WTW.mouseStartY instead.

Avatar Key Runtime Effects Added - In the moveAvatar function and using the new starttime and endtime per animation event (key pressed), we now calculate how long a key is being held down. Using this zruntime variable, we can change the weights of an animation the longer the key is held. For example, when walking or running, the avatar would turn slowly making it easy to adjust and fine tune the direction, but after a second or two, the turn rate will increase to allow the avatar to fully rotate faster.

Added Start Time and End Time to Avatar Running Animations - We added a starttime and endtime properties to the zrunninganims[zanim] array. This allows us to set a time the animation began and ended. When it begins, endtime gets set to null. When an animation ends, the starttime is set to null. These settings are related to when an animation is active = 1, which means that the key, mouse or touch is currently being activated.

Running Events Notation - To assist in reducing code in key functions, we set a zrunningevents variable for zrunninganims[zevent] which effectively is zavatar.WTW.animations.running[zevent] in the moveavatar function.

Running Animations Notation - To assist in reducing code in key functions, we set a zrunninganims variable for zavatar.WTW.animations.running in the moveavatar function.

Added Color Validation to Babylon Files - In the add Babylon Files function, we added validation to check the colors and if it is not the correct format, it will use default settings.

Key in Colors on Molds - When keying in colors on molds, it would allow you to paste, but not type a new color. We added a set color vs a displayed color code so that if the displayed is not valid, it will still use the set color code default value.

Thing Analytics ID during Cancel - When you cancelled the Thing Information form, the analytics id value was being reset to an invalid name analytics instead of analyticsid causing an undefined result. This has been corrected.

Thing Analytics Reloading - When editing a 3D Thing Information, the Google Analytics was not reloading on the form. It has been added to the sequence and now works as expected.

New 3D Web Open Link - After you download a 3D Web in the browser, the link that opens the new 3D Web in the browser for edit is now taking you to the Information Page so that you can start by renaming the new 3D Web.

Share Process Corrected - When trying to share a 3D Web (Community, Building, Thing, or Avatar), the process was receiving a 500 server error. This was caused by the use of an assignment notation instead of equals. It has been corrected and is fully functional.

3D Model Details Format - When the page is adjusted, the 3D Models Details view information was overwriting its container. We adjusted the containers on the page to each use half of the available space.

Improved Avatar Movement - We improved the avatar movement (moveAvatar function) by changing the new maxweight variable to be flexible per type of movement. Starting with, while walking other functions are limited to .3 weight, running limits other animations to .2 weight, and jumping does not allow other animation weights. Effectively, while walking or running, if you also turn, it will still keep the walking or running animation as dominant while keeping the forward movement persistent.

Avatar Movement Variables - The avatar movement variables (zonwalk, zonrun, zonjump, etc) have been moved to a level outside and before the keys pressed iteration. This allows them to be set once per function, instead of possible multiple times within the keys pressed loop. This also includes the conditional checking and setting of each variable.

Set Shown Molds Processing - In the wtw_common.js file, setShownMolds function, the building molds were not being processed after the initial load of a scene. For example, when teleporting to another location in a 3D Community, the buildings would not reappear after they are removed the first time. We corrected the condition to process the building molds when it is in a 3D Community, following the initial load.

No Covering Molds - When a no covering mold (like 3D Models) hit the complete molds function, it would reset the check collisions variable to false (0). We changed the code to check for collisions equal 1 then check the covering before a chance to overwrite the setting. It is working as expected now.

CSG Collisions Settings - When creating a CSG (merge, subtract, or union), the resulting mold was set to check collisions. Now it gets set to the same check collisions setting as the main mold being modified by the second mold.

CSG Remove Check Collisions Setting - When using CSG, the code was defaulting to no collisions. This setting was removed.

3D Text Rendering Group - When adding 3D Text to a scene, the text was not showing in the right render group, causing it to be behind the other items in the scene. We set the renderinggroupid to 1 to correct the issue.

Sorted the Edit Action Zone List - When you select to edit an existing action zone in a scene, the list was not in any particular order. It is now sorted by name so that it is easier to find things on a long list.

Teleport Status and Conditions - In the checkActionZones function, the condition for the teleport was including the init cycle variable. This caused the teleport to only work during the init cycle of a new site visit. We removed the condition. In addition, the teleport to the same 3D Community was not resetting the status of being in the teleport action zone, so it would only work once. It is now being reset when the teleport function is executed. Note that this status does prevent the function from executing multiple times.