The same concept for spot lights was applied for point lights;
the difference is that because point lights require to do the projection in the shader, the first inversion was applied in sampleCube() when returning the uv coordinates.
"_FlipY" was added to replace "_InvY" in "PCFFakeCube()" because the inversion is only necessary for shaders and not anything else, otherwise it would break rendering of other parts.
Windows Settings:
Visual Studio Version - select the studio version for which the project will be exported. Options: 2010, 2012, 2013, 2015, 2017, 2019. Default: 2019.
Update - checks the installed versions of Visual Studio on the PC and adds (installed) to the version in the list if available (for information). Example:
sample_vs_2
Action After Publishing - select an action after a successful publication. Options:
Nothing - do nothing. Default value;
Open In Visual Studio - open the project in the corresponding studio version;
Compile - compilation of the project;
Compile and Run - compile and run the project. Then the executable file will be copied to the windows-hl folder (where the resources are located).
Mode - compilation mode. Options: Debug, Release. Default: Debug.
Architecture - the architecture for which the application will be built. Options: x86, x64. Default: version of the user’s PC architecture.
Compile Log Parameter - setting the output of messages during compilation:
Summary - show the error and warning summary at the end. Default value;
No Summary - don \ 't show the error and warning summary at the end;
Warnings and Errors Only - show only warnings and errors;
Warnings Only - show only warnings;
Errors Only - show only errors.
More details can be found here - MSBuild command-line reference (I took only part of the settings).
Count CPU - specifies the maximum number of concurrent processes to use when building. More details can be found here - MSBuild command-line reference. The default is 1. Maximum value: the number of CPUs in the system (function multiprocessing.cpu_count()).
Open Build Directory - open the folder with the application after a successful build. If the Compile and Run option is selected, then the executable file will be copied to the windows-hl folder (where the resources are located) and this folder will open. Otherwise, the folder where the given Visual Studio file is going will open.
The user will also receive a message if the studio version selected for export and for opening in the studio or compilation is not on the PC. And a list of installed ones will be issued. Example:
Visual Studio 2017 (version 15) not found.
The following are installed on the PC:
- Visual Studio Community 2019 (version 16.8.30711.63)
To obtain information about the installed versions of Visual Studio, use the vswhere.exe utility (open source) included in Kha (located in the …\ArmorySDK\Kha\Kinc\Tools\kincmake\Data\windows).
Added Armory Exporter - HTML5 Settings panel:
- Copy Files To Specified Folder - copy files to the folder specified in the settings after publish. The name of the folder where the result will be copied is formed based on the name of the project and version. Sample, test-1.0.5.
- Run Browser After Copy - run browser after copy. The url is formed from the one specified in the settings and the directory with the project where it was copied. Sample, http: //localhost/test-1.0.5.
Added settings in Render: Armory:
- HTML5 Copy Path - path to copy project after successfully publish (directory on local web-server).
- Url To Web Server - url that runs the local server.
1. Processing data entry into fields:
- Name - the field must not be empty. If the user tries to set an empty value, then this field specifies the name of the blend file (this is how it is implemented during assembly). The default is the name of the blend file.
- Package - the field must not be empty, it must not consist only of numbers and start with a number. The . symbol is replaced with _. The default is arm.
- Bundle - the field must be filled in according to the mask [string].[string]. Each part must not be empty, contain numbers, or start with a number. The default is org.armory3d. Previously, this field was blank, in which case the current default was used.
- Version.
Input in the Version field is processed and only allows input by masks:
- 0.0
- 0.0.0
- 0.0.0.0
In any case, the value is ignored and the previous value remains.
If the (Auto-increment Build Number) checkbox is checked and when performing the operation, Build and Publish will be automatically incremented by one after the version value.
Examples:
it was 1.0 - it is 1.1,
it was 1.9 - it is 1.10,
it was 1.0.1 - it is 1.0.2,
it was 0.1.1.2 - it is 0.1.1.3.
Defaults:
- Version - 1.0.0
- Auto-increment Build Number - enabled.
For all fields, special characters ([] / \ ;,> <& *:% = + @! # ^ () |? ^) Are also replaced with _.
2. Fixed display of Android Settings panel.
Panel Armory Exporter - Android Settings - Build APK:
1. Rename APK To Project Name
Renames the APK file from app-debug.apk to [project-name]-[version] .apk. Example, for the project example_ball.blend, the result will be the name example-ball-1.0.apk.
2. Copy APK To Specified Folder
Copies the final file to the folder specified in Preferences.
Preferences Render: Armory:
1. Copy APK To Folder
The path to the folder where the final APK file will be copied.
2. Open Directory After Copy
Open this folder after copying.
Console messages:
Rename APK to example-ball-1.0.5.apk
Copy APK to C:\IDE\Test
Use-case:
These settings will allow you to have unique names for files, as well as copy them to the required folder for uploading to the device or to the cloud.
This is so you can easily copy and paste it for testing purposes instead of having to build the whole project again.
Alternatively a button to play without build could be added to the blender UI.
Changes compilation_server_done() back to before my change. Updates the path it checks to krom/krom.js.temp, this should prevent it from deleting existing krom.js files on first project launch.
Added a panel with settings:
- Building APK After Publish - to start the build after the project has been successfully published (False by default). Disabled if SDK path is not specified;
- Emulator - list of installed emulators in Android Studio (AVD Manager). At the start of Blender, the list is always empty, to fill and update it, you must click the Refresh button. To start the emulator, if you wish, you need to press the "Start" button (the list of emulators is obtained with the emulator -list-avds command, the launch is performed with the emulator -avd [name] command). The "Start" button is disabled if the name of the emulator is not selected from the list;
- Run Emulator After Building APK - launch the emulator after successfully building the APK file. Disabled if no APK build is installed or no emulator name selected.
To perform these operations, you need to specify the ANDROID_SDK_ROOT environment variable, if it is not specified in the OS, then the "Android SDK Path" setting is read and set as the environment variable os.environ ['ANDROID_SDK_ROOT'] to perform operations.
If no value is specified, then the user receives a corresponding message to the console. If the specified value is incorrect, then the user will receive messages from the corresponding programs.
This has two big advantages:
- One place for variable initialization (and less warnings from pylint etc.)
- No errors due to forgotten cleanups because every scene export now has its own class instance
Add a temporary collection to the scene that links all the foreign objects meshes and collections with meshes to the current scene, have the dependency graph see it and then destroy it.