Skip to content

Commit 7fdb65e

Browse files
Added native C++ support to move robot head
1 parent 46b8e01 commit 7fdb65e

14 files changed

+2273
-18
lines changed

CMakeLists.txt

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,6 @@ project(AnimationTest)
33

44
set(CMAKE_CXX_STANDARD 11)
55

6-
# # CMake to help local projects find the build dir
7-
# set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../build/lib")
8-
# set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../build/lib")
9-
# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../build")
10-
# set(HEADER_COPY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../build/include")
11-
#
12-
# # Copy header files to the output directory so they can be used
13-
# # by other projects in development.
14-
# file(
15-
# COPY ${CMAKE_CURRENT_SOURCE_DIR}/revolve
16-
# DESTINATION ${HEADER_COPY_DIR}
17-
# FILES_MATCHING PATTERN "*.h"
18-
# )
19-
206
include_directories(
217
${CMAKE_CURRENT_SOURCE_DIR}/src/godot_headers
228
${CMAKE_CURRENT_SOURCE_DIR}/src/godot-cpp/include/
@@ -26,10 +12,13 @@ include_directories(
2612
set(ANIMATION_TEST_SRC
2713
src/gdexample.cpp
2814
src/gdlibrary.cpp
15+
src/procedural_moving_skeleton.cpp
2916
)
3017

3118
add_library(animationtest SHARED ${ANIMATION_TEST_SRC})
3219

20+
target_link_libraries(animationtest ${CMAKE_SOURCE_DIR}/src/godot-cpp/bin/libgodot-cpp.linux.release.64.a)
21+
3322
# install stuff
3423
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR})
3524

Robot.gd

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
extends Skeleton
2+
3+
# class member variables go here, for example:
4+
# var a = 2
5+
# var b = "textvar"
6+
var time = 0
7+
8+
func _ready():
9+
# Called when the node is added to the scene for the first time.
10+
# Initialization here
11+
print("Bone count: {0}".format([get_bone_count()]))
12+
13+
print("Bones:")
14+
for i in range(get_bone_count()):
15+
print("{0}\t{1}".format([i, get_bone_name(i)]))
16+
17+
func _process(delta):
18+
# Called every frame. Delta is time since last frame.
19+
# Update game logic here.
20+
time += delta
21+
22+
var transform = Transform()
23+
transform = transform.translated( Vector3(0, time * 10, 0) )
24+
25+
var bone_id = find_bone("neck01")
26+
set_bone_pose( bone_id, transform )

Root Scene.tscn

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
[gd_scene load_steps=4 format=2]
2+
3+
[ext_resource path="res://robot_inherited.tscn" type="PackedScene" id=1]
4+
[ext_resource path="res://icon.png" type="Texture" id=2]
5+
[ext_resource path="res://bin/gdexample.gdns" type="Script" id=3]
6+
7+
[node name="Spatial" type="Spatial" index="0"]
8+
9+
_sections_unfolded = [ "Transform" ]
10+
11+
[node name="Scene Root" parent="." index="0" instance=ExtResource( 1 )]
12+
13+
_sections_unfolded = [ "Transform" ]
14+
15+
[node name="Camera" type="Camera" parent="Scene Root" index="1"]
16+
17+
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.5234, 18.4971 )
18+
keep_aspect = 1
19+
cull_mask = 1048575
20+
environment = null
21+
h_offset = 0.0
22+
v_offset = 0.0
23+
doppler_tracking = 0
24+
projection = 0
25+
current = false
26+
fov = 70.0
27+
size = 1.0
28+
near = 0.05
29+
far = 100.0
30+
31+
[node name="Sprite" type="Sprite" parent="." index="1"]
32+
33+
position = Vector2( 0, -1 )
34+
texture = ExtResource( 2 )
35+
offset = Vector2( 64, 64 )
36+
script = ExtResource( 3 )
37+
_sections_unfolded = [ "Animation", "Offset" ]
38+
39+

bin/gdexample.gdnlib renamed to bin/animationtest.gdnlib

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ reloadable=true
77

88
[entry]
99

10-
OSX.64="res://bin/osx/libgdexample.so"
11-
Windows.64="res://bin/win64/libgdexample.so"
12-
X11.64="res://demo/bin/x11/libgdexample.so"
10+
OSX.64="res://bin/libanimationtest.so"
11+
Windows.64="res://bin/libanimationtest.so"
12+
X11.64="res://bin/libanimationtest.so"
1313

1414
[dependencies]
1515

bin/animationtest.gdns

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[gd_resource type="NativeScript" load_steps=2 format=2]
2+
3+
[ext_resource path="res://bin/animationtest.gdnlib" type="GDNativeLibrary" id=2]
4+
5+
[resource]
6+
7+
class_name = "ProceduralMovingSkeleton"
8+
library = ExtResource( 2 )

bin/gdexample.gdns

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[gd_resource type="NativeScript" load_steps=2 format=2]
22

3-
[ext_resource path="res://demo/bin/gdexample.gdnlib" type="GDNativeLibrary" id=1]
3+
[ext_resource path="res://bin/animationtest.gdnlib" type="GDNativeLibrary" id=1]
44

55
[resource]
66

default_env.tres

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,101 @@
11
[gd_resource type="Environment" load_steps=2 format=2]
2+
23
[sub_resource type="ProceduralSky" id=1]
4+
5+
radiance_size = 4
6+
sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
7+
sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
8+
sky_curve = 0.25
9+
sky_energy = 1.0
10+
ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
11+
ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
12+
ground_curve = 0.01
13+
ground_energy = 1.0
14+
sun_color = Color( 1, 1, 1, 1 )
15+
sun_latitude = 35.0
16+
sun_longitude = 0.0
17+
sun_angle_min = 1.0
18+
sun_angle_max = 100.0
19+
sun_curve = 0.05
20+
sun_energy = 16.0
21+
texture_size = 2
22+
323
[resource]
24+
425
background_mode = 2
526
background_sky = SubResource( 1 )
27+
background_sky_custom_fov = 0.0
28+
background_color = Color( 0, 0, 0, 1 )
29+
background_energy = 1.0
30+
background_canvas_max_layer = 0
31+
ambient_light_color = Color( 0, 0, 0, 1 )
32+
ambient_light_energy = 1.0
33+
ambient_light_sky_contribution = 1.0
34+
fog_enabled = false
35+
fog_color = Color( 0.5, 0.6, 0.7, 1 )
36+
fog_sun_color = Color( 1, 0.9, 0.7, 1 )
37+
fog_sun_amount = 0.0
38+
fog_depth_enabled = true
39+
fog_depth_begin = 10.0
40+
fog_depth_curve = 1.0
41+
fog_transmit_enabled = false
42+
fog_transmit_curve = 1.0
43+
fog_height_enabled = false
44+
fog_height_min = 0.0
45+
fog_height_max = 100.0
46+
fog_height_curve = 1.0
47+
tonemap_mode = 0
48+
tonemap_exposure = 1.0
49+
tonemap_white = 1.0
50+
auto_exposure_enabled = false
51+
auto_exposure_scale = 0.4
52+
auto_exposure_min_luma = 0.05
53+
auto_exposure_max_luma = 8.0
54+
auto_exposure_speed = 0.5
55+
ss_reflections_enabled = false
56+
ss_reflections_max_steps = 64
57+
ss_reflections_fade_in = 0.15
58+
ss_reflections_fade_out = 2.0
59+
ss_reflections_depth_tolerance = 0.2
60+
ss_reflections_roughness = true
61+
ssao_enabled = false
62+
ssao_radius = 1.0
63+
ssao_intensity = 1.0
64+
ssao_radius2 = 0.0
65+
ssao_intensity2 = 1.0
66+
ssao_bias = 0.01
67+
ssao_light_affect = 0.0
68+
ssao_color = Color( 0, 0, 0, 1 )
69+
ssao_quality = 0
70+
ssao_blur = 3
71+
ssao_edge_sharpness = 4.0
72+
dof_blur_far_enabled = false
73+
dof_blur_far_distance = 10.0
74+
dof_blur_far_transition = 5.0
75+
dof_blur_far_amount = 0.1
76+
dof_blur_far_quality = 1
77+
dof_blur_near_enabled = false
78+
dof_blur_near_distance = 2.0
79+
dof_blur_near_transition = 1.0
80+
dof_blur_near_amount = 0.1
81+
dof_blur_near_quality = 1
82+
glow_enabled = false
83+
glow_levels/1 = false
84+
glow_levels/2 = false
85+
glow_levels/3 = true
86+
glow_levels/4 = false
87+
glow_levels/5 = true
88+
glow_levels/6 = false
89+
glow_levels/7 = false
90+
glow_intensity = 0.8
91+
glow_strength = 1.0
92+
glow_bloom = 0.0
93+
glow_blend_mode = 2
94+
glow_hdr_threshold = 1.0
95+
glow_hdr_scale = 2.0
96+
glow_bicubic_upscale = false
97+
adjustment_enabled = false
98+
adjustment_brightness = 1.0
99+
adjustment_contrast = 1.0
100+
adjustment_saturation = 1.0
101+

project.godot

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ config_version=3
1111
[application]
1212

1313
config/name="AnimationTest"
14+
run/main_scene="res://Root Scene.tscn"
1415
config/icon="res://icon.png"
1516

1617
[rendering]

robot.escn

Lines changed: 969 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)