kestrelm / creature_godot Goto Github PK
View Code? Open in Web Editor NEW2D Skeletal Animation Creature Runtime for Godot Engine
License: Apache License 2.0
2D Skeletal Animation Creature Runtime for Godot Engine
License: Apache License 2.0
It would be great if we could control bone rotation and ttranslation via scripting. That way the player could look in a specific direction (mouse cursor for example).
Hello!
It gives me an error the likes of...
scons: Reading SConscript files ...
Detected MSVC compiler: x86
Compiled program architecture will be a 32 bit executable. (forcing bits=32).
TypeError: can_build() takes exactly 2 arguments (1 given):
File "I:\godot-3.0.5-stable\SConstruct", line 407:
if (config.can_build(selected_platform)):
But when I remove the "creaturegodot" folder, it compiles correctly. I did use the folder that was inside "creaturegodot3".
I get this error:
modules/creaturegodot/gason/gason.h:137:12: error: 'nullptr' was not declared in this scope
In file included from modules/creaturegodot/creaturegodot.h:7:0,
from modules/creaturegodot/register_types.cpp:5:
modules/creaturegodot/CreatureModule.h:242:40: error: expected ')' before '<' token
CreatureManager(std::shared_ptrCreatureModule::Creature target_creatu
^
modules/creaturegodot/CreatureModule.h:251:32: error: 'std::shared_ptr' has not been declared
void AddAnimation(std::shared_ptrCreatureModule::CreatureAnimation an
^
modules/creaturegodot/CreatureModule.h:251:42: error: expected ',' or '...' before '<' token
void AddAnimation(std::shared_ptrCreatureModule::CreatureAnimation an
^
modules/creaturegodot/CreatureModule.h:268:14: error: 'unordered_map' in namespace 'std' does not name a template type
std::unordered_map<std::string, std::shared_ptr<CreatureModule::Creatur
^
modules/creaturegodot/CreatureModule.h:327:44: error: 'std::function' has not been declared
void SetBonesOverrideCallback(std::function<void (std::unordered_map<st
^
modules/creaturegodot/CreatureModule.h:327:52: error: expected ',' or '...' before '<' token
void SetBonesOverrideCallback(std::function<void (std::unordered_map<st
^
modules/creaturegodot/CreatureModule.h:378:32: error: 'std::unordered_map' has not been declared
void AlterBonesByAnchor(std::unordered_map<std::string, meshBone *>& bones_ma
^
modules/creaturegodot/CreatureModule.h:378:45: error: expected ',' or '...' before '<' token
void AlterBonesByAnchor(std::unordered_map<std::string, meshBone *>& bones_ma
^
modules/creaturegodot/CreatureModule.h:380:14: error: 'unordered_map' in namespace 'std' does not name a template type
std::unordered_map<std::string, std::shared_ptr<CreatureModule::Creatur
^
modules/creaturegodot/CreatureModule.h:381:14: error: 'shared_ptr' in namespace 'std' does not name a template type
std::shared_ptrCreatureModule::Creature target_creature;
^
modules/creaturegodot/CreatureModule.h:390:8: error: 'unordered_map' in namespace 'std' does not name a template type
std::unordered_map<std::string, float> active_blend_run_times;
^
modules/creaturegodot/CreatureModule.h:400:14: error: 'function' in namespace 'std' does not name a template type
std::function<void (std::unordered_map<std::string, meshBone *>&) > bon
^
In file included from modules/creaturegodot/register_types.cpp:5:0:
modules/creaturegodot/creaturegodot.h:28:10: error: 'shared_ptr' in namespace 'std' does not name a template type
std::shared_ptrCreatureModule::CreatureManager manager;
^
scons: *** [modules/creaturegodot/register_types.x11.tools.64.o] Error 1
scons: building terminated because of errors.
Hi,
I can build godot 3.1.1 with creature module without any problem for windows, but when i try android_arch=armv7 or android_arch=arm64v8 i get the error below about GLM. I hope I'm not making a silly mistake. I updated visual studio 2019 it don't help.
[ 23%] Compiling ==> modules\creaturegodot\CreatureMetaData.cpp
=====
b'In file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:45:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/transform.hpp:46:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.hpp:292:\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:58:11: warning: GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:99:11: warning: GLM: rotate_slow function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotate_slow function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:232:11: warning: GLM: perspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: perspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:264:11: warning: GLM: perspectiveFov function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: perspectiveFov function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:290:11: warning: GLM: infinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: infinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/matrix_transform.inl:318:11: warning: GLM: tweakedInfinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: tweakedInfinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:46:\r\nIn file included from modules\\creaturegodot\\glm\\gtc/quaternion.hpp:401:\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:626:11: warning: GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:653:11: warning: GLM: roll function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: roll function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:667:11: warning: GLM: pitch function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: pitch function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:681:11: warning: GLM: yaw function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: yaw function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:811:11: warning: GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/quaternion.inl:841:11: warning: GLM: angleAxis function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: angleAxis function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:49:\r\nIn file included from modules\\creaturegodot\\glm\\ext.hpp:116:\r\nIn file included from modules\\creaturegodot\\glm/./gtx/polar_coordinates.hpp:70:\r\nmodules\\creaturegodot\\glm\\gtx/polar_coordinates.inl:28:11: warning: GLM: polar function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: polar function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/polar_coordinates.inl:46:11: warning: GLM: euclidean function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: euclidean function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:49:\r\nIn file included from modules\\creaturegodot\\glm\\ext.hpp:120:\r\nIn file included from modules\\creaturegodot\\glm/./gtx/rotate_vector.hpp:130:\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:24:11: warning: GLM: rotate function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotate function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:79:11: warning: GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:102:11: warning: GLM: rotateY function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotateY function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:125:11: warning: GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:148:11: warning: GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:171:11: warning: GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotateX function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:194:11: warning: GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/rotate_vector.inl:218:12: warning: GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: rotateZ function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:3:\r\nIn file included from modules\\creaturegodot/MeshBone.h:49:\r\nIn file included from modules\\creaturegodot\\glm\\ext.hpp:129:\r\nIn file included from modules\\creaturegodot\\glm/./gtx/vector_angle.hpp:86:\r\nmodules\\creaturegodot\\glm\\gtx/vector_angle.inl:26:11: warning: GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/vector_angle.inl:45:11: warning: GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/vector_angle.inl:65:11: warning: GLM: orientedAngle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: orientedAngle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/vector_angle.inl:90:11: warning: GLM: orientedAngle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message. [-W#pragma-messages]\r\n# pragma message("GLM: orientedAngle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")\r\n ^\r\nmodules\\creaturegodot\\CreatureMetaData.cpp:102:34: warning: lambda capture \'this\' is not used [-Wunused-lambda-capture]\r\n auto getJsonNodeFromArray = [this](JsonNode& json_obj, int idx)\r\n ^~~~\r\nmodules\\creaturegodot\\CreatureMetaData.cpp:518:31: warning: lambda capture \'this\' is not used [-Wunused-lambda-capture]\r\n auto getColorFloat = [this](uint8_t val_in)\r\n ^~~~\r\nmodules\\creaturegodot\\CreatureMetaData.cpp:579:8: warning: unused variable \'radius\' [-Wunused-variable]\r\n auto radius = (float)morph_data.morph_res * 0.5f;\r\n ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:1:\r\nIn file included from modules\\creaturegodot/CreatureMetaData.h:10:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../glm.hpp:110:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../gtc/../common.hpp:32:\r\nIn file included from modules\\creaturegodot\\glm/detail/func_common.hpp:470:\r\nmodules\\creaturegodot\\glm/detail/func_common.inl:720:12: error: use of undeclared identifier \'_isnan\'\r\n return _isnan(x) != 0;\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/packing.inl:143:16: note: in instantiation of function template specialization \'glm::isnan<float>\' requested here\r\n else if(glm::isnan(x))\r\n ^\r\nIn file included from modules\\creaturegodot\\CreatureMetaData.cpp:1:\r\nIn file included from modules\\creaturegodot/CreatureMetaData.h:10:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../glm.hpp:110:\r\nIn file included from modules\\creaturegodot\\glm\\gtx/../gtc/../common.hpp:32:\r\nIn file included from modules\\creaturegodot\\glm/detail/func_common.hpp:470:\r\nmodules\\creaturegodot\\glm/detail/func_common.inl:791:12: error: use of undeclared identifier \'_isinf\'\r\n return _isinf(x) != 0;\r\n ^\r\nmodules\\creaturegodot\\glm\\gtx/../gtc/packing.inl:145:16: note: in instantiation of function template specialization \'glm::isinf<float>\' requested here\r\n else if(glm::isinf(x))\r\n ^\r\n29 warnings and 2 errors generated.\r\n'
=====
scons: *** [modules\creaturegodot\CreatureMetaData.android.opt.armv8.o] Error 1
scons: building terminated because of errors.
Godot Version: 3.1.1 Stable source (compiled with creaturegodot folder from creaturegodot3 folder)
Everything works fine in the editor! It's an awesome product, Creature, and I really want to use it. The guy I made looks great in the editor - walks, jumps, etc. but when I export the game (using a custom compiled template as required) everything works fine until I get to my scene with a CreatureGodot node then the game crashes without an error. I've done debug templates and still no error printed in Godot, so I'm a little lost on what is causing the issue.
I've read that *.json files could be the problem so I added them to be included in the Godot export. Still no luck.
I see on the readme.md that you say Godot 3.0, does this mean 3.0 must be used or is 3.1.1 okay?
Any help would be great! Even if it's just pointing me to the code of this project and changing/updating something. I know a little c++ (kinda). Without an error from Godot, it's hard to determine what is going on to fix the issue.
When attempting to build Godot 3.3.2 with the Creature module, it throws this error and terminates the build:
[ 60%] Compiling ==> modules\creaturegodot\CreatureMetaData.cpp
CreatureMetaData.cpp
[ 60%] Compiling ==> modules\creaturegodot\CreatureModule.cpp
CreatureModule.cpp
[ 60%] Compiling ==> modules\creaturegodot\MeshBone.cpp
MeshBone.cpp
[ 60%] Compiling ==> modules\creaturegodot\creaturegodot.cpp
creaturegodot.cpp
modules\creaturegodot\creaturegodot.cpp(2): fatal error C1083: Cannot open include file: 'core/bind/core_bind.h': No such file or directory
scons: *** [modules\creaturegodot\creaturegodot.windows.tools.64.obj] Error 2
scons: building terminated because of errors.
Godot version: 2.1.4 custom build.
Bulding with plugin code-state in 30 abr 2016 for windows do a plugin that acts equally that your youtube video:
https://www.youtube.com/watch?v=afSObHcj9O8
Building with plugin code-state in 30 may 2016 make a plugin that do not allow to the user to preview animation in editor (only with play-preview, not directly in editor). Nothing changes in screen if you uses "Anim Frame" making unable to do animation-frame directly in godot.
Any of this commits made the regression:
Commits on May 30, 2016
@kestrelm
Updating SCons build for OSX
kestrelm committed on 30 May 2016
c116f8c
@kestrelm
Fixing animation blending bug
kestrelm committed on 30 May 2016
f75573f
the lichlord file
here is the log :
CreatureGodot::load_json() - Loading file:
CreatureGodot::load_json() - ERRROR! Could not load file:
CreatureGodot::load_json() - Loading file: /home/owl/INSTALL/godot/creature2dExample/LichLordProject.creaProj.zip
LoadCreatureJSONData() - Error parsing JSON!
CreatureGodot::load_json() - Finished loading file: /home/owl/INSTALL/godot/creature2dExample/LichLordProject.creaProj.zip
godot.x11.tools.64: modules/creaturegodot/gason/gason.h:85: JsonNode* JsonValue::toNode() const: Assertion `getTag() == JSON_TAG_ARRAY || getTag() == JSON_TAG_OBJECT' failed.
Not sure if this applies to windows builds too, but this crashes godot!
Specifying any invalid path or path to a file that doesnt satisfy creature's node will kill godot entirely.
Hi, new godot version arrived (3.1.2). creaturegodot3 still working with godot 3.1.2 windows target builds. But android target brings some errors. godot 3.1.1 android target still works ok, but 3.1.2.
[Initial build] Compiling ==> modules/creaturegodot/CreatureModule.cpp [Initial build] Compiling ==> modules/creaturegodot/MeshBone.cpp modules/creaturegodot/CreatureModule.cpp:1496:13: error: cannot use 'throw' with exceptions disabled throw "CreatureManager::PoseCreature() - Invalid animation name!"; ^ modules/creaturegodot/CreatureModule.cpp:1567:4: error: cannot use 'throw' with exceptions disabled throw "CreatureManager::PoseCreature() - Invali... ^ scons: building terminated because of errors.
I am not familliar to c++. I improvised totally and removed that conditions in CreatureModule.cpp which cause build errors:
if (animations.count(animation_name_in) <= 0) { std::cerr<<"CreatureManager::PoseCreature() - Animation not found: "<<animation_name_in<<std::endl; throw "CreatureManager::PoseCreature() - Invalid animation name!"; return; }
Now builds apk perfectly. But is that safe ?
OS: debian-10.2.0-amd64
Godot version: 3.1.2
Steps to reproduce error: scons -j4 platform=android tools=no target=release android_arch=armv7
The Godot runtime repo hasn't been touched for many years at this point. It was somewhat problematic and not without its problems for the supported 3.X versions.
Any chance of getting a new and improved runtime for 4.0+ any time?
Many thanks.
Print to console is a very useful tool, but godot modules shouldn´t use that without developer permision because it "slow" execution of the project. There should be an option for disable print to console (with 100 "dinos", the proyect delay a lot in preview). Print to console is a tool designed to the game developer not the engine developer, there is an option in godot for "verbose stdout" that shows a lot of info for image mappings, etc... maybe creature should print only with this option active, or give to the user the chance to disable print (the last is better, because verbose stdout throw a bunch of blocks of info and creature prints will be lost in that)
When I compile Godot 3 with creaturegodot plugin inside the module folder I'm getting an error message on my cmd:
C:\tmp\godot-3.0>scons platform=windows
scons: Reading SConscript files ...
Detected MSVC compiler: x86
Compiled program architecture will be a 32 bit executable. (forcing bits=32).
TypeError: can_build() takes exactly 2 arguments (1 given):
File "C:\tmp\godot-3.0\SConstruct", line 407:
if (config.can_build(selected_platform)):
I'm assuming it's a creaturegodot module issue because when I compile Godot 3 without the module it compiles fine. Anyone knows how to solve this?
I'm using the Godot 3.0 stable branch.
Output
$ scons platform=windows bite=64 scons: Reading SConscript files ... Configuring for Windows: target=debug, bits=default Found MSVC version 14.2, arch amd64, bits=64 Checking for C header file mntent.h... (cached) no scons: done reading SConscript files. scons: Building targets ... Compiling ==> modules\creaturegodot\creaturegodot.cpp creaturegodot.cpp modules\creaturegodot\creaturegodot.cpp(456): error C2653: 'VS': is not a class or namespace name modules\creaturegodot\creaturegodot.cpp(456): error C3861: 'get_singleton': identifier not found modules\creaturegodot\creaturegodot.cpp(831): error C2039: 'REAL': is not a member of 'Variant' D:\Software\Godot\godot\core/variant.h(77): note: see declaration of 'Variant' modules\creaturegodot\creaturegodot.cpp(831): error C2065: 'REAL': undeclared identifier modules\creaturegodot\creaturegodot.cpp(831): error C2660: 'ClassDB::add_property': function does not take 3 arguments D:\Software\Godot\godot\core/class_db.h(353): note: see declaration of 'ClassDB::add_property' modules\creaturegodot\creaturegodot.cpp(832): error C2039: 'REAL': is not a member of 'Variant' D:\Software\Godot\godot\core/variant.h(77): note: see declaration of 'Variant' modules\creaturegodot\creaturegodot.cpp(832): error C2065: 'REAL': undeclared identifier modules\creaturegodot\creaturegodot.cpp(832): error C2660: 'ClassDB::add_property': function does not take 3 arguments D:\Software\Godot\godot\core/class_db.h(353): note: see declaration of 'ClassDB::add_property' scons: *** [modules\creaturegodot\creaturegodot.windows.tools.64.obj] Error 2 scons: building terminated because of errors.
In order to make a sprite flash white in Godot, you need to apply a shader. This is a common use case for when you want a player or enemy to flash white upon, say, taking damage.
However, applying a shader to a Creature node inside of Godot causes any transparency specified in your animation set to vanish. For example:
In this image, we see the player character's hose isn't spraying any goop- and the enemy character has no blood droplets present.
The image above shows what happens when we apply any shader material to our Creature sprite- every element present in the initial mesh reappears.
This effectively causes all Creature animated objects to be incompatible with shaders entirely- which can be a substantial issue.
My guess is that different portions of the mesh are being hidden by the Creature node via a shader behind the scenes. I'm also guessing that fixing this issue might be relatively complicated.
However, if that's the case I was wondering if it would be possible to expose that shader's code, so we could then extend it via new functionality in our own projects. Ex: Copy the shader present, but then add the white-out variable and functionality to all non-transparent elements.
Switching to a different animation clip with blend_to_animation is not behaving as expected.
I modified the script in the testPlugin project to the following :
extends CreatureGodot
var counter=0
func _ready():
# Called every time the node is added to the scene.
# Initialization here
set_process(true)
pass
func _process(delta):
self.update_animation(delta)
counter+=1
if counter==100:
self.blend_to_animation("default0",0.01)
The scene starts with the 'default' animation playing, and should start to blend to the 'default0' animation smoothly after 100 frames, over a time controlled by blend factor, but instead it snaps immediately. Blend factor seems to play no role whatsoever.
Hi,
There is a tutorials for "unity" or "unreal engine" about normal map but i can't see for godot. Actually, adding normal map in godot quite easy for sprites. But "creature node" is not sprite. Maybe a little tutorial about it can be handy.
For example to play a different shoot/hack animation clip on the upper half of the body, while the bottom half is walking or running- ability to trigger two animations independently via player input is key.
The blend method can only be used for transitioning.
The feature seems to be completely missing/is undocumented at the moment, while spine2d and dragonbones have it - both documented and demonstrated!
Is it possible to make a Creature Node inside Godot's 3D environment?
I've made "beautiful" 3D background ... but I found out Creature Node can only be made inside the 2D scene.
I'm trying to make a half 2d/3d game, would love to make 3D background, while the characters are 2D sprites.
I checked out the 3.0 branch and added the creaturegodot folder to modules/
Compiling goes fine but I'm getting a linking error:
scons: Reading SConscript files ...
Detected MSVC compiler: amd64
Compiled program architecture will be a 64 bit executable (forcing bits=64).
YASM is necessary for WebM SIMD optimizations.
WebM SIMD optimizations are disabled. Check if your CPU architecture, CPU bits or platform are supported!
Checking for C header file mntent.h... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
Linking Program ==> bin\godot.windows.opt.tools.64.exe
Creando biblioteca bin\godot.windows.opt.tools.64.lib y objeto bin\godot.windows.opt.tools.64.exp
modules.windows.opt.tools.64.lib(creaturegodot.windows.opt.tools.64.obj) : error LNK2019: símbolo externo "public: __cdecl JsonAllocator::~JsonAllocator(void)" (??1JsonAllocator@@QEAA@XZ) sin resolver al que se hace referencia en la función "public: __cdecl CreatureModule::CreatureLoadDataPacket::~CreatureLoadDataPacket(void)" (??1CreatureLoadDataPacket@CreatureModule@@QEAA@XZ)
modules.windows.opt.tools.64.lib(CreatureMetaData.windows.opt.tools.64.obj) : error LNK2001: símbolo externo "public: __cdecl JsonAllocator::~JsonAllocator(void)" (??1JsonAllocator@@QEAA@XZ) sin resolver
modules.windows.opt.tools.64.lib(CreatureModule.windows.opt.tools.64.obj) : error LNK2019: símbolo externo "enum JsonParseStatus __cdecl jsonParse(char *,char * *,union JsonValue *,class JsonAllocator &)" (?jsonParse@@YA?AW4JsonParseStatus@@PEADPEAPEADPEATJsonValue@@AEAVJsonAllocator@@@Z) sin resolver al que se hace referencia en la función "void __cdecl CreatureModule::LoadCreatureJSONData(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class CreatureModule::CreatureLoadDataPacket &)" (?LoadCreatureJSONData@CreatureModule@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAVCreatureLoadDataPacket@1@@Z)
modules.windows.opt.tools.64.lib(CreatureMetaData.windows.opt.tools.64.obj) : error LNK2001: símbolo externo "enum JsonParseStatus __cdecl jsonParse(char *,char * *,union JsonValue *,class JsonAllocator &)" (?jsonParse@@YA?AW4JsonParseStatus@@PEADPEAPEADPEATJsonValue@@AEAVJsonAllocator@@@Z) sin resolver
bin\godot.windows.opt.tools.64.exe : fatal error LNK1120: 2 externos sin resolver
scons: building terminated because of errors.
(I'll try again at home so I can upload the same error in English)
While working on my project, I assembled an animation like the following. I use the r/g/b levels to create a silhouette in some elements, then activate the strike effect. It's an over the top teleport attack. As part of the movement, I fling the character's sleeve/ cloak off their body. In the Creature2D editor, it appears as follows:
That's not how it appears in either my game, or the web player, however.
The opacity change works- but not the color change. Therefore, the character doesn't become a silhouette- and you can instead see them in all their ugly glory.
I've tried by checking "Colors" and "Premultiply Alpha" but had the same results. I also opened up the json file, and can't find any references to red, blue, or green values. The opacity is being recorded fine, however.
I am currently on a Pro license, using the Windows version of the tool.
I try to export your example of the "dino" with the custom windows templates with the creature module, and no mathers I pack all the files in executable, pck or zip in godot export, or if I use json file of the dino directly in the plugin or packed in the zip, the plugin doesn´t work in export. The files are exported (there is no problem in godot export, I configured that to export .json and .zip). The console shows that creature are unable to find json file. I think that the problem is that it try to find the file in "./" and not in "res://", but not sure.
I forgot: the plugin works in editor.
Edit: Godot version 2.1.4.
Export templates: Windows custom with and without debug in 64 bits.
More info:
Exporting project packed in exe (and json unzipped) throws:
CreatureGodot::load_json() - Loading file: ./utahraptorExport_character_data.json
CreatureGodot::load_json() - ERROR! Could not load file: ./utahraptorExport_character_data.json
Exporting project with assets packed in zip and json file unzipped:
Creature try to find the file inside the executable if it will be a directory.
I am having a challenge building the creature plugin for godot using the latest version of Godot 3.1. I can easily compile Godot but when I copy the creaturegodot (from the creaturegodot3 folder) and put it in the modules folder and retry the scons command it always breaks on the godot module with this exception
See below. Can someone give me some guidance on how I can resolve this issue?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.