spine-runtimes icon indicating copy to clipboard operation
spine-runtimes copied to clipboard

[Godot] Support for 3D system

Open julhe opened this issue 1 year ago • 19 comments

It would be nice if the Godot integration supports the 3D system as well. The game we're making is 2D, but Godots 2D system is limited, forcing us to switch to 3D.

By the way, I'm currently maintaining my own branch for this: https://github.com/julhe/spine-runtimes which "works", but a official version would be really cool at some point.

EDIT: Please don't post stuff like "+1". Just upvote, please for the sake of my inbox

julhe avatar Aug 08 '22 15:08 julhe

I considered this for the V1, but as you found in your fork, it's not exactly trivial to get feature parity with the 2D version. It's definitely planned, but not in the short term I'm afraid.

badlogic avatar Aug 08 '22 19:08 badlogic

+1 for 3D support

Aeister avatar Aug 16 '22 13:08 Aeister

+1

NotBadCode avatar Dec 17 '22 07:12 NotBadCode

+1 Very necessary I also want to make 2.5D games

shiouhuamien avatar Jun 06 '23 18:06 shiouhuamien

+1 2D/3D hybrid games are my jam

sun-studios avatar Sep 13 '23 06:09 sun-studios

same here, 2.5D games have this special look and spine is awesome, so we need to combine both :)

jpeinelt avatar Sep 17 '23 19:09 jpeinelt

Yeah, I've been looking forever for 2D puppet animation in 3D support for my Godot projects. The old one I used was DragonBones for Unity, but I can't stick with that one now due to certain recent issues regarding that game engine.

Goy288 avatar Sep 17 '23 21:09 Goy288

Is this feature still planned? When do you plan to add it? Thanks.

josuechopite avatar Sep 18 '23 19:09 josuechopite

I would also like to signal our needs for this feature. Our studio plans are to migrate from libGDX to Godot, but we're working with 3D scenes to create 2.5D games, and having Spine to work with 3D is a must. Really looking forward to this feature, hopefully it gets a priority bump 😊

rafaskb avatar Sep 19 '23 22:09 rafaskb

Folks, everytime you post a "+1" anyone subscribed to the repository gets an email. Could you please instead simply use the "upvote" emoji on the original comment in this issue?

I know this is of importance, but we are a small team and can only do so much given our resources. We couldn't anticipate the influx of Unity users to Godot given recent news, and we are trying our best to get the missing features in spine-godot going for spine-unity users. But we can't simply put all the work for all the other runtimes on the back burner immediately. Resource planning and such, you know :)

badlogic avatar Sep 21 '23 16:09 badlogic

I did manage to get something working with SubViewport. I'm guessing people want this for an HD-2D game or any kind of 2.5D game.

I achieved it by adding a MeshInstance3D and setting mesh to a quad. Add a material override, and set Transparency to Alpha Scissor. This is so shadows can be cast.

Add a SubViewport as a child node. Set Transparent BG to true.

Add a SpineSprite node as a child to SubViewport node. Set the position to the middle of the SubViewport texture (256, 512) if the SubViewport size is 512x512.

Add a script to the MeshInstance3D node

@tool
extends MeshInstance3D

func _ready():
	if material_override != null:
		material_override.albedo_texture = $SubViewport.get_texture()

Done. Works fine. Not sure if it's very scalable as I'm sure there is overhead to this approach, but it'll get me by as I prototype

image

image

Hope that helps anyone coming across this.

brogan89 avatar Sep 26 '23 23:09 brogan89

+1

80dots avatar Dec 03 '23 02:12 80dots

+1

yangqingming avatar Jan 08 '24 06:01 yangqingming

+1

yangqingming avatar Jan 09 '24 06:01 yangqingming

+1

emarino135 avatar Feb 05 '24 18:02 emarino135

Any update on if this will be added anytime soon?

emarino135 avatar Mar 01 '24 20:03 emarino135

Is there any update? I’m still waiting for this feature.

luanhadev avatar Apr 11 '24 13:04 luanhadev

Is there any update? I’m still waiting for this feature.

Why are you waiting for the feature?

  • If you're making a game for production that requires this feature you shouldn't use Godot. Use another engine.
  • If you're making a game for hobby and/or wanting to learn, then there is no rush, you can wait.

Plus you can already get this feature with a workaround, I'm already making a game for production without needing the feature. The workaround I've posted

This is Open Source, they will get it when they're ready, or until someone submits a PR adding the feature.

So if you want the feature, you gotta get in there and get your hands dirty and add it yourself, or patiently wait.

Everyone posting "Any update, is it ready yet?" etc. Is not helping, Its clearly not done yet as the issue is still Open.

EDIT The OP even has his own fork with the fix, have you tried that? I didn't notice it until now, I'll definitely try that out soon. lol @julhe you should submit PR for this :)

brogan89 avatar Apr 11 '24 19:04 brogan89

+1

HKunogi avatar Apr 29 '24 17:04 HKunogi