0 votes

Currently I'm trying to make a bullet hell game, and as part of the optimization process I'm planning to use CanvasItem.DrawTexture() in a single bullet manager node to draw the bullets instead of using a node for each of the bullets. (see here)

The project contains a set of AtlasTexture with various blue bullet graphics, and I intend to use a ShaderMaterial to apply a hue shift and turn them into other colors.

The problem is that I haven't found a way to do so with the method in question. If anyone can help me out I'd be grateful. Any pointers regarding the use of AtlasTexture or ShaderMaterial are also welcome.

Important: Due to the custom physics involved (for a cross-platform replay system), I'm limited to C# solutions.

Godot version 3.4.4.stable.mono
in Engine by (48 points)

A bit of clarification: I intend to draw multiple bullets with different colors, and afaik ShaderMaterial on a node influences all of the textures drawn by it, so just modifying shader parameters while having just one node draw everything is no-go. (unless I'm wrong)

Please log in or register to answer this question.

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 Frequently asked questions and 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 [email protected] with your username.