0 votes
given this code for spatial.
I want to update the shader paramter only when i change the spatial transform in the editor.



tool
extends Spatial

var centerOfPond

func _process(delta):
    if Engine.editor_hint:
        # how to check if self properties were change in the editor ? 
        centerOfPond = global_transform.origin
        print (centerOfPond,delta)
        get_parent().get_surface_material(0).set_shader_param("centerOfPond",centerOfPond)
Godot version 3.2.3
in Engine by (14 points)

1 Answer

0 votes

You can add global variable with last position of node. Then check each time in _process function if it value does not equal to current. Once they differ update your shader param and save new value to global variable.

by (1,312 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.