I tried to put a rotation of 18.94736842105263 into a local rotation node and it is unresponsive. Is this not possible to do? I have 19 symbols on this dial now and that is the exact number I get when i divide 360 by 19 so I assumed that would be what I need. Is there a way to get this to work?
15 decimal places is probably not necessary, a 32 bit float can go up to (roughly) 7 decimal, 64-bit roughly double that, so you may have gone too high, I’m not positive which UE4 uses but most likely 64 bit.
Is the object really tiny? I don’t see any reason to use more than 3-4 decimal places (just round up/down to the nearest number), something like 18.9474 should work fine, you probably won’t notice any difference.
I rounded to 19 and it seemed to do the trick well enough. I don’t know if you have ever played skyrim but their probably as big as one of the dragon claw doors. That’s the only way I could actually reference in scale. but 19 seemed to work. You wouldn’t happen to know how to make a blueprint designed inside of the level blueprint respond to something in a class blueprint (in that order) would you?
Just so I understand this right, you want the level blueprint to be notified when a class blueprint does something? I’m getting confused by “blueprint designed inside of the level blueprint”, but I think you mean a node network within the level BP?
If so there are a couple ways to do this, but the best way would be using an Event Dispatcher.
Basically the way you set this up is by creating an Event Dispatcher in your class BP and have it ‘Call’ the event when some action happens, then in the level BP you need to ‘Bind’ to the event dispatcher and run the logic from the Custom Event (run the nodes that need to be called when the event is fired).
Here is the documentation on how this is done:
There is an example of how this can be used in the Content Examples project as well, they show a few different methods in the Blueprint Communication example map, with additional info here as well:
Hope that helps!
so I get that, i already have something similar to that running from one of my class blueprints to the level blueprint, which is actually allowing me to rotate the dials left and right by using key events E and R. The issue I am having is getting my door to open when all three dials are positioned in the correct way. I need to be able to push the dials in, if the dial is set in the wrong direction, it will push itself back out, but if it is in the correct position it stays. If any of the other dials are pushed in the wrong way the puzzle resets and they all come back out. In the end if all are correctly aligned and the dials are all pushed in, I believe I can have that trigger a matinee event where a stone door will open. is there any examples on having multiple class blueprints communicating with a matinee event? sorry if I am annoying you at all, I have no programming background and am a journalist when I am not working on the unreal, which is pretty much the extent of my knowledge. But because I asked questions like these, I have gotten pretty far ahead in my learning curve.
No worries man, I’m not a pro at this either so I know what it’s like, just learning as I go.
If possible I would keep the logic of the lock inside the lock blueprint, and use events to notify when it is unlocked, this way you won’t need as much communication (especially back and forth to the level BP which can be expensive if done a lot), then you can keep all of the logic inside one BP which is ideal. If a lock is associated with a door blueprint, you could even create a pre-fab blueprint that combines the two as components of a blueprint, which allows easy communication between the lock and the door.
I don’t have much experience with matinee, but you could also use timelines in the blueprint to control for example the door sliding up (setting the height value over a set amount of time), and execute it when the lock BP sends out the “Unlocked” custom event, and you could use a timeline within the lock BP to pop the dial in/out, or just set the value directly. For the most part you should be able to avoid the level BP altogether which helps to make it more re-usable (not tied to the level BP, it can be used anywhere), compartmentalizing objects like this will be better in the long run as you use more of them. I’m not sure how you have it set up, but you could assign each of the dials with a random value in it’s construction script, so every time you place a new on in your scene it would be a different combination.
And look what I just found, this should help:
This reminds me of the eagle/whale/snake pillar combinations in Skyrim, look forward to seeing what you come up with!
thank you, and it’s similar only there are 19 options on either puzzle and there is a total of 3 different dials, so you literally have to find the clues scattered about to find the combo. I cheated a few times on skyrim to get the combo when I first played cause I didn’t realize that the combo was on the walls and such. but I was able to implement some of this into what I was trying to do.
I have a matinee set up for the door, what i’m trying to do is when my dials are turned in the way I specified, the matinee will play leaving the door open. still can’t get it going. I can send you a screen shot if you like to give you an idea of what I have set up?