How to move/rotate objects around another object? - unity3d

[
Hello everyone!
I had a plan to make all of these cubes rotate around in a conveyor belt fashion.
My first thought was to animate each one to rotate around. I haven't done that option because I feel like that would overall cause issues.
My second thought was to make a bunch of empty lerp points, have the objects lerp around and have a trigger on the end set their rotation to about the right angle of the black conveyor belt center.
These will most likely both work, but may take more effort than is necessary.
Is there a better way to do this? Does Unity have a feature that I am unaware of?
Thank you for your help!

Related

Unity Engine. Rotation calculation issue. Rigidbodies and rotation with an object

I´ve got some problems with rotations. So, I´ve got a ship, imagine it as a container, I´m trying to get everything within that container to follow the position and rotation of that container. These internal objects are also rigidbodies that can freely move.
So imagine that within the ship there is a table and a cup, both objects rigidbodies. If you are within the ship you can push over both objects, but while the ship moves, it will "drag" them with it.
So the table and cup have to always stay in the correct position, no matter how much the ship moves and rotates. And to clarify, I won´t be able to parent them either, they have to stay separate in this case. Hope I explained that right!
So, for now, I was able to achieve the detection of objects within the ship and follow correctly the position. But the rotation, using rotateAround three times with each axis (Which in itself might be incredibly wrong already lol) even though it seemingly works, it´s always slightly off. And on bigger rotations just breaks fully.
Which does make sense I guess but I still don´t manage to think of a way to get this to behave right.
Is there any way to achieve this?
Thanks for any help!

HingeJoint doesnt open the opposite direction

I was wondering if you could tell me if this is possible. I've spent a couple hours to no avail trying to find a way to make a object with box collider swing inwards and outwards like a door. I used hinge joint, but it will only swing the gameobject inwards or outwards around the joint. I am trying to achieve a 'saloon door' effect that allows free rotation around the y axis. I have tried fiddling with the anchor position and axis values but no luck. I was surprised not to find any similar problems online, perhaps hinge joint is not meant for this purpose? Any clarification is much appreciated.
I'm not really sure how I fixed it, but I got the door to swing freely. One possible reason is surrounding colliders or terrain prevented it from swinging freely. sigh

How to ensure sprites face the correct direction at all times in a 2D top down game. (logic)

I am making a multiplayer top down 2D game with 3d elements. All my movement, healthbars and basic functionality is working flawlessly even while hosted and playing on a server, node.js socket.io. However In this game it is possible to move the camera like in Realm of the mad god.
in case you are in doubt here is a video: https://youtu.be/4tdcxl3aZ0c?t=31s
This of course means that the players can end up being upside down with regards to each other and I cannot find a solution that works in all regards to make sure the sprites of the other players are always facing the correct direction with regards to their movement.
I have made several solution to this problem which cover most scenarios but while play testing other things we always end up noticing that the sprites sometimes face the wrong directions. So I am wondering if anyone has an answer, the logic, the fixing this problem.
Things I have tried:
Adding a gameobject to the camera to which all sprites asses their change in distance and determine their facing direction based off that information. (this leads to the players sometimes flipping erratically when the camera is moved and they as well are moving as sometimes they may be moving slower and there although moving left the camera approaches from the right and that flips them)
Adding a gameobject to the world which allows all sprites to have a fixed point to which they can measure their change in distance and therefore also know what direction to face (this worked somewhat better as they always know what direction they have to face, however once the player is upside down everything is inverted)
Emitting to the other players wether I am upside down or not in order to try to reinvert the above solution in the case I am upside down. (I could not find a good way to do this, and it got me thinking that this must be a problem people have fixed before many times and perhaps someone know of a good solution that works.)
thank you all for your input.
I seem to have found a solution for this issue that works decently well. Keeping in mind that I do not want to have the server being involved in this and I would rather have each individual sprite know its direction rather that have something heavy trying to determine this logic I came up with the following solution. May not be the best but it works. Still very keen to hear other solutions.
On my main character I have a switch case, which changes depending on the players rotation in the world. I need this switch case anyway for fixing (http://answers.unity3d.com/questions/1348301/trying-to-change-the-cameratransparencysortaxis-to.html?childToView=1348316#answer-1348316) that issue.
As the cases change I simply place the gameobject that I want the sprites to compare their distance to at 1 of 4 positions. YPos, YNeg, XPos, XNeg. Meaning that the sprite now determines its facing direction based on a gameobject that is placed in accordance with the Players position. without having to place it on the camera.
I will update if during further play tests this gives me trouble but thus far it works in the all the cases I need it to.
Still very willing to hear other solutions to this problem.
Thank you.

What would be the best way to do pathfinding on a random object that rotates

I want to do pathfinding on a rotating "planet", similar like the enemies do in mario galaxy, except the planets are rotating. What would be the best way to do it? The planets come in different forms, and it is necessary that I place the waypoint with code. That is because I need to do it with code for my assignment and also I want to make an object pool of waypoints that get placed on the planet the player is currently on.
So is A* the best way to go? I was thinking about the technique I should use and I thought of placing every waypoint on a vertex of the model. But some models can get pretty high in vertices, so isn't that really heavy if I have that many waypoint and then use them for path finding?
Or is there a better way of doing it? I was thinking can't you do it based on the uv's of the planet? The only thing is that the uv's have cuts so how can I tell the enemy to also check the cuts of the uv's for a shorter path?
Best way to animate planets will be to download leanTween or some similar asset and make animation by curve path + rotation.

Steering a car in CoronaSDK

Having a bit on an issue, what I want to achieve is a car that is drivable with a D-Pad. I am attempting physics joints on all 4 corners of the "frame" of the car. Then each "wheel" is applied a force to move it forward and backwards. Simple enough I think, can't even get the wheels to stay attached. I weld them to it, but then it won't move.
Second, steering?! How on earth is this accomplished?
Thank you very much, been stressed over getting it to work!
I'm not sure if this is helpful, but here's a link that may push you in the right direction: http://www.emanueleferonato.com/2009/04/06/two-ways-to-make-box2d-cars/. This is an example of what I believe you are looking for, but it's in AS3. However, it's using Box2D physics which is what the CoronaSDK uses. Should be able to translate.
Weld joins don't allow any kind of movement. Pivot joints would be a better choice and more realistic. As for the steering, if this is a top down game, you probably should apply force to the front region of the car and not each wheel as it could do weird things.