armory3d / armory

3D Engine with Blender Integration
https://armory3d.org
zlib License
3.06k stars 315 forks source link

Play in Viewport not working #75

Closed Digitalgames closed 7 years ago

Digitalgames commented 7 years ago

Downloaded Armory_preview03_win64

Open Blender

Install/Setup and builded a scene like here

http://armory3d.org/manual/getting_started/scene1.html

Press Play in Viewport - Blender crashes. Viewport does not look like expected / Ingame

Standalone over Electron works but not in Viewport

Console Log

AL lib: (EE) UpdateDeviceParams: Failed to set 48000hz, got 192000hz instead found bundled python: Z:\Armory_preview03_win64\Armory\2.78\python Info: Total files 0 | Changed 0 | Failed 0 Exporting mesh Cube Scene built in 0.005544424057006836 Creating Kha project. Exporting asset 1 of 1 (blur_edge_pass_EnvCol_SSAO.arm). Exporting asset 1 of 1 (compositor_pass_EnvCol_SSAO_CompoTonemap_CompoFXAA.arm). Exporting asset 1 of 1 (deferred_EnvCol_SSAO.arm). Exporting asset 1 of 1 (deferred_indirect_EnvCol_SSAO.arm). Exporting asset 1 of 1 (deferred_light_EnvCol_SSAO.arm). Exporting asset 1 of 1 (ssao_pass_EnvCol_SSAO.arm). Exporting asset 1 of 1 (world_EnvCol_SSAO.arm). Exporting asset 1 of 1 (brdf.png). Exporting asset 1 of 1 (noise8.png). Exporting asset 1 of 1 (Scene.arm). Exporting asset 1 of 1 (World_irradiance.arm). Exporting asset 1 of 1 (World_material.arm). Exporting asset 1 of 1 (mesh_Cube.arm). Exporting asset 1 of 1 (deferred_path_low.arm). Compiling shader 1 of 1 (blur_edge_pass_EnvCol_SSAO.frag.glsl). Compiling shader 1 of 1 (blur_edge_pass_EnvCol_SSAO.vert.glsl). Compiling shader 1 of 1 (compositor_pass_EnvCol_SSAO_CompoTonemap_CompoFXAA.frag.glsl). Compiling shader 1 of 1 (compositor_pass_EnvCol_SSAO_CompoTonemap_CompoFXAA.vert.glsl). Compiling shader 1 of 1 (mesh_EnvCol_SSAO.frag.glsl). Compiling shader 1 of 1 (mesh_EnvCol_SSAO.vert.glsl). Compiling shader 1 of 1 (shadowmap_EnvCol_SSAO.frag.glsl). Compiling shader 1 of 1 (shadowmap_EnvCol_SSAO.vert.glsl). Compiling shader 1 of 1 (deferred_indirect_EnvCol_SSAO.frag.glsl). Compiling shader 1 of 1 (deferred_indirect_EnvCol_SSAO.vert.glsl). Compiling shader 1 of 1 (deferred_light_EnvCol_SSAO.frag.glsl). Compiling shader 1 of 1 (deferred_light_EnvCol_SSAO.vert.glsl). Compiling shader 1 of 1 (ssao_pass_EnvCol_SSAO.frag.glsl). Compiling shader 1 of 1 (ssao_pass_EnvCol_SSAO.vert.glsl). Compiling shader 1 of 1 (world_EnvCol_SSAO.frag.glsl). Compiling shader 1 of 1 (world_EnvCol_SSAO.vert.glsl). Compiling shader 1 of 8 (painter-colored.frag.glsl). Compiling shader 2 of 8 (painter-colored.vert.glsl). Compiling shader 3 of 8 (painter-text.frag.glsl). Compiling shader 4 of 8 (painter-image.vert.glsl). Compiling shader 5 of 8 (painter-text.vert.glsl). Compiling shader 6 of 8 (painter-image.frag.glsl). Compiling shader 7 of 8 (painter-video.frag.glsl). Compiling shader 8 of 8 (painter-video.vert.glsl). Done. Image brdf.png Image noise8.png Uniform envmapStrength not found.

viewport

luboslenco commented 7 years ago

Hi,

  1. Can you attach the blend file? Probably not related but worth a try.

  2. Does it crash if you run the scene1 from examples repo? https://github.com/armory3d/armory_examples/tree/master/scene1

  3. What OS version / GPU are you on?

  4. Does it also crash if you play standalone with Krom selected as runtime?

Digitalgames commented 7 years ago

It crashes on all examples too

System :

Microsoft Windows 10 Pro Version 10.0.14393 Build 14393 Ramsize 16,0 GB Prozessor Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz, 3401 MHz, 4 cores, 8 logical cores GPU NVIDIA GeForce GTX 1060 3GB Driverversion 21.21.13.7290

It does work as standalone with Krom selected but crashes if i then hit p or press play in viewport

viewport 2

luboslenco commented 7 years ago

Hm, so it all seems to work apart from viewport.

In Blender, can you switch to Python Console and paste here output of these lines? import bgl

bgl.glGetString(bgl.GL_SHADING_LANGUAGE_VERSION)

bgl.glGetString(bgl.GL_VERSION)

With this we can figure out what GL version Blender is running at. Also, if possible, please send me the contents of /build folder of any project that crashes. Maybe I will be able to reproduce or find what is wrong by examining the files. Sorry for trouble!

Digitalgames commented 7 years ago

Nah no problem. I hope it can be fixed though

import bgl

bgl.glGetString(bgl.GL_SHADING_LANGUAGE_VERSION) '4.50 NVIDIA'

bgl.glGetString(bgl.GL_VERSION) '4.5.0 NVIDIA 372.90'

Hm. I downloaded this prebuild from Itch.io Armory_preview03_win64 I haven´t build it myself, so do you need this folder / is there a build folder that could be relevant ? I am not good at building stuff. I managed to compile UE4 but haven´t tried to compile blender yet.

luboslenco commented 7 years ago

There should be a /build folder in your project folder with blend file. For example scene1/build. It will be just a few MB and contains compiled project data like shaders and assets.

Please make sure to hit 'P' in that project and let it crash before .zip-ing the build folder so the data will be accurate.

Digitalgames commented 7 years ago

Ah yes i didn´t know this :) I wondered where to get logs or something is must be much more accurate then a log hehe ArmoryTestscene.zip

arturjpv commented 7 years ago

Something related, but not exactly the same problem (Is not crashing for me).

Play in Viewport is not working for me also If I install armory as add-on in Blender 2.78a. If I run the blender version included with the build from itch, 2.78 (not 'a' here) Play in Viewport is working.

The thing is that in the armory included version of blender I see 'Play in Viewport'. When installing as add-on I only see 'Play'. Same for the armory editor; It's only present in the included version.

I ensured that the armory.py was being removed from my blender (2.78a) add-ons folder when uninstalling the previous version and the new one was being placed there.

blender2 78aeditor blender2 78aeditor2 blender2 78editor blender2 78editor2

luboslenco commented 7 years ago

@arturjpv Blender included in the SDK contains a patch to enable Armory rendering in viewport. There is no fast way for 3rd party engine to render inside viewport using standard Blender distribution. There is a way if you pull all the pixels from GPU which is ok for offline renderers but it's slow for realtime rendering. This should get resolved eventually but for viewport rendering bundled Blender is required right now.

@Digitalgames Thanks for the file, still looking at that. By any chance, is there also a crash file generated at C:\Users\user_name\AppData\Local\Temp\blender.crash.txt?

arturjpv commented 7 years ago

Thanks for the explanation. For me it's not a problem opening a new window. Now I know that this is the correct behavior, I though I was mixing installations (different versions of the sdk and armory.py).

I hope the new blender viewport project helps with this.

AlexandreRangel commented 7 years ago

Dear friends, congratulations for the great project! I got Armory yesterday. I'm running Mac OS 10.12.1 on a Macbook Pro, Intel Iris Graphics 6100 1536 MB Retina. I tested Mac preview 2 and 3. After enabling the addon, the play in viewport buttons DOES NOT APPEAR. And when I change a window to Armory windows, it's completly black. P also doesn't work. After many tries, I could only get official Blender 2.78a with addon to run Armory on Electron and browser windows.

luboslenco commented 7 years ago

Hello @AlexandreRangel, thanks for report - can you paste console output? (to show console on Mac you need to run Blender.app - right click - Show Package Contents - Contents/MacOS/blender)

AlexandreRangel commented 7 years ago

Hi, @luboslenco. Thank you for the quick reply. When I run from inside the Packages contents, it shows the button alright! And runs the scene OK in an Armory Blender windows. I get this consistent behavior on my machine. When running version 2 or 3 from the normal distributed Blender icon: no buttons. When getting inside the package contents (version 2 and 3) and running Blender from there: buttons OK.

JeannotLandry commented 7 years ago

All options works for me except Native (which I assume is viewport). But I can run Krom, browser and Electron, but Native don't work, I press play, then the stop appear, then goes back to play like 2 seconds later. I don't mind having a pop window to show the game (used to it with B4W). But it would be nice to have working in the viewport for faster testing.

luboslenco commented 7 years ago

Native is for building C++ targets. To build for Native, a C++ compiler is needed (https://www.visualstudio.com/vs/community/). To play in viewport, launch bundled Blender and press P or Play in Viewport. If it does not work then please provide me with console output.

JeannotLandry commented 7 years ago

Oh, I had no idea I had to run the blender.exe that is in the build. I was just running blender normally! It does work fine if I use that! Awesome!

luboslenco commented 7 years ago

@AlexandreRangel Apparently there is a new security feature in macos 10.12. Will be fixed in next build this week - thanks for discovery!

Digitalgames commented 7 years ago

@luboslenco unfortunately there is no crash log until now. I will check again. Any news on this problem ?

luboslenco commented 7 years ago

@Digitalgames Tested on two Windows machines but so far I am able to run even the build files you provided. Testing on third machine on Friday. I may have to compile a debug build so we get more info out of it:)

Another idea, does it still crash if you select camera and set Properties - Camera Data - Armory Props - Render Path to forward_path_low?

luboslenco commented 7 years ago

@Digitalgames The issue with Play in Viewport crashing on newer nvidia cards is now resolved. Please reopen this if you get a chance to test it and still have troubles.

razcore-rad commented 7 years ago

Armory preview 08b linux64 On Ubuntu 16.10. Seems to be caused by maybe an update in Kha?!

I don't know if this is related, just got Armory3D and it seems it can't compile the shaders? :)

~ ./.config/itch/apps/Armory3D/Armory/blender
Color management: using fallback mode for management
Read new prefs: /home/razvan/.config/blender/2.78/config/userpref.blend
found bundled python: /home/razvan/.config/itch/apps/Armory3D/Armory/2.78/python
measureit: Imported multifiles
version 3 imported
archimesh: Imported multifiles
Hello World
addon not found: 'coa_tools'
cmolcore imported with success! v1.01
Registered Animation Nodes with 409 modules.
MeasureIt: Cleaning data
Info: Total files 1 | Changed 1 | Failed 0
Info: All Groups exported.
MeasureIt: Cleaning data
Info: All Groups exported.

Armory v17.03
Exporting mesh Suzanne
Scene built in 0.028515338897705078
Creating Kha project.
Exporting asset 1 of 1 (blur_edge_pass_Irr_EnvCol_SSAO_SMAA.arm).
Exporting asset 1 of 1 (compositor_pass_Irr_EnvCol_SSAO_SMAA_CToneFilmic.arm).
Exporting asset 1 of 1 (deferred_indirect_Irr_EnvCol_SSAO_SMAA.arm).
Exporting asset 1 of 1 (deferred_light_Irr_EnvCol_SSAO_SMAA.arm).
Exporting asset 1 of 1 (smaa_blend_weight_Irr_EnvCol_SSAO_SMAA.arm).
Exporting asset 1 of 1 (smaa_edge_detect_Irr_EnvCol_SSAO_SMAA.arm).
Exporting asset 1 of 1 (smaa_neighborhood_blend_Irr_EnvCol_SSAO_SMAA.arm).
Exporting asset 1 of 1 (ssao_pass_Irr_EnvCol_SSAO_SMAA.arm).
Exporting asset 1 of 1 (world_Irr_EnvCol_SSAO_SMAA.arm).
Exporting asset 1 of 1 (armdefault_data.arm).
Exporting asset 1 of 1 (Scene.arm).
Exporting asset 1 of 1 (World_irradiance.arm).
Exporting asset 1 of 1 (World_material.arm).
Exporting asset 1 of 1 (mesh_Suzanne.arm).
Exporting asset 1 of 1 (armory_default.arm).
Compiling shader 1 of 1 (armdefault_mesh.frag.glsl).
Compiling shader 1 of 1 (armdefault_mesh.vert.glsl).
Compiling shader 1 of 1 (armdefault_shadowmap.frag.glsl).
Compiling shader 1 of 1 (armdefault_shadowmap.vert.glsl).
Compiling shader 1 of 1 (blur_edge_pass_Irr_EnvCol_SSAO_SMAA.frag.glsl).
Compiling shader 1 of 1 (blur_edge_pass_Irr_EnvCol_SSAO_SMAA.vert.glsl).
Compiling shader 1 of 1 (compositor_pass_Irr_EnvCol_SSAO_SMAA_CToneFilmic.frag.glsl).
Compiling shader 1 of 1 (compositor_pass_Irr_EnvCol_SSAO_SMAA_CToneFilmic.vert.glsl).
Compiling shader 1 of 1 (deferred_indirect_Irr_EnvCol_SSAO_SMAA.frag.glsl).
Compiling shader 1 of 1 (deferred_indirect_Irr_EnvCol_SSAO_SMAA.vert.glsl).
Compiling shader 1 of 1 (deferred_light_Irr_EnvCol_SSAO_SMAA.frag.glsl).
Compiling shader 1 of 1 (deferred_light_Irr_EnvCol_SSAO_SMAA.vert.glsl).
Compiling shader 1 of 1 (smaa_blend_weight_Irr_EnvCol_SSAO_SMAA.frag.glsl).
Compiling shader 1 of 1 (smaa_blend_weight_Irr_EnvCol_SSAO_SMAA.vert.glsl).
Compiling shader 1 of 1 (smaa_edge_detect_Irr_EnvCol_SSAO_SMAA.frag.glsl).
Compiling shader 1 of 1 (smaa_edge_detect_Irr_EnvCol_SSAO_SMAA.vert.glsl).
Compiling shader 1 of 1 (smaa_neighborhood_blend_Irr_EnvCol_SSAO_SMAA.frag.glsl).
Compiling shader 1 of 1 (smaa_neighborhood_blend_Irr_EnvCol_SSAO_SMAA.vert.glsl).
Compiling shader 1 of 1 (ssao_pass_Irr_EnvCol_SSAO_SMAA.frag.glsl).
Compiling shader 1 of 1 (ssao_pass_Irr_EnvCol_SSAO_SMAA.vert.glsl).
Compiling shader 1 of 1 (world_Irr_EnvCol_SSAO_SMAA.frag.glsl).
Compiling shader 1 of 1 (world_Irr_EnvCol_SSAO_SMAA.vert.glsl).
/home/razvan/.config/itch/apps/Armory3D/Armory/armsdk/linux64/Kha/Sources/kha/graphics4/Graphics2.hx:87: characters 34-60 : Class<kha.Shaders> has no field painter_image_frag
/home/razvan/.config/itch/apps/Armory3D/Armory/armsdk/linux64/Kha/Sources/kha/graphics4/Graphics2.hx:88: characters 32-58 : Class<kha.Shaders> has no field painter_image_vert
/home/razvan/.config/itch/apps/Armory3D/Armory/armsdk/linux64/Kha/Sources/kha/graphics4/Graphics2.hx:322: characters 34-62 : Class<kha.Shaders> has no field painter_colored_frag
/home/razvan/.config/itch/apps/Armory3D/Armory/armsdk/linux64/Kha/Sources/kha/graphics4/Graphics2.hx:323: characters 32-60 : Class<kha.Shaders> has no field painter_colored_vert
/home/razvan/.config/itch/apps/Armory3D/Armory/armsdk/linux64/Kha/Sources/kha/graphics4/Graphics2.hx:586: characters 34-59 : Class<kha.Shaders> has no field painter_text_frag
/home/razvan/.config/itch/apps/Armory3D/Armory/armsdk/linux64/Kha/Sources/kha/graphics4/Graphics2.hx:587: characters 32-57 : Class<kha.Shaders> has no field painter_text_vert
/home/razvan/.config/itch/apps/Armory3D/Armory/armsdk/linux64/Kha/Sources/kha/graphics4/Graphics2.hx:816: characters 34-60 : Class<kha.Shaders> has no field painter_video_frag
/home/razvan/.config/itch/apps/Armory3D/Armory/armsdk/linux64/Kha/Sources/kha/graphics4/Graphics2.hx:817: characters 32-58 : Class<kha.Shaders> has no field painter_video_vert

Haxe compiler error.
Build failed, check console

There's no point in adding a blend file is it? I get this error with just one cube + camera and nothing else.

luboslenco commented 7 years ago

@razvanc-r : oh noes, it's related to this: https://github.com/armory3d/armory/issues/135 Looking for a fix that does not require moving the sdk around - sorry for trouble!

razcore-rad commented 7 years ago

Lol, that's a funny bug, good thing it's easy to workaround, I'll give it a shot right away! :dagger:

edit, yep I can confirm, moving the app outside of .config seems to fix this.