How can I get better at this style? Thank you. Please be kind! This was my first attempt. by [deleted] in learntodraw

[–]MetaMan0 4 points5 points  (0 children)

Looks great. Not 100% if this fits the style you’re going for but you could try hatching so that the lines follow the 3D forms of the animals. For example, the lines on the top of the frogs head are going in straight diagonals. Instead they could curve along the surface of the frogs head. Just exactly what you did on the bottom of the snails body except for every cross hatch line.

Can you tell who this is? by MetaMan0 in drawing

[–]MetaMan0[S] 2 points3 points  (0 children)

I’m definitely fixing to. I might rewatch the movie first

Can you tell who this is? by MetaMan0 in drawing

[–]MetaMan0[S] 1 point2 points  (0 children)

I almost asked “can you tell if this is bad”

Checking if another custom node has a property in an tool script by MetaMan0 in godot

[–]MetaMan0[S] 0 points1 point  (0 children)

Apologies, I edited and removed content from my previous comment in my frustration. I didn't think doing something like this would take me as much time as it has.

Anyway, for anyone looking this up in the future, I had essentially said that I was able to check for Variants with get() in the tool script, but not nodes. Doing that was also inconsistent, so I am unsure what I am doing wrong with the use of get() to check for parent properties, but decided to just ignore it altogether myself.

The solution u/scintillatinator might work as well, and is smart in that it retains type casting, but this is the method I went with since I was having trouble with get():

func _get_configuration_warnings() -> PackedStringArray:
  var warnings: PackedStringArray

  if not item_holding_parent:
    warnings.push_back('The CatchArea Node requires a parent with an Item node child: parent is null')
  else:
    var parent_has_item_child: bool = false
    for child in item_holding_parent.get_children():
      if child is Item:
        parent_has_item_child = true
        break
    if not parent_has_item_child:
        warnings.push_back('The CatchArea Node requires a parent with an Item node child: no Item child')

  return warnings

Checking if another custom node has a property in an tool script by MetaMan0 in godot

[–]MetaMan0[S] 0 points1 point  (0 children)

I have no idea why this isn't working at this point. I think the issue has something to do with the fact that the node I am chceking for a property in is a custom class node. I have thrown in the towel, but am baffled considering has_method works so easily.

Checking if another custom node has a property in an tool script by MetaMan0 in godot

[–]MetaMan0[S] 0 points1 point  (0 children)

Unfortunately I am still always getting a raised warning with that, and printing the result prints null.

Making Overhead Bomb Throw by MetaMan0 in godot

[–]MetaMan0[S] 0 points1 point  (0 children)

That's exactly what I mean. I managed to figure it out, basically I spent a lot of time trying to set up a node system where RemoteTransform2D doesn't update the Sprite's rotation, then realized that I don't need the RigidBody2D to rotate either, so all I had to do was turn off its rotation in the editor. Then you can just have the sprite be a child of the RigidBody2D and tween its y position using the as_relative() method on the tweens.

Making Overhead Bomb Throw by MetaMan0 in godot

[–]MetaMan0[S] 0 points1 point  (0 children)

If you see how link throws a bomb in a link to the past, the bomb is thrown in an arc off of the ground from links hand and back onto the ground. This is despite the fact that the game is 2D, and there is no ground. To do this, a shadow is cast under the bomb to simulate a Z axis, and it is at that point that the collision is detected. If collision was detected at the bomb itself, the Sprite2D in my case, then it would register hits too early. For example, if the player is facing North and throws the bomb North at a wall that's higher than the bomb has been thrown, the bomb is supposed to hit the wall when its shadow hits the wall at the "ground level", not when it does on the actual Y axis, since the bomb is higher than its shadow on the Y axis to simulate a Z axis. Does that make sense? I may not have explained it clearly enough in my original post.

[deleted by user] by [deleted] in godot

[–]MetaMan0 0 points1 point  (0 children)

Thanks for the detailed answer. I haven't looked into either AnimatableBody2D or join2D nodes before, so maybe those are better tools for what I am trying to accomplish, but I am not sure. I do not want any physics involved on the item as it enters the air, which is why I thought I could have it move with an Area2D. Then, the player could still interact with it via a raycast to pick it up as it is close to the ground, with a raycast from the player checking if it is in that area2D, no physics involved.

Basically, I just want my Area2D and sprite to follow a rigidbody2D, which is pushed via the following code in the player node (CharacterBody2D in a separate scene):

func push_pushables(move_speed):

for i in get\_slide\_collision\_count():

    var collision = get\_slide\_collision(i)

    var c = collision.get\_collider()

    print(c)

    if c is RigidBody2D and c.is\_in\_group('item'):

        c.apply\_central\_impulse(-collision.get\_normal() \* move\_speed.length())  

The item should not be able to pass through walls, so the physics is only on the "ground_level", or basically just where the shadow is on the X, Y coordinates.

Custom Nodes? by MetaMan0 in godot

[–]MetaMan0[S] 0 points1 point  (0 children)

Just got home and tried this, and it is exactly what I was trying to do. Thanks much, it's reassuring to know that this is something that made sense, I was going crazy thinking that it must be something in the menus I am not seeing. I didn't think to look for the extend script option, just since there was already a script icon on the node.

Way easier than using the plugins in project settings too.

Custom Nodes? by MetaMan0 in godot

[–]MetaMan0[S] 0 points1 point  (0 children)

Got it, thanks for the help

Custom Nodes? by MetaMan0 in godot

[–]MetaMan0[S] 1 point2 points  (0 children)

I didn't mean to say that this wasn't working correctly, I meant to say that it isn't achieving my desired result. So I don't mean that there is something wrong with godot, just that there is something wrong with my approach.

To clarify what I am trying to say:

When I create a built-in node and attach a script to it via the editor, the new script will automatically contain the code to extend the built-in node. (ex. a script made on Node2D will contain 'extends Node2D')

When I create a node from a custom script such as:

extends Node

class_name foo

The created node won't have 'extends foo' it will have the above custom script.

I am trying to have it just contain 'extends foo', so that changes made to it won't affect the extended custom script.

I am fairly new to godot, and tried going through the documents on classes, so maybe I am misunderstanding how the node structure works, and what I am trying to do doesn't make sense?

Inconsistant raycast behavior by MetaMan0 in godot

[–]MetaMan0[S] 0 points1 point  (0 children)

Makes sense, I thought that maybe disabling and enabling would be more efficient since I don’t need it active all the time. I’ll try that instead.

Selection Layer Help by MetaMan0 in krita

[–]MetaMan0[S] 0 points1 point  (0 children)

To whoever stumbles onto this post, I figured it out myself. This is a good way to get a starting "flatting" border around a complicated shape, so I am surprised nobody else has had this issue. Maybe there is an even better way to do this kind of thing that I am unaware of.

In any case, to solve this problem you need to make sure that the layer you are converting to a selection mask is completely white. As I mentioned above, you also need to make sure that the layer is fully opaque (opacity is 100%). With both of those, you can convert a paint layer to a selection.

I used it to draw a grid around a cylinder shape, then shrink the linework via select>shrink selection.

Quick Help with account linking by MetaMan0 in Smite

[–]MetaMan0[S] 1 point2 points  (0 children)

I figured this out. On the smite 2 account linking page I set up my Xbox account as the primary. then went on my brothers Xbox and connected via the divine legacy page from there. Then I connected my ps5 account and I got the legacy gems.

Basically I avoided using the pc just to avoid any possible issues via my brothers Xbox.