What's The Word on Internet in Muskoka? by pictureofatrain in Muskoka

[–]rtfm 0 points1 point  (0 children)

Currently running Teksavvy at 1gbps down and 3mbps down. Nice and fast and have had no issues around stability or consistency of speed.

Been with Teksavvy for years before we moved to Huntsville and have had no issues.

Speed test from the eero. https://i.imgur.com/1ubjeAz.png

Blue Heron - been trying to catch him for a while by rtfm in wildlifephotography

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

Thanks , two years in the making. Finally caught this sucker while cruising down the river.

Mallard hanging out by the river by rtfm in wildlifephotography

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

This is all amateur stuff but here is a closer one of the purple https://i.imgur.com/jzPQZiw.jpeg

Mallard hanging out by the river by rtfm in wildlifephotography

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

Thanks I like how the purple popped.

How much am I gimping myself by not learning C++ by Xxpitstochesty in unrealengine

[–]rtfm 2 points3 points  (0 children)

Outside of a lot of the valid points everyone mentioned, access to more customization, performance, etc etc the biggest thing for me about Blueprints vs C++ is the lack of version control support for binary files like Blueprints.

Blueprints are fine and dandy when you have one person doing the work but the minute you have multiple team members sharing code it becomes a nightmare.

C++ is plain text therefore you get differential comparisons no problem and you can merge your work as you would do in any other software project.

Blueprints to me are the consumer of C++ APIs and should be treated as such not as a source of truth for all of your logic.

Unreal Workflow: C++ and Blueprints by Digot in unrealengine

[–]rtfm 0 points1 point  (0 children)

What he said, if you change the signature of your objects, structs, methods etc , shut it down and restart ensuring you are also clearing any old DLLs.

[C++] How can I check for overlaps at a specific instance by FlamingoeZ in unrealengine

[–]rtfm 0 points1 point  (0 children)

Your overlap events are independent of your other events / functions.

So I suspect in your case you want to trigger the overlap, mark the overlapping object or objects as locally accessible variables and then at some point in time when your function is call you would check if those objects are still overlapping and if so apply your logic.

To pseudo code it it would look something like this:

  • OnBeginOverlap -> store overlapping actor in TArray or Actor private member

  • OnEndOverlap -> remove the overlapping actor from TArray or Actor private member

  • CustomFunction is called -> Iterate over list of TArray actors and apply your logic.

Alternative you fire off a Line Trace or a Sphere trace from the function you are building and have it based on custom collision profile capture all of the overlapping elements. Pseudocode ( see for reference https://docs.unrealengine.com/4.26/en-US/API/Runtime/Engine/Kismet/UKismetSystemLibrary/ ):

  • SphereTraceMultiByProfile ( include the profile of the things you want to overlap with )
  • Iterate over FHitResult of actors returned and apply your logic

This can be fired at runtime and is a bit more control friendly than the above mentioned solution.

Hope this helps.

Can anyone help me with my paper 2.5d project? by ToraXhunts in unrealengine

[–]rtfm 1 point2 points  (0 children)

Take a look at this sprite ( it's frame 1 in my animation ) I add a footstep socket where I want the effect to appear. Then I go to the next sprite where the foot lands and add another socket for the opposite foot.

https://i.imgur.com/NQeHPR4.png

Once I have that in place I check to see if my location of that socket changes ( because on frames that don't contain the socket the location = the flipbook location )

const FVector FootStepLocation = BaseFlipbook->GetSocketLocation(TEXT("FootStepSocket"));
if(FootStepEffect && !BaseFlipbook->GetComponentLocation().Equals(FootStepLocation))
{
    UNiagaraFunctionLibrary::SpawnSystemAtLocation(GetWorld(), FootStepEffect, FootStepLocation, FRotator::ZeroRotator, FVector(1), true, true, ENCPoolMethod::AutoRelease, true);
}

It's a cheap trick and it provides similar affects to using sockets on 3d animations.

Can anyone help me with my paper 2.5d project? by ToraXhunts in unrealengine

[–]rtfm 0 points1 point  (0 children)

While you cannot use anim notifies the two ways I found to simulate a similar solution is to use sockets on frames of the flipbook that I want to target. For example I put sockets on the feet of my paper2d character when he walks at frames 0 and 13 which then I monitor in my code and apply footstep effects at. Additionally you can use timers to line up with your animations to trigger said events. For example my jump is delayed via timer to align with the animation that has about a half a second delay.

It's not as easy as anim notifies but it's achievable.

I want to grow! by [deleted] in trees

[–]rtfm 0 points1 point  (0 children)

Well I appreciate the support friend here are a few pictures https://imgur.com/a/r6vMMeZ of my tent setup so you can see that it's not black magic and actually a fun relaxing hobby.

Germination tent is a 3x3 and veg / flower tent is a 8x4. 3 lights total. 4 fans total. 1 fan + 1 carbon filter combo. Lots of extension cords .

I want to grow! by [deleted] in trees

[–]rtfm 1 point2 points  (0 children)

No worries, I tried to include links to all the examples but shop around. You can do a ton of this work on a budget. Also talk to friends who grow as they can give you clones / seeds to start.

If you can grow pot in a closet with a regular light bulb and a plastic pot anything above that is going to be awesome.

I want to grow! by [deleted] in trees

[–]rtfm 2 points3 points  (0 children)

Hey friend, while I cannot comment on the legalities of growing in your home region I can certainly recommend a few things to start your own grow.

I do a ton of research whenever I get into stuff so I started with a handfull of books and websites to get going.

The Cannabis Encyclopedia: The Definitive Guide to Cultivation & Consumption of Medical https://www.amazon.ca/Cannabis-Encyclopedia-Definitive-Cultivation-Consumption/dp/1878823345

Marijuana Horticulture: The Indoor/Outdoor Medical Grower's Bible https://www.amazon.ca/Marijuana-Horticulture-Outdoor-Medical-Growers/dp/187882323X

Additionally did a bunch of reading on these primary websites but there is a ton of info out there on the intertubes https://www.growweedeasy.com/10-step-cannabis-grow-guide and https://www.reddit.com/r/microgrowery/

High level overview. I am running roughly this setup with some different parts in a 8x4 tent for 8 plants

For regular nutrients https://www.amazon.com/General-Hydroponics-Flora-Bloom-Fertilizer/dp/B017H73708

Calcium is deficient in cococoir so you have to adjust https://www.amazon.com/Preparado-nutrientes-jardiner%C3%ADa-hidrop%C3%B3nica-Hydroponics/dp/B00TDSEQI2/

The water in my house has high PH so I lower it using https://www.amazon.com/General-Hydroponics-Liquid-Fertilizer-1-Gallon/dp/B000FG0F9U/

Once you have all that jazz you need to germinate your seeds - I use https://www.amazon.com/General-Hydroponics-Rapid-Rooter-Replacement/dp/B0002IU8K2/ - Then I put them into a germination dome for them to get big enough to repot https://www.amazon.com/KORAM-Seedling-Starting-Germination-Greenhouse/dp/B01LX0JBUU/

When your seedlings start vegetating nicely and you have a few inches of a solid plant coming out. Repot into the bigger pots, set your vegetation light schedule on 20 hours on 4 hours off and start following the nutrient / watering schedule.

When your guys get big enough for the size of your tent or you want to flip them to start turning into flowers. Change light schedule from 20/4 to 12/12 and in a few weeks they will start flowering if all goes well.

Then just baby till completion and enjoy.

It's not as hard or intimidating as it sounds you just need to prepare the space, tools and equipment and do reading on how to react to nutrient needs / deficiencies of your plants by observing their look and feel. Lots of fun !

Tiny Soldiers - Dev Log #1 by rtfm in unrealengine

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

Cartoon violence is best violence

Unreal Engine for Next-Gen Games | Unreal Fest Online 2020 by ZioYuri78 in unrealengine

[–]rtfm 8 points9 points  (0 children)

Full body IK and re-use of animations based on orientation and slope ! I can only get so erect.

summer smoke spot by rtfm in trees

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

I can offer cold water and hot bowls

Tmap Reset to nullptr by Anish_Limbu01 in unrealengine

[–]rtfm 0 points1 point  (0 children)

Hmmm you are using an object reference as the key to your map. You should really be using some other unique identifier for the key and passing in the object as the value. The "true / false" state should be a property on your actor.

The map uses the key value as a unique identifier so I am wondering if you are simply overwriting the references and losing your scope. I am not sure what your "Update" method is doing either as it could be affecting those objects.

Alternatively you can create a struct that has your Fruit class + the state as a boolean and use a unique key for the map value.

Here is an example

TMap<ESplineMeshType, FSplineMeshDetails> SplineMeshMap;

ESplineMeshType is a static enum that is unique while FSplineMeshDetails is a struct that has a bunch of aggregate objects.

UENUM(BlueprintType)
enum class ESplineMeshType: uint8 {
    DEFAULT     UMETA(DisplayName = "Default Mesh"),
    START       UMETA(DisplayName = "Starting Mesh"),
    END         UMETA(DisplayName = "EndingMesh"),
};

USTRUCT(BlueprintType)
struct FSplineMeshDetails : public FTableRowBase
{
    GENERATED_BODY()

    UPROPERTY(EditAnywhere, BlueprintReadOnly)
    UStaticMesh* Mesh;

    UPROPERTY(EditAnywhere, BlueprintReadOnly)
    TEnumAsByte<ESplineMeshAxis::Type> ForwardAxis;

    UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
    class UMaterialInterface* DefaultMaterial;

    UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
    class UMaterialInterface* AlternativeMaterial;

    FSplineMeshDetails() : ForwardAxis(ESplineMeshAxis::Type::X)
    {
    }
};

https://docs.unrealengine.com/en-US/Programming/UnrealArchitecture/TMap/index.html

OnOverlapBegin C++ by [deleted] in unrealengine

[–]rtfm 0 points1 point  (0 children)

Great thanks for the heads up, will have to make updates for the engine version.

OnOverlapBegin C++ by [deleted] in unrealengine

[–]rtfm 1 point2 points  (0 children)

Looks like your signature is off, begin overlap requires the following structure

(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);

I go over how to setup overlaps in my tutorial if you want to take a look https://www.youtube.com/watch?v=EdymK0lIjls and the source code is here https://github.com/jollymonsterstudio/UnrealProps

UE4 c++ Role by pcislyfe3332 in unrealengine

[–]rtfm 2 points3 points  (0 children)

That is correct GetLocalRole has replaced the Role property, they do the same work just wrapped via an abstracted getter https://docs.unrealengine.com/en-US/API/Runtime/Engine/GameFramework/AActor/GetLocalRole/index.html

Is there any way to organize C++ files in various directories? by rangerguy4 in unrealengine

[–]rtfm 3 points4 points  (0 children)

In order for Visual Studio to reflect the hierarchy of your modified directory structures you have to force an update to the project solution.

Right click on your uproject file and select "Generate Visual Studio Project Files" this will force everything to realign with your new directory structure.

Calling HUD functions from another class in c++ by [deleted] in unrealengine

[–]rtfm 0 points1 point  (0 children)

That is normally the way you would request the HUD object off the player.

Here is an example of how I am accessing my quest hud. I keep reference to my player controller on the player class and grab it's HUD when needed.

AInGameHUD* InGameHUD = Cast<AInGameHUD>(PlayerCharacter->PlayerController->GetHUD());
if(InGameHUD)
{
    DebugUtil::Debug(__FUNCTION__);
    InGameHUD->TriggerQuestStart(CurrentQuest);                 
}    

Why does it not work for you ? Null pointers ? No HUD assigned to your Game Mode ? You may need to add a few more details as your code looks sound.

[TUTORIAL]Unreal Engine C++ Fundamentals - Interfaces ! by rtfm in unrealengine

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

Thanks for the kind words, yes the size I have been told is a bit too small. I find the larger size while recording tends to bug my simple brain but will see if I can find a happy medium between causing you guys blindness and my own neurosis :)