Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Raenir Salazar
Nov 5, 2010

College Slice
I was worried that would involve shapekeys or something since I have my rig setup to use bones already but it seems Rhubarb works with normal poses according to their github: https://github.com/scaredyfish/blender-rhubarb-lipsync

Adbot
ADBOT LOVES YOU

danishcake
Aug 15, 2004

Jabor posted:

It seems like Welzl's algorithm (which computes the bounding circle on a Euclidian plane) is trivially portable to your spherical scenario?

I guess the big complication with a sphere is that any circle on the surface could be drawn in two ways, but you can resolve that easily if you can constrain your points such that the true bounding circle is always less than half the sphere.

I ended up doing exactly this, albeit working on a slight variant of the algorithm, which I can't find a name for - non-recursive? The rough modifications for spherical coordinates were:


1. Transforming the input points from angular coordinates into a unit vector
2. The radius of a circle mapped to the dot product between a center unit vector and it's outermost point. This map testing a point to see if it was within the circle as cheap as calculating the dot product with the center.
3. Calculating the trivial two point solution was just a case of lerping between the two points and normalising
4. Calculating the trivial three points solution was trickier, but just maths in the end (see https://gamedev.stackexchange.com/questions/60630/how-do-i-find-the-circumcenter-of-a-triangle-in-3d)
5. Given two fixed points, finding a third required classifying a new centre as 'left/right'. This mapped to the rotation around the axis formed by the two fixed points.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
I feed a monospace font through TextMeshPro in Unity to create a font asset. It complained about not being able to fit one character, which came up as hex 0x200b. I had no idea what this was and looked it up. It Googles as "zero width space." What? Is that a character?

I had also had it create a basic ASCII map. What does it mean to have a 16-bit character showing up in this situation?

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
Allow me to continue sucking the oxygen out of the thread with a different question.

Is there a way to coherently compare two prefabs? It looks like I did something with my global game state prefab when I added something to it after not touching Unity directly in awhile. What I added followed what I did for something else. The result was that not only did the new thing not work, but the previous thing--which I had not edited--also started screwing up. The prefab data is saved in git so I have that diff, but the serialized prefab data is a terrible way to figure out what is going on. I'd like to be able to see if I toggled this or that thing, something was moved, or maybe I actually removed something.

For the current situation I'm in, I'm pretty sure it was a fluke it worked in the first place. The game object in question controlled a subsystem I had written into a MonoBehaviour, and I have no indication that it was ever enabled and active so that Start() could even run on it. I can't trace it anywhere. So I feel like the previously-saved state was actually strange in some way. I'd just like to understand it more and confirm the path I need to take to do it right.

Dirty
Apr 8, 2003

Ceci n'est pas un fabricant de pates

Rocko Bonaparte posted:

It Googles as "zero width space." What? Is that a character?

I had a space problem once, and in tracking it down learned that there are 20 different types of space in UTF-8: http://jkorpela.fi/chars/spaces.html :confused:

From now on, the only space I will use is the MONGOLIAN VOWEL SEPARATOR.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

Dirty posted:

MONGOLIAN VOWEL SEPARATOR.
Is this legal under the Hague Convention?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Rocko Bonaparte posted:

Allow me to continue sucking the oxygen out of the thread with a different question.

Is there a way to coherently compare two prefabs? It looks like I did something with my global game state prefab when I added something to it after not touching Unity directly in awhile. What I added followed what I did for something else. The result was that not only did the new thing not work, but the previous thing--which I had not edited--also started screwing up. The prefab data is saved in git so I have that diff, but the serialized prefab data is a terrible way to figure out what is going on. I'd like to be able to see if I toggled this or that thing, something was moved, or maybe I actually removed something.

For the current situation I'm in, I'm pretty sure it was a fluke it worked in the first place. The game object in question controlled a subsystem I had written into a MonoBehaviour, and I have no indication that it was ever enabled and active so that Start() could even run on it. I can't trace it anywhere. So I feel like the previously-saved state was actually strange in some way. I'd just like to understand it more and confirm the path I need to take to do it right.

If you find something let me know. Can’t build and sell something myself at the moment.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Rocko Bonaparte posted:

Is this legal under the Hague Convention?

I’ll take your spaces and raise you dashes

https://www.fileformat.info/info/unicode/category/Pd/list.htm

dupersaurus
Aug 1, 2012

Futurism was an art movement where dudes were all 'CARS ARE COOL AND THE PAST IS FOR CHUMPS. LET'S DRAW SOME CARS.'

Rocko Bonaparte posted:

I feed a monospace font through TextMeshPro in Unity to create a font asset. It complained about not being able to fit one character, which came up as hex 0x200b. I had no idea what this was and looked it up. It Googles as "zero width space." What? Is that a character?

I had also had it create a basic ASCII map. What does it mean to have a 16-bit character showing up in this situation?

Zero-width space is a way to encourage line breaks in blocks of text without real spaces. I think it's mostly a thing for Japanese and Chinese.

Lutha Mahtin
Oct 10, 2010

Your brokebrain sin is absolved...go and shitpost no more!

Rocko Bonaparte posted:

Is this legal under the Hague Convention?

it's what happens when you pick a fight with ghenghis at the bar and he pops you one in the jaw

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

dupersaurus posted:

Zero-width space is a way to encourage line breaks in blocks of text without real spaces. I think it's mostly a thing for Japanese and Chinese.

How does that manifest in something like an image map? I'd think they could just pluck out some vacant space in the map and call it a day.

leper khan posted:

If you find something let me know. Can’t build and sell something myself at the moment.

I didn't find anything in the asset store but I found a lot of stuff to try to make editing nested prefabs better. I think I will be trying those too because my global state object has nested stuff in it. The only way I know to alter stuff in it right now is to drag it into the scene, do the things, delete the old prefab, and drop the one in the scene back into place. Luckily, it's in revision control, but I kind of anticipate Unity crashing one day between the delete and the copy after doing some aggressive edits.

There's multiple pages of assets in the store with that capability. I shouldn't be surprised any more.

Previously, I didn't really mind Unity's quirks so much but I was toying with it every night. After a multi-month hiatus on that Python interpreter side-project, I came back and have found I have lost all of the Skinner pigeon learning I had done. Now it's a minefield. The bug I had was just the start on that. I wanted to add a scripting console so I tried putting in a TM_Input. Half of it is grayed out; I can't even change the font size. When I run it, it throws an exception inside its own, internal code. So I might as well update Unity off of 2018.2.11f1, which I know will cause a few other assets to poo poo their pants, some new race condition I'll have to fix in my own stuff, and a bonus one-or-two God-knows-what. Instead, I find I have to use this new Unity Hub to download the new one, which has locked up after downloading 100% of the data.

In short, my life:

Absurd Alhazred
Mar 27, 2010

by Athanatos
From the Coding Horrors thread:

repiv posted:

The developer of classic indie game VVVVVV just released its source code to celebrate its 10 year anniversary

https://github.com/TerryCavanagh/VVVVVV/blob/master/desktop_version/src/Game.cpp

tag yourself i'm the 4000 line switch statement that appears to contain most of the gameplay logic

actually no i'm the build instructions urging you to only using debug builds because optimizations break the game

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
Me to me!

Rocko Bonaparte posted:

I didn't find anything in the asset store but I found a lot of stuff to try to make editing nested prefabs better.

I went to monkey with that prefab I was talking about after updating and found a nice, shiny "Open Prefab" button that just let me mess with the thing without having to move it in and out of a scene. Is that new to Unity 2019 or did Odin Inspector level up?

dreamless
Dec 18, 2013



Rocko Bonaparte posted:

I went to monkey with that prefab I was talking about after updating and found a nice, shiny "Open Prefab" button that just let me mess with the thing without having to move it in and out of a scene. Is that new to Unity 2019 or did Odin Inspector level up?

2018.3! The old way still mostly works, thankfully. We had some stuff we'd written to nest prefabs and edit them that would have been a real bummer if it broke when we were forced to upgrade.

Beef
Jul 26, 2004
I noticed Subnautica just enabled incremental GC in a latest patch.

Wait, Unity is still on Bohm after all these years? Not even generational GC? Or is this a case of a dev sticking to a certain Unity version out of fear of breaking everything.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Beef posted:

I noticed Subnautica just enabled incremental GC in a latest patch.

Wait, Unity is still on Bohm after all these years? Not even generational GC? Or is this a case of a dev sticking to a certain Unity version out of fear of breaking everything.

I think unity 2019 finally has something newer?

e: yup; unless it got pushed further. https://blogs.unity3d.com/2018/11/26/feature-preview-incremental-garbage-collection/

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

One thing I've learned doing game jams -- gamedevs are terrified of breaking everything by upgrading unity

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
They have good reason to be. We were a double-A studio, team of 40 people, trying to ship a game on Unity, and I swear they never even tested half their releases. They once released a version with a syntax error right in the stdlib. No project compiled or ran correctly on that version.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
Is there any actual comprehensive, up-to-date documentation on TextMeshPro? I've been having to fidget with the TMP Input Box because I can't deduce anything about it. I eventually had to have it create the asset itself to have it work at all. I eventually got that to be interactive inside my project, but now I'm running into bizarre stuff trying to really use it. I attached to the OnSubmit event and found it triggers twice whenever I hit enter once. I'm trying to figure out if I'm doing something improper with it before I resort to having to attach some kind of state machine to it in order to filter out double submits.

Edit: Okay, "comprehensive" documentation and Unity don't mix together, but is there even anything more than a list of the functions and properties for the class online somewhere?

Rocko Bonaparte fucked around with this message at 20:11 on Jan 13, 2020

Nolgthorn
Jan 30, 2001

The pendulum of the mind alternates between sense and nonsense
Godot engine development seems to be progressing well but as a hobbyist game dev I'm embarrassed to say it has taken me this long to run into an obvious missing feature.

In my base building strategy game I'm trying to make it possible to put things in the base. So I need a script that I attach to the base of all thing scenes (that's prefab for you unity folk), with an inspector good enough on it that I can reuse the same base script on all of them. But I can't really. Because I can't use any custom objects in it.

This is a feature coming in 4.0 which will come out... I have no idea when. Basically if I have generic object types like Point3, which is basically a Vector3 but using ints, which I had to implement myself because godot doesn't have int Vector3's. And I want an array of them, they don't show up in the inspector. I'm certain there's a way to modify the inspector by building a plugin so that it supports my Point3, for example, but unfortunately I can't find any really clear documentation on how to do that. I'd have thought this would be a more common thing that people need.

KillHour
Oct 28, 2007


Having a UI generate sensible input fields for arbitrary custom structs is hard and not at all something I'd expect a game engine to have out of the box as an obvious feature. Even Unity is pretty hit or miss on that and lots of people end up making their own inspectors for custom types.

Nolgthorn
Jan 30, 2001

The pendulum of the mind alternates between sense and nonsense
If I have:
code:
export x: int
export y: int
export z: int
I'd expect the inspector to be able to work it out, and it can, it can even work out how to display arrays and dictionaries. So if I have an array of the above class, I'd expect it to be able to handle that but it gives up without trying. This apparently wasn't too hard to implement according to the pr. Just that godot has a feature freeze so I have to wait until 4.0 or build it myself.

I'd make my own inspector for it if I could find a tutorial about it.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

KillHour posted:

Having a UI generate sensible input fields for arbitrary custom structs is hard and not at all something I'd expect a game engine to have out of the box as an obvious feature. Even Unity is pretty hit or miss on that and lots of people end up making their own inspectors for custom types.

Nolgthorn posted:

I'd make my own inspector for it if I could find a tutorial about it.

I was sympathetic to that particular thing too. You'd think it would let you write your own logic. Like, it would just be some interface to implement or whatever and there you'd have it.

Nolgthorn
Jan 30, 2001

The pendulum of the mind alternates between sense and nonsense
I'm pretty sure it's EditorInspectorPlugin and maybe EditorProperty but I don't know how to use these tools and the docs are empty.

Thinking
code:
func can_handle(object):
    return object is Point3
is part of it but I dunno.

Nolgthorn fucked around with this message at 19:25 on Jan 21, 2020

KillHour
Oct 28, 2007


Typically, tutorials for open source projects tend to be "Learn how to do it yourself because there is no tutorial and put together your own tutorial based on your partial understanding of it, which then becomes the defacto authority on the subject despite being incomplete and potentially incorrect."

Absurd Alhazred
Mar 27, 2010

by Athanatos

KillHour posted:

Typically, tutorials for open source projects tend to be "Learn how to do it yourself because there is no tutorial and put together your own tutorial based on your partial understanding of it, which then becomes the defacto authority on the subject despite being incomplete and potentially incorrect."

Or "thankfully the tools we wrote to use the library are open source with a very forgiving license so you can happily reverse engineer how it works from that."

KillHour
Oct 28, 2007


Absurd Alhazred posted:

Or "thankfully the tools we wrote to use the library are open source with a very forgiving license so you can happily reverse engineer how it works from that."

The majority of people making games as a hobby don't have the skills or time to do this.

xzzy
Mar 5, 2009

KillHour posted:

The majority of people making games as a hobby don't have the skills or time to do this.

No one that actually relies on open source software for their job has the time to do it either. You only hear that from the neckbeards that actually write the libraries.

ButtWolf
Dec 30, 2004

by Jeffrey of YOSPOS
Has anyone here made a procedural tilemap generator in Unity? I'm essentially going for Dead Cells. I sort of know how I'm going to approach it but I am just looking for maybe some tips n tricks that you learned while doing it. Maybe small things that tripped you up. Thanks.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

ButtWolf posted:

Has anyone here made a procedural tilemap generator in Unity? I'm essentially going for Dead Cells. I sort of know how I'm going to approach it but I am just looking for maybe some tips n tricks that you learned while doing it. Maybe small things that tripped you up. Thanks.

There’s nothing terribly special about unity regarding tile maps.

Are you looking for help with representation, tooling, or algorithms?

Absurd Alhazred
Mar 27, 2010

by Athanatos

KillHour posted:

The majority of people making games as a hobby don't have the skills or time to do this.

Thankfully I got paid to get one of those libraries working in our codebase.

KillHour
Oct 28, 2007


Absurd Alhazred posted:

Thankfully I got paid to get one of those libraries working in our codebase.

And how is that relevant to someone trying to make a game in Godot looking for a tutorial on a feature? Unity also publishes a huge chunk of their source (everything written in C#, so anything you'd interface with directly) as a reference, so it's a moot point from even a theoretical comparison standpoint.

Nolgthorn
Jan 30, 2001

The pendulum of the mind alternates between sense and nonsense
My game is going to be so good I'm basically getting paid a million dollars and I'm still not willing to reverse engineer a tutorial about these classes. Indie rts style games always make a ton of money. rite?

ButtWolf
Dec 30, 2004

by Jeffrey of YOSPOS

leper khan posted:

There’s nothing terribly special about unity regarding tile maps.

Are you looking for help with representation, tooling, or algorithms?

Probably need the most help with Rules. So i suppose that would fall under algorithm. I don't want to have a 4000 line case/switch or if/else statement.

Absurd Alhazred
Mar 27, 2010

by Athanatos

KillHour posted:

And how is that relevant to someone trying to make a game in Godot looking for a tutorial on a feature? Unity also publishes a huge chunk of their source (everything written in C#, so anything you'd interface with directly) as a reference, so it's a moot point from even a theoretical comparison standpoint.

I wasn't promoting this reality, I was lamenting it. :shrug:

KillHour
Oct 28, 2007


Absurd Alhazred posted:

I wasn't promoting this reality, I was lamenting it. :shrug:

Sorry, I'm jumpy from having to deal with the mindset of "you have the code, so you should have an encyclopedic knowledge of the entire thing in 5 minutes of looking at it" that I deal with at work.

If I had a dollar for every time I have to explain that knowing what is causing the problem is not the same as having a plan to fix it, nor does it mean I know how long it will take to fix....

Wait, what were we talking about again?

KillHour fucked around with this message at 07:58 on Jan 22, 2020

Doc Block
Apr 15, 2003
Fun Shoe
To be fair, Godot has fairly decent tutorials and reasonable documentation for most things IIRC.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

ButtWolf posted:

Probably need the most help with Rules. So i suppose that would fall under algorithm. I don't want to have a 4000 line case/switch or if/else statement.

http://pcg.wikidot.com/pcg-algorithm:dungeon-generation

There’s a lot of good there. You’ll want to validate that your levels are traversable while generating.

Nolgthorn
Jan 30, 2001

The pendulum of the mind alternates between sense and nonsense

Doc Block posted:

To be fair, Godot has fairly decent tutorials and reasonable documentation for most things IIRC.

Usually.

And it is a really great tool too. I love Godot.

Adbot
ADBOT LOVES YOU

ButtWolf
Dec 30, 2004

by Jeffrey of YOSPOS

leper khan posted:

http://pcg.wikidot.com/pcg-algorithm:dungeon-generation

There’s a lot of good there. You’ll want to validate that your levels are traversable while generating.

thumbsupcoolemoji
Thanks

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply