Про Godot и GDScript. Часть первая. Начало...

Mar 05, 2016 11:17



Осваиваю новый движок, ибо хотя BGE очень удобный и привычный (в том числе из-за полноценного Python), однако очень много сложностей с финальной 'обёрткой' готового приложения и экспортом под иные платформы... да и развивают его как-то слабо (хотя есть инсайдерская инфа про новые крутые изменения, но про исправление глобальных недостатков пока молчок).

В итоге, выбор пал на Godot; тем более, что 'на днях' вышла версия 2.0 с большим количеством правок и новых интересных фишек. Движок уже вполне взрослый, стабильный и насыщен фичами, да и развивается весьма успешно. К тому же, как и BGE,- open-source software! А с недавнего времени ещё и часть Open Source Initiative. В общем, изучаем'с.

Попутно решил первую задачку в GDScript касательно #NodeGraphShader, а именно мне требовалось смещать UV для текстуры. В итоге, решил это добавлением VectorConstant в канал UV, а в скрипте просто устанавливаю значение по Y. (можно было и вообще без скрипта, точнее сделал и такой вариант, с активацией нодом Time... но скриптом понтовее! :))

Код:
____________________________________
#testuvslide
extends MeshInstance

var x = 0

func _ready():
set_process(true)

pass

func _process(delta):

var b = get_mesh().surface_get_material(0).get_shader().vec_const_node_get_value(1, 4)
get_mesh().surface_get_material(0).get_shader().vec_const_node_set_value(1, 4, Vector3(0, x, 0))

if x > -.99:
x = x-.01
else:
x = 0

print(b)

pass
____________________________________

Пошёл простым путём, добавил нод _вектор_констант_ и меняю ему значение. Текстурка 'едет' вниз, то есть по оси 'Y'.

Возможно позже, для ещё большей ощущаемой плавности, добавлю поправку на задержку отклика (delta). А пока смотрится гоd0tно и в такой, более простой реализации.

Я доволен. :)

^
P.S. Мне тут поведали, что к постам надо обязательно аттачить картинки, а то как бы типа не модно мол - так что вот вам пачка в тему. :)

#godot #game #engine #gdscript #development #blender #bge #programming














shader, gdscript, development, godot, blender, game, bge, visual, engine, programming

Previous post Next post
Up