Commit graph

1206 commits

Author SHA1 Message Date
Moritz Brückner 420033c86d Add API to set Nishita density parameters 2021-03-26 20:59:26 +01:00
Moritz Brückner 845d2aff93 Use switch/case for uniform links 2021-03-26 15:39:18 +01:00
Moritz Brückner 8d812548c4 Use 2D LUT for Nishita skies 2021-03-25 23:29:34 +01:00
knowledgenude 1ad1d564bd
Fix clamp node 2021-03-16 18:27:42 -03:00
N8n5h c7211542b4 Make pointLightData work with lights with cast_shadow=false 2021-03-14 23:21:02 -03:00
Moritz Brückner 5f55b00710 Begin with Nishita LUT implementation for better performance 2021-03-11 23:16:44 +01:00
Alexander Kleemann aec10274f4 Add option to ignore irradiance for baked environments 2021-02-20 15:30:18 +01:00
Alexander Kleemann f1858550d0 Blending fix
Fix for https://github.com/armory3d/armory/issues/1615
2021-02-20 13:51:25 +01:00
SunDaw c5855ad96f Add mask option to pick RB node and physicsworld 2021-02-19 19:42:18 +01:00
Lubos Lenco 84663bc981
Merge pull request #2106 from SunDaw/optimize-sendevent-nodes
Remove array allocation from SendEventNode
2021-02-16 15:48:57 +01:00
knowledgenude 0ee35adc81 Improved FSM 2021-02-14 19:21:26 -03:00
Lubos Lenco 49a599dc66
Merge pull request #2102 from N8n5h/light-fix-2
Add support for shadow map atlasing
2021-02-14 16:32:59 +01:00
SunDaw 6cbe539098 Reuse contacts array instead of creating new
Remove unused import from PhysicsWorld
2021-02-13 17:23:16 +01:00
SunDaw a2e4850b12 Remove array allocation from SendEventNode
Remove entires member variable from SendEvent nodes
2021-02-13 16:56:21 +01:00
N8n5h 1c3e24a8fd Add support for shadow map atlasing
With this it is now possible to enable atlasing of shadow maps, which solves the existing limitation of 4 lights in a scene. This is done by
grouping the rendering of shadow maps, that currently are drawn into their own images for each light, into one or several big textures. This was
done because the openGL and webGL version Armory targets do not support dynamic indexing of shadowMapSamplers, meaning that the index that
access an array of shadow maps has to be know by the compiler before hand so it can be unrolled into if/else branching. By instead simply
using a big shadow map texture and moving the dynamic part to other types of array that are allowed dynamic indexing like vec4 and mat4, this
limitation was solved.

The premise was simple enough for the shader part, but for the Haxe part, managing and solving where lights shadow maps should go in a shadow map
can be tricky. So to keep track and solve this, ShadowMapAtlas and ShadowMapTile were created. These classes have the minimally required logic
to solve the basic features needed for this problem: defining some kind of abstraction to prevent overlapping of shadowmaps, finding available
space, assigning such space efficiently, locking and freeing this space, etc. This functionality it is used by drawShadowMapAtlas(), which is a
modified version of drawShadowMap().

Shadow map atlases are represented with perfectly balanced 4-ary trees, where each tree of the previous definition represents a "tile" or slice
that results from dividing a square that represents the image into 4 slices or sub-images. The root of this "tile" it's a reference to the
tile-slice, and this tile is divided in 4 slices, and the process is repeated depth-times. If depth is 1, slices are kept at just the initial
4 tiles of max size, which is the default size of the shadow map. #arm_shadowmap_atlas_lod allows controlling if code to support more depth
levels is added or not when compiling.

the tiles that populate atlases tile trees are simply a data structure that contains a reference to the light they are linked to, inner
subtiles in case LOD is enabled, coordinates to where this tile starts in the atlas that go from 0 to Shadow Map Size, and a reference to a
linked tile for LOD. This simple definition allows tiles having a theoretically small memory footprint, but in turn this simplicity might make
some functionality that might be responsibility of tiles (for example knowing if they are overlapping) a responsibility of the ones that
utilizes tiles instead. This decision may complicate maintenance so it is to be revised in future iterations of this feature.
2021-02-04 17:53:59 -03:00
Kevin Leung 4ee1131f6e
[PickLocation] Actually return null when input invalid 2021-01-29 20:54:34 +08:00
knowledgenude 6ef1195816 Update inputmap and add FSM 2021-01-25 20:19:24 -03:00
knowledgenude 081fcb2870 update-inputmap 2021-01-11 18:14:21 -03:00
QuantumCoderQC 80ea09671c Fix Exporter and conversions for Physics World in Blender 2.9.X 2021-01-06 20:26:43 +01:00
knowledgenude ae057508ca
Fix mouse wheel key verification 2021-01-04 12:09:30 -03:00
knowledgenude 24f62623ad add-inputmapper 2021-01-04 11:28:59 -03:00
QuantumCoderQC 174ce72349 Correct Spacing 2020-12-27 00:35:24 +01:00
QuantumCoderQC 4ee36afc0c Add Speed and Loop options for Play Action From Node 2020-12-27 00:29:03 +01:00
Lubos Lenco 2dcd1a951b
Merge pull request #2066 from knowledgenude/master
Fix inverted margin for Kinematic Character
2020-12-26 10:22:31 +01:00
QuantumCoderQC a0422d49f2 Improve physics constraint handling 2020-12-23 16:03:45 +01:00
knowledgenude f836e597d1 fix-inverted-margin 2020-12-22 20:49:03 -03:00
Lubos Lenco 6ee5af2518
Merge pull request #2062 from QuantumCoderQC/conFix
Fix adding physics constraint at game start
2020-12-19 11:20:39 +01:00
QuantumCoderQC 2f911c756e Remove physics constraint helper trait 2020-12-17 15:05:46 +01:00
QuantumCoderQC bf22d7add6 Fix physics constraints at start-up 2020-12-17 15:01:21 +01:00
knowledgenude 8c1baa2e9a add-world-vector-to-local-space-node 2020-12-16 17:24:43 -03:00
Lubos Lenco e2231c7f16
Merge pull request #2055 from MoritzBrueckner/shader-uniform-node
Add SetShaderUniform node
2020-12-16 10:48:10 +01:00
Moritz Brückner b03e15edba Add 'stream' option to Play Sound nodes 2020-12-13 22:53:36 +01:00
Moritz Brückner 62dbc5f34a Add SetShaderUniform node 2020-12-13 22:41:05 +01:00
Lubos Lenco 9f35d55bd3
Merge pull request #2047 from QuantumCoderQC/bcon_nodes
New Physics Constraint nodes. Improve Bullet Physics constraint trait
2020-12-06 09:19:14 +01:00
Lubos Lenco bcfbdae925
Merge pull request #2045 from knowledgenude/master
Fix volume trigger
2020-12-06 09:16:12 +01:00
QuantumCoderQC 71763f9e47 Custom constraint node implemetation 2020-12-05 01:12:59 +01:00
QuantumCoderQC 8a1b59ef8b Haxe implementation of AddPhysicsTrait. 2020-12-05 01:12:59 +01:00
QuantumCoderQC 300f5e37ea Add documentation. Cleanup. 2020-12-05 01:12:59 +01:00
QuantumCoderQC aab7a027c6 Add support functions to set limits. Add documentation. 2020-12-05 01:12:59 +01:00
QuantumCoderQC d87be744b2 Change SetDecativationParams in node to setUpDeactivation to prevent runtime errors. 2020-12-05 01:12:59 +01:00
QuantumCoderQC ca9be33152 Added addPhysicsConstraint and removePhysicsConstraint methods. Added internal Map to keep track of PhysicsConstraints 2020-12-05 01:12:59 +01:00
QuantumCoderQC 951f8298b8 Modify to use iron.object.Object instead of String for objects to be linked by PhysicsConstraint 2020-12-05 01:12:59 +01:00
QuantumCoderQC 49e06b4b63 New helper class to add physics constraints via Blender Armory exporter 2020-12-05 01:12:59 +01:00
knowledgenude d726e8fc83 fix-volume-trigger 2020-12-04 07:20:42 -03:00
E1e5en 1867975099 Fix OnSwipe
Correction of determining the direction of UP-LEFT.
Wrong 9 degrees =)
2020-12-01 21:18:12 +03:00
Lubos Lenco 468da22b5b
Merge pull request #2029 from knowledgenude/master
Added functions to disable/enable collision
2020-11-30 10:41:42 +01:00
Lubos Lenco 5ff3ec9055
Merge pull request #2028 from QuantumCoderQC/rb_nodes
New Add rigid body node
2020-11-30 10:38:20 +01:00
knowledgenude 8a30a94523
Added functions to disable/enable collision 2020-11-29 10:15:47 -03:00
QuantumCoderQC d71284560e Implemented a new node to add rigid bodies to objects at run-time 2020-11-29 01:16:59 +01:00
QuantumCoderQC 1aa60e9315 Add params and flags description. Modify force deactivation to use deactivation in rigid bodies 2020-11-29 01:08:28 +01:00
Moritz Brückner 068a539f60 Forward renderpath: add support for chromatic aberration 2020-11-28 23:09:07 +01:00
Lubos Lenco 607c5e57cf
Merge pull request #2024 from MoritzBrueckner/mouse-movement
Improve `Get Mouse Movement` node
2020-11-28 12:30:52 +01:00
Moritz Brückner 0acadd2e74 Improve Get Mouse Movement node 2020-11-26 10:00:35 +01:00
Lubos Lenco 73cae5406e
Merge pull request #2023 from E1e5en/ln-math-expression
LN Math Expression
2020-11-26 08:49:04 +01:00
knowledgenude ce629455ad
Update VectorFromBooleanNode.hx 2020-11-19 13:57:39 -03:00
knowledgenude cc481ea15c fix-nodes 2020-11-19 10:38:46 -03:00
E1e5en 9ab9d5c5db LN Math Expression
First version:
- Dynamically checking the correctness of an expression in the IDE (Blender).
- The task is divided into 2 parts: checking the correctness through python in the Blender interface and when performing calculations when the application is running in haxe.
The following decisions are taken as a basis:

python - http://repl.it/3xv/1
haxe - https://github.com/maitag/formula (added all the necessary classes to the node code)
2020-11-19 11:41:24 +03:00
knowledgenude 97bbf0b9d2
fix-missing-return-dynamic 2020-11-18 14:07:23 -03:00
knowledgenude 17b4cb2028 update 2020-11-18 13:50:24 -03:00
knowledgenude ba7a897142 update-triggers 2020-11-17 17:55:53 -03:00
knowledgenude e46a86d4f5
Update GetCursorStateNode.hx 2020-11-17 17:47:17 -03:00
knowledgenude 46492cc425 fixes 2020-11-17 17:35:22 -03:00
knowledgenude a7863075e2 cleanups-and-renames 2020-11-17 12:01:15 -03:00
knowledgenude 7f82b2ae33 map-range-node 2020-11-14 14:39:32 -03:00
E1e5en 91a2a3e00f LN Vector Math Fix
Fixed error:
On static platforms, null can't be used as basic type Float
2020-11-12 06:56:35 +03:00
Lubos Lenco 25be45bc9e
Merge pull request #1998 from E1e5en/add-quat-math
Quat Math
2020-11-11 15:33:19 +01:00
knowledgenude fde59db1e5 value-changed-node 2020-11-08 17:37:50 -03:00
E1e5en 6b804477b1 Quat Math
1. Move the Quaternion node from Transform to Variable
2. Move the Separate Quaternion node from Transform to Math
3. Added Quaternion Math Node
Linked to PR - https://github.com/armory3d/iron/pull/108
2020-11-08 22:40:01 +03:00
Lubos Lenco 4adb01dc5f
Merge pull request #1994 from E1e5en/ln-vector-math-upgrading
Upgrading the Vector Math Node
2020-11-08 14:12:26 +01:00
E1e5en 7dae9e38d0 Upgrading the Vector Math Node
Dynamically change the number of input and output parameters for the selected operation
2020-11-07 11:14:46 +03:00
knowledgenude 5052d5119b update 2020-11-06 17:31:26 -03:00
knowledgenude 72186140a9 new-nodes 2020-11-06 17:20:28 -03:00
Lubos Lenco d9480bc5b2
Merge pull request #1987 from E1e5en/ln-math-upgrading
Upgrading the Math Node
2020-11-05 10:57:22 +01:00
E1e5en 1352811bcd Upgrading the Math Node
- Dynamically change the number of arguments for the selected operation;
- Exp() operation added.
2020-11-03 09:12:41 +03:00
knowledgenude 4d87a0d3ad fix 2020-11-02 12:55:11 -03:00
knowledgenude 7fcd3dc81d update-local-axis-nodes 2020-11-02 11:51:34 -03:00
knowledgenude fe3e627e5d
Update TransformExtension.hx 2020-11-01 19:23:55 -03:00
knowledgenude f7ec11d5c5 add-worldVecToOrientation-method 2020-11-01 18:17:56 -03:00
Lubos Lenco 4236190f5d
Merge pull request #1976 from E1e5en/detect-mobile-browser
LN Detect Mobile Browser
2020-10-31 17:01:36 +01:00
Henrique fa0e5ae0a4 fix 2020-10-30 15:32:12 -03:00
Henrique 58a0d996aa renames 2020-10-30 15:28:38 -03:00
E1e5en 145686dbf4 LN Detect Mobile Browser
Detect Mobile Browser
2020-10-30 21:22:52 +03:00
Henrique 97d284c946 replace-none-node 2020-10-30 13:22:09 -03:00
Moritz Brückner 6f1f97f9e9 Debug console: add "Set Active Camera" button for camera objects 2020-10-29 20:00:59 +01:00
Moritz Brückner 1d3c9cf23b Whitespace cleanup 2020-10-29 20:00:35 +01:00
Henrique bb1fab992d add-bounce-elastic-to-mix-nodes 2020-10-28 11:16:14 -03:00
E1e5en fb00b4533c
Update GetFPSNode.hx
Checkstyle
2020-10-27 18:23:10 +03:00
E1e5en 658d2546d8 Add LN Get Frames Per Second
This is sometimes more convenient than enable the entire debug console.
2020-10-27 15:56:34 +03:00
Henrique 413951cb62 cleanups 2020-10-26 11:20:50 -03:00
Henrique e7db53cca6 fix-node 2020-10-26 11:00:38 -03:00
Lubos Lenco b81486ac7a
Merge pull request #1954 from E1e5en/get-traits-name
LN for Traits
2020-10-26 09:19:54 +01:00
Henrique ded3a7353d rename-node 2020-10-24 17:20:22 -03:00
E1e5en ef4dbd7611 LN for Traits
1. Modification of CanvasScript and WasmScript classes: added a field to save the name of the script / file in the class.
2. Added logical nodes for working with Traits.
- Get Object Traits - gets an array of Traits for the specified object;
- Get Trait Name - get the Trait name (the name that appears in the list in Armory Traits) and its type (Canvas, Wasm, Bundle, LogicNode or Haxe).
2020-10-24 22:04:47 +03:00
Henrique b942672990 new-vector-to-object-space-node 2020-10-24 14:39:20 -03:00
Henrique 538e66e680 new-vector-from-boolean-node 2020-10-22 15:42:22 -03:00
Moritz Brückner f9e9dfdd41 Fix BlendActionNode for empty action sockets 2020-10-21 19:30:21 +02:00
Moritz Brückner 74d6b594a6 Two new logic nodes for the "Random" category 2020-10-19 18:21:56 +02:00
E1e5en 1a34e202a7 Add Android Settings + LN Set Vibrate
1. For the new settings to fully function, you need to update the submodules so that this Pull Request (https://github.com/Kode/kincmake/pull/100) gets into armsdk. Extended settings via khafile.js.

2. Added Android Settings panel:
- invisible until the target platform android-hl is added to the list;
- inactive until the target platform android-hl is selected in the list.
Options:
- Orientation;
- Compile Version SDK - from 26 to 30, default 29;
- Minimal Version SDK - from 14 to 30, default 14;
- Target Version SDK - from 26 to 30, default 29;
- Permissions - a list of permissions. If I will duplicate entries in the list, then only unique entries will be included during export. By default, the list is empty;
- Android ABI Filters - a list of platforms to build for (arm64-v8a, armeabi-v7a, x86, x86_64). If I will duplicate entries in the list, then only unique entries will be included during export. By default, the list is empty. If the list is empty, then all platforms will be used (as before).

3. The enum (names of permissions) and the function have been added to the utils.py modules, which adds the specified value to the list of permissions. Feature added for ease of use from different locations (different logical nodes).

4. List of permissions:
- ACCESS_COARSE_LOCATION - Allows an app to access approximate location;
- ACCESS_NETWORK_STATE - Allows applications to access information about networks;
- ACCESS_FINE_LOCATION - Allows an app to access precise location;
- ACCESS_WIFI_STATE - Allows applications to access information about Wi-Fi network;
- BLUETOOTH - Allows applications to connect to paired bluetooth devices;
- BLUETOOTH_ADMIN - Allows applications to discover and pair bluetooth devices;
- CAMERA - Required to be able to access the camera device;
- EXPAND_STATUS_BAR - Allows an application to expand or collapse the status bar;
- FOREGROUND_SERVICE - Allows a regular application to use Service.startForeground;
- GET_ACCOUNTS - Allows access to the list of accounts in the Accounts Service;
- INTERNET - Allows applications to open network sockets';
- READ_EXTERNAL_STORAGE - Allows an application to read from external storage;
- VIBRATE - Allows access to the vibrator;
- WRITE_EXTERNAL_STORAGE - Allows an application to write to external storage.

5. Added logical node Set Vibrate:
Category: Native
Pulses the vibration hardware on the device for time in milliseconds, if such hardware exists.
Input parameters:
- Milliseconds - time in milliseconds (data type Int, default value 100).
When adding the logical node Set Vibrate, the permission is automatically added to the list, even if the target android-hl has not been added to the export list (using a function from utils.py).
2020-10-17 16:47:54 +03:00
Henrique f2afb4fcdb rename-tilesheet-sockets 2020-10-14 10:56:41 -03:00
knowledgenude 3760d9b36d
Update GetTilesheetStateNode.hx 2020-10-14 10:08:43 -03:00
knowledgenude 56f101e403
Update AnimationStateNode.hx 2020-10-14 10:05:31 -03:00
Henrique be137c3805 get-tilesheet-state-ln 2020-10-14 10:03:47 -03:00
Lubos Lenco aaa699c3cd
Merge pull request #1930 from E1e5en/screen-to-world-space-modif
Modifying the Screen To World Space node
2020-10-14 08:58:37 +02:00
E1e5en 6116c665c4 Modifying the Screen To World Space node
Modifying the Screen To World Space node

Input parameters:
- Screen X - value of screen coordinates along the X axis (data type Int);
- Screen Y - the value of the screen coordinates along the Y axis (data type Int).

Options:
- Separator Out - whether or not to separate the output parameters (vectors) into components (XYZ).

Output parameters:
- World - coordinates of a point in 3D space (Vector data type)
- Direction - normalized direction vector from the camera towards the point/cursor indication (data type Vector).
- X, Y, Z - components of the corresponding vectors (data type Float).
2020-10-13 20:50:30 +03:00
E1e5en c67246cd1a Get System Language - LN
Get System Language
Category: Native
To get the current system language according to the IS0 639 standard.
The Krom platform always returns “en”.
2020-10-13 17:29:50 +03:00
Lubos Lenco 70ae143c9b
Merge pull request #1922 from E1e5en/debug-console-settings
Add Debug Console settings
2020-10-11 16:54:17 +02:00
E1e5en 305878db42 Add Debug Console settings
1. Adding the ability to customize display, scale (size), shortcuts to the DebugConsole class.
2. Adding a function to utils.py to get Debug Console settings from Render: Armory.
3. Added Debug Console settings to the Armory Project interface:
- Enable (default value - False);
- Position (Left, Center, Right, default value - Right);
- Scale Console (from 0.3 to 10);
- Visible.
4. Added transfer of Debug Console settings to exporter.py.
5. Added logical nodes to control DebugConsole while the application is running.
2020-10-10 13:10:34 +03:00
Henrique 93cc768cb8 rename-variables 2020-10-09 17:46:46 -03:00
Henrique 677ae903a2 merge-pause-and-resume-nodes 2020-10-09 17:43:17 -03:00
knowledgenude 7dee6d97b4
Update GetGravityNode.hx 2020-10-05 15:09:15 -03:00
Henrique 1436f9a5a4 improve-ln-descriptions 2020-10-05 14:55:56 -03:00
Lubos Lenco 49b35cbd25
Merge pull request #1910 from MoritzBrueckner/call-function-node
Fix CallFunctionNode
2020-10-05 09:44:55 +02:00
Moritz Brückner f27c885361 Fix CallFunctionNode 2020-10-04 21:33:32 +02:00
Lubos Lenco cc9add8790
Merge pull request #1905 from knowledgenude/master
Logic nodes cleanups
2020-10-03 10:55:46 +02:00
Lubos Lenco 7e6968b7a0
Merge pull request #1906 from E1e5en/on-swipe
Update logic node On Swipe
2020-10-03 10:54:36 +02:00
Lykdraft 3ce253c51a
Bullet: Collision margin was inverted. issue #1707
This should work now as expected.
2020-10-02 15:23:23 +02:00
Henrique 77e93724ba getlenstexture-update 2020-10-01 19:24:21 -03:00
Henrique 737c623a12 ssr-ssao-update 2020-10-01 19:22:46 -03:00
Henrique dd655aa8e1 more-adjustments 2020-10-01 19:18:58 -03:00
Henrique c8b828a6e9 adjustments 2020-10-01 19:16:22 -03:00
E1e5en 937c7eb86b Update logic node On Swipe
Change the data type for the Direction output parameter from Vec3 to Vec4.
2020-10-01 22:11:52 +03:00
knowledgenude b44170720b
Update ColorgradingGetGlobalNode.hx 2020-10-01 16:11:31 -03:00
Henrique a47dafe9ed ln-cleanups 2020-10-01 16:05:47 -03:00
Lubos Lenco 3bc39d82cc
Merge pull request #1897 from MoritzBrueckner/node-docs
Update node docstrings
2020-09-28 20:51:39 +02:00
Lubos Lenco 30088df19c
Merge pull request #1892 from MoritzBrueckner/get-object-node
Get Object node: allow getting objects from other scenes
2020-09-28 20:49:26 +02:00
Moritz Brückner 431630d42e Update node docstrings 2020-09-28 15:58:41 +02:00
Lubos Lenco 95cc79339a
Merge pull request #1893 from MoritzBrueckner/on-application-state
Add "On Application State" node
2020-09-27 20:36:54 +02:00
E1e5en 1fec2d1e20 Get System Name
Get System Name - to get the name of the system while the application is running.

Output parameters:
- System Name — displays the system name as a string;
- List systems for quick comparison.
2020-09-27 20:22:41 +03:00
Moritz Brückner b132d4b171 Add "On Application State" node 2020-09-27 16:57:21 +02:00
Moritz Brückner bb5b7c5863 Fix invalid cast in SpawnObjectNode.hx 2020-09-26 16:33:43 +02:00
Moritz Brückner 2c2ecee2a9 GetObjectNode: allow getting objects from other scenes 2020-09-26 16:33:30 +02:00
knowledgenude fdf24de3fb logic-nodes-labels 2020-09-24 19:49:21 -03:00
knowledgenude 558e22e20e logic-nodes-improvements 2020-09-20 15:10:01 -03:00
E1e5en 9ac4325a00 On Tap Screen - node for handling touches (double, triple…)
Input parameters:

Duration - time during which the number of touches is counted (default value is 0.3 seconds);
Interval - the time that must elapse between touches (default value is 0);
Repeat - the number of touches that need to be done to execute the event (default value is 2).
Output parameters:

Done - event for a successful completed action;
Fail - an event for a failed action;
Tap - event on each touch;
Tap Number - how many times the user has already touched the screen;
Coords - coordinates of the touch.
2020-09-18 08:37:44 +03:00
QuantumCoderQC 648e505617 Custom Particle Trait to enable instancing and instance count 2020-09-16 23:33:22 +02:00
E1e5en 813f77dc0a Logic Node - On Swipe
The node for the swipe event.

Input parameters:
- Time - duration of the swipe (default value 0.15 s);
- Min Length (px) - the minimum length that the swipe must “pass” (default value 100 px).

Output parameters:
- Direction - normalized vector of the swipe direction;
- Length (px) - the length of the swipe (to assess the “strength”);
The Length output parameter is calculated by the vector value (without normalization) to relate to the input value.
- Angle (0-360) - swipe angle in the range from 0 to 360 degrees (0 is on the right, i.e. Vector (1, 0) = 0 degrees).
- States are states with direction output (Up, Down …). By default, they are not displayed, but if you press “Add 4 State”, then 4 states will appear (Up, Down, Left, Right) and if again, then 8 states will already be displayed.
Determining direction for a state:
for 4 directions - "circle" is divided into 4 segments of 90 degrees;
for 8 directions - "circle" is divided into 8 segments of 45 degrees.
2020-09-15 09:08:59 +03:00
knowledgenude d44bf0f4bb
Improved nodes +2 new nodes .hx 2020-09-13 14:08:55 -03:00
Lubos Lenco cde5279a47
Merge pull request #1859 from MoritzBrueckner/canvas-nodes-fix
Fix canvas nodes for invalid element names
2020-09-13 10:28:14 +02:00
Lubos Lenco c03583410e
Merge pull request #1851 from MoritzBrueckner/logic-nodes
Logic nodes overhaul
2020-09-13 10:25:36 +02:00
Moritz Brückner b948641146 Fix indentation 2020-09-11 15:16:40 +02:00
Moritz Brückner 261edbdac9 Fix canvas nodes for invalid element names 2020-09-11 15:13:59 +02:00
Lubos Lenco fc9f36334d
Merge pull request #1854 from MoritzBrueckner/deprecated-nodes
Deprecation warnings for old input nodes
2020-09-10 08:41:52 +02:00
Moritz Brückner af60d2000d Deprecation warnings for old input nodes 2020-09-09 22:05:23 +02:00
Moritz Brückner 2d33398f9f Merge remote-tracking branch 'upstream/master' into logic-nodes
# Conflicts:
#	blender/arm/logicnode/action_set_visible.py
#	blender/arm/logicnode/physics_get_gravity.py
2020-09-09 21:11:49 +02:00
knowledgenude 020f79793e
GetMouseLockNode.hx , GetMouseVisibleNode.hx 2020-09-08 20:11:56 -03:00
knowledgenude 289a6ce21b
CanvasGetVisibleNode.hx 2020-09-08 19:34:13 -03:00
Moritz Brückner 45ce65513b Make the mask node a variable node 2020-09-08 22:11:25 +02:00
Lubos Lenco 2a4bfcb146
Merge pull request #1849 from QuantumCoderQC/patch3
Re-Configure getChild node to search for immediate children only
2020-09-08 20:22:37 +02:00
Lubos Lenco dc16740360
Merge pull request #1847 from QuantumCoderQC/master
Add getGravity method. Fix getGravity logic node.
2020-09-08 20:20:43 +02:00
QuantumCoderQC adf19390e6 Re-Configure getChild node to search for immidiate children only 2020-09-08 15:18:20 +02:00
QuantumCoderQC cc35b01684 Add getGravity method. Fix getGravity logic node. 2020-09-07 22:11:03 +02:00
knowledgenude 2438995069
Update SetActivationStateNode.hx 2020-09-07 11:01:27 -03:00
knowledgenude 6c723eb9c7
Update SetFrictionNode.hx 2020-09-07 11:00:23 -03:00
knowledgenude 2aedf8256e
Update RemovePhysicsNode.hx 2020-09-07 10:59:31 -03:00
knowledgenude b8ccf404e5
Remove rigid body verification 2020-09-07 10:57:39 -03:00
knowledgenude 974ad7cb36
Improve Set Activation node 2020-09-06 15:11:22 -03:00
knowledgenude 1c7b6c4c94
Delete SyncTransformNode.hx 2020-09-06 15:09:55 -03:00
knowledgenude 2ecb8fef39
Update SetActivationStateNode.hx 2020-09-06 12:46:10 -03:00
knowledgenude 32ee67e1db
Update SetActivationStateNode.hx 2020-09-06 11:08:18 -03:00
knowledgenude 42ab00b6ef
RemovePhysicsNode.hx 2020-09-06 10:50:27 -03:00
knowledgenude 1ab9681712
Delete RemoveFromWorldNode.hx 2020-09-06 10:44:12 -03:00
knowledgenude b1e09b6dc4
Set Friction Node and fix Ray Cast mask
Ray Cast node was not considering masks: https://github.com/armory3d/armory/issues/1780
2020-09-05 18:05:03 -03:00
knowledgenude b9fc172691
Fix crashes when object don't have rigid body 2020-09-05 12:27:29 -03:00
knowledgenude dc1ae7aece
+3 physics nodes 2020-09-05 10:30:55 -03:00
Lubos Lenco 5c1b55d221
Merge pull request #1839 from niacdoial/master
fixed a backwards compatibility problem with a node from before armory 2020.09
2020-09-05 10:39:41 +02:00
knowledgenude b178655487
Fix rigid bodies continuing to move when parented
This fixes one more bug from here: https://github.com/armory3d/armory/issues/1830

I don't know if this is a correct fix, but solved a problem for me.

One last bug that stills is the rigid body in "random" places when parented. To fix this, when the rigid body (no matter if active or passive) is parented, it must have Animated checkbox checked. I don't know how to do this. This will solve all problems related to it, except the "Keep Transform" unchecked one.
2020-09-04 20:50:46 -03:00
Lubos Lenco 86ebf8ef05
Merge pull request #1834 from MoritzBrueckner/spawn-collection
Add SpawnCollection node
2020-09-04 10:08:38 +02:00
Moritz Brückner 1dbbc05557 Add SpawnCollection node 2020-09-03 18:53:19 +02:00
niacdoial 8d6f44a34c fixed a backwards compatibility problem with armory < 2020.09 (pre-17daabeb29dfb0a5cc8b4bef840b02b9f83f409d to be exact)
(in that that commit, I tried to make so the new code could use pre-existing nodes without problem, but it seems I partially failed)
2020-09-03 18:18:57 +02:00
QuantumCoderQC 87ab504a61 Apply tansform for RigidBody if Keep Transform 2020-09-03 15:14:01 +02:00
niacdoial 17daabeb29 Improved quaternion and angle handling in logic nodes (+2bugfixes)
- Made so all nodes outputting a quaternion object also output it as a XYZ (vector) + W (float) combination
- Modernized the interface of the "Action/Rotate Object" node, to align on the newer "Action/Set Rotation" node interface  ("Action/Rotate Object Along Axis" is now depreciated, but still usable)
- Fixed a blender-side-only bug with the "Logic/Switch" node (...which technically could have lead to a compile-time problem if exploited the right way)
- Fixed a bug on the "Action/Set Rotation" node: now, quaternion input is automatically normalized in order to avoid accidental scaling
- Added a "Value/Separate Quaternion" node
- Made so the names of some sockets change in the "Set Rotation" and "Rotate Object" nodes, so they adapt to those nodes' input types.
  (Same thing with "Value/Vector From Transform"'s output type)
2020-08-30 15:50:06 +02:00
luboslenco 401ad3a69d Expose render target depth via uniform link 2020-08-28 17:34:22 +02:00
luboslenco a576872c72 Expose render targets via uniform link 2020-08-28 17:07:43 +02:00
QuantumCoderQC c54a5d2bed Upgrade Apply Force at location and Apply Impulse at location to include object rotation 2020-08-28 03:14:49 +02:00
Valentín Barros 476ec0aa49 Use bullet.Bt.CollisionObjectActivationState [see #1731] 2020-08-08 10:50:24 +02:00
Valentín Barros c5efe96f6f Fixes PhysicsConstraint.init Generic6DofConstraint usage for Hashlink. 2020-07-22 10:27:16 +02:00
Moritz Brückner 8e60ff4851 Fix OnContactNode 2020-07-12 00:17:29 +02:00
Moritz Brückner 156030075a Fix SetSceneNode when using json export 2020-07-07 21:06:24 +02:00
Lubos Lenco 78aec97c95
Merge pull request #1744 from MoritzBrueckner/world-export
Multi-world support
2020-07-07 11:07:25 +02:00
tong 1f0a27bae0 Initialize 0 2020-07-06 23:44:04 +02:00
Moritz Brückner 27b3aa5f49 Fix renderpaths for scenes without a world 2020-07-06 22:53:31 +02:00
Moritz Brückner d06f07f2cf Update renderpath skydome drawing to Iron changes 2020-07-06 18:14:58 +02:00
Moritz Brückner ae07dab862 Renderpaths: load new world shaders 2020-07-05 23:30:55 +02:00
tong 313bbbfa84 Initialize var to null 2020-07-05 13:25:10 +02:00
Valentín Barros 34a6a428d2 Fixed armory.trait.PhysicsDrag.update for Hashlink [fixes #1730]
Just enabling the same code used for JavaScript.
2020-07-01 09:26:05 +02:00
Valentín Barros f89ac4ba7d Fixed armory.trait.physics.bullet.PhysicsWorld.rayCast for Hashlink.
Just enabling the same code used for C++.
2020-06-29 12:44:21 +02:00
tong 11a3358879 Replace if conditions with switch 2020-06-27 15:59:53 +02:00
tong 0401033362 Fix ammo lib loading 2020-06-17 19:13:43 +02:00
Lubos Lenco bc2ecab27c
Merge pull request #1724 from tong/js-syntax
Replace __js__ with Syntax.code
2020-06-06 12:20:42 +02:00
tong 807497daf3 Replace __js__ with Syntax.code 2020-06-05 10:53:57 +02:00
Moritz Brückner 2e398c96ba Implement "reflect" operation for VectorMathNode 2020-06-04 22:19:02 +02:00
tong 6c94354da6 Proper debug console log output formatting 2020-05-24 18:28:53 +02:00
Moritz Brückner 03490e44e3 Play Sound node: run "done" on stop 2020-05-16 00:42:12 +02:00
Moritz Brückner 5382399b70 Add retrigger option to Play Sound node 2020-05-16 00:28:52 +02:00
Moritz Brückner 18ebd3444f PlaySoundRawNode: add pause/stop functionality 2020-05-16 00:21:10 +02:00
Moritz Brückner 55ce26c02f PlaySoundRawNode: add loop option 2020-05-15 23:32:48 +02:00
Moritz Brückner 4fa9d8b980 Add optional sample rate setting to PlaySoundRawNode 2020-05-15 23:22:41 +02:00
Moritz Brückner 1d82747fbc onCanvasElementNodes can now listen to hover events 2020-05-14 17:34:39 +02:00
Moritz Brückner c820b4ddc2 onCanvasElementNode: massive performance improvement + better variable names 2020-05-14 17:29:02 +02:00
Moritz Brückner 8cc5d07ad6 Fix onCanvasElement node when Zui is disabled 2020-05-14 17:23:36 +02:00