My 3d game now only runs on Internet Explorer - three.js

Years ago I make a 3D game on Construct 2 with 3D plugin "Q3D" (Three.js). It runs well in Chrome and Firefox
Suddenly one day, my game it stopped working.
The URL of the game is http://altiplanet.github.io
Is rare because the game run on Internet Explorer.
I view the console but I do not understand anything (various errors appear)
Very Thanks!

Your code uses the setVelocity() method of the PannerNode class from the Web Audio API.
According to the MDN, this method is deprecated and should no longer be in use.
PannerNode.setVelocity() is used in your class C2AudioInstance which is no part of the three.js API.

Related

Cordova Windows 10 App Apps can't load ActiveX controls

This is a very similar problem to this
Win 10 Universal App with Cordova trying to load flash
This app was running fine around 3 weeks ago. It loads video from a CDN, and this seems to be related to the problem.
The error is showing 4 times and seems to stop the video from playing.
APPHOST9603: Can’t load the ActiveX plug-in that has the class ID
'{D27CDB6E-AE6D-11CF-96B8-444553540000}'. Apps can't load ActiveX
controls.
There is also an error when it tries to load Fonts.. so I assume it's related.
There is no ActiveX plugins or anything else being used. It's all HTML5 with WebGL. I don't think I've updated Visual Studio or changed anything.
It makes no sense as to where this has come from.
It's gone away. I'm not sure what it is, but it might have been a security issue, I removed the cross-domain attribute of the video and it seemed to solve it.

Unity3D display Google Admob slow

I intergrated Unity Google Admob plugin for Android but my game takes about 3 seconds to display and close full screen ad. It's make my game ugly.
I think Unity take a time to call native APIs, i'm not sure. I use plugin from Google Team.
Are you have the same thing with me!
Interstitials taking a few seconds to close is a known issue (on Android). I've blamed the performance on Unity though; I tried opening up and closing an empty Activity, not ad related, and it took the same amount of time to close on Android.

Silverlight 5: 3D with XNA on Macintosh

I have acutaly access to an closed beta of an online application developed with silverlight 5. Within there's a feature, showing some 3D scenes. There have been used XNA for the 3D. From a windows-pc all work fine. But when I test it from an Mac with OSX the Silverlight-App works fine, too. But not the 3D feature. In upper left corner there's a information showing: "Render Mode: Unavailable" and "Reason: "Not3DCapable".
So I pushed this example to my IIS. This time from Windows all is fine but when trying to access from OSX (Firefox) it starts to load Silverlight but after showing 100% nothing happens. The scene is not shown.
Does anyone has any clue, what to do to support mac?
Unfortunately I found some other websites like this Blog (see the 3. FAQ) and this Blog (see comments) whose say the same: 3D doesn't work on mac.
Sadly Microsoft seems to keep this fact officially secret. Found this Page where I had expected to read something like "3D not supported". Isn't this sad? I thought Silverlight should be platform independent? I hope they will change their mind and add a support for OpenGL or something like that.

Interactive 3d Web Technology

I would like to use interactive 3D models in a web page. The required functionality is:
Import dxf file which defines & displays a room.
Add/move prebuilt objects from javascript
Add/move lamp which cast shadows from javascript
Return room dimensions to javascript
Return object positions to javascript
Can I import dxf files into any WebGL engine?
I have a small repeat user base so a browser installation is no problem at all. Is there any plugin technology I could use? Java applets? Unity? Can I use an OpenGL engine as a plugin? How about a java3d applet?
I will start with desktop but would need to be targeting tablets soon and mobiles in two years or so.
I am becoming convinced I will need to hire an expert to write this but I want to understand the options. Can you recommend a suitable technology?
I think WebGL is an excellent choice for this application; the graphics functions you describe are well within its capabilities. I can't comment on model loading, though, as I'm not familiar with WebGL engines.
However, mobile is a big wrinkle. Regarding the techniques you mention:
WebGL is supported in Chrome and Firefox for Android. On iOS, Mobile Safari does not enable WebGL, but an implementation exists (used strictly for in-app ads), so it is likely that there may be broader WebGL support in the future (possibly requiring a custom web view wrapper to enable it).
Java applets are not supported by any browser on either Android or iOS.
Unity is a viable choice; the Unity Web Player browser plugin allows embedding Unity content in a web page. However, there is no such plugin for mobile-OS devices; Unity content may be compiled into a application for iOS or Android but it cannot be viewed within a web page.
News as of August 2014: Unity has announced that the upcoming Unity 5 will include publishing to JavaScript + WebGL (no plugin required). Assuming this works as promised, you can use Unity if your target platform has a browser with WebGL support.
So, if you absolutely need cross-platform 3D including iOS right now, Unity is where it's at, but WebGL is a good choice for desktop and Android now and likely to improve on mobile in the future, and is the only way to embed 3D in a web page, not an app across desktop and Android.
WebGL is not the only way to embed 3D in a web page - see phoria.js:
http://www.kevs3d.co.uk/dev/phoria/
https://github.com/kevinroast/phoria.js
Also three.js has a canvas rendering for without web-gl.
Phoria.js and others like it will work on iPhone/iPad and Android phones that don't support web-gl. Of course, the performance is MUCH lower but if you don't have complex models and want it to work everywhere...

Adobe AIR 3.1 Rendering/Input Issue with Steam Overlay (Windows)

I am in the process of porting a Flash Player-based game over to the Desktop (OSX and Windows) via Adobe AIR (3.1). The porting to AIR itself has gone rather smoothly. The one wrinkle I've been dealt is that the game will be distributed over the Steam network. In order to interact with the Steam Client, I've had to write a native extension to expose the Steam SDK APIs to AS3. The native extension support has been implemented for both platforms, and I have the application launching and communicating with Steam as desired.
The area I've run into trouble is dealing with Steam's Overlay, which renders overtop of games when it is activated. Essentially, when a game is launched, the Steam Client suspends the process in order to hook its Overlay library up to either D3D or OpenGL. Initially, the Overlay failed to appear at all as the AIR application descriptor had the default rendermode set to "auto." However, once I switched the rendermode to "gpu" the Overlay would appear as desired.
On the OSX side of things, everything works as expected. I can toggle in and out of the Overlay just fine. On the windows end of the spectrum, I've hit a bit of a problem when I activate the Overlay. Specifically, when the Overlay is enabled (it's rendering overtop of the game) and I either move the mouse or generate keyboard input, both the Overlay and the game both "freeze" (rendering stops) for 2-3 seconds. Additionally, I have noticed that when I open the Task Manager with the game running, the cpu usage is roughly 75-80%. The cpu usage remains the same when I first active the Overlay (which is desired). However, when I move the mouse cursor or press a key on the keyboard, the cpu usage drops to roughly 1%. This problem has occurred on 4 of 5 windows machines (2 XP, 3 Win 7) we've tested on. Naturally, I first contacted Valve about the issue since this only occurs when the Overlay is enabled. I've uploaded both the OSX and Windows builds for their devs to debug; however, my contact suggested I find out more about AIRs rendering/input as well.
Here is a snippet of a post with a Steam Dev detailing how the overlay works:
"The requirements for the overlay on Windows are as follows:
Game must use D3D7, D3D8, D3D9, D3D10, D3D11, or OpenGL
Game must call D3D Present() or OpenGL SwapBuffers() on a fast regular basis (these calls are hooked by the overlay and give it opportunity to do work). For instance 2D games that only call these functions when mouse movement occurs or graphics on screen actually change rather than every frame will not function well.
Game should use standard Win32 input messages, raw Win32 input messages, or DirectInput for input and the overlay will then detect hotkeys and hide/block input events from the game when active.
It sounds like your game may violate #2 and stops calling Present/SwapBuffers sometimes when the overlay is active. This may happen if you call these functions in response to user input which is now blocked due to the overlay being activated. You should guarantee you keep pumping frames and swapping at a regular interval even if input events aren't occurring."
After a little more prodding, the Valve devs profiled my application to determine if there was any specific problem occuring with the Game Overlay. Unfortunately, they were unable to find anything going on in the Overlay itself. This pretty much means that AIR on Windows doesn't like that the Overlay is blocking Win32 input messages. Here is the Valve dev's response:
"I got your depots and did some testing. Nothing unusual happens in the overlay. Profiling your app with xpref while the issue occurs and taking some minidumps to check callstacks it looks like the app just blocks up completely and uses zero CPU during the time it is blocked, when it happens it calls Present() only at roughly 1 second intervals until it recovers (maybe there is a 1 second timeout somewhere in the AIR code). It's hard to get much detail since I don't have any symbols for the AIR runtime libraries.
It does however look like this is somehow related to input state and AIR being unhappy with win32 input messages stopping. If I change our overlay to not block any input at all once activated (which obviously has some pretty big problems for usability, but just for testing purposes.) then the issue does not occur. It's possible that the AIR code has some weird logic where if it's seen some specific WM_WHATVER message it's expecting another right after and blocks on it waiting somehow.
Hopefully you can work out on your side or with Adobe as to why the application behaves badly in these situations and starts blocking and not presenting at regular intervals."
I've posted on the Adobe forums, but haven't had any such luck over there. Mainly, I'm hoping that someone has either dealt with this before or has an idea about how I could possibly get around the issue. Any suggestions, comments or thoughts would be greatly appreciated!
As it turns out, there is an bug deep in AIR core framework that is the root cause of this issue. Adobe has confirmed the bug, and they are working on a fix for the Cyril (AIR 3.3) release. The status of the bug (#3089755) can be viewed in the Adobe AIR bug list.
In the short-term, I was forced to detect Windows messages that were being consumed by the SteamOverlay, and pass on fake messages to prevent AIR from locking up. I accomplished this by using the Windows API SetWindowsHookEx along with the WH_DEBUG and WH_GETMESSAGE hooks. This is definitely not a desirable approach, but was needed in the short-term until Adobe releases a fix.

Resources