Unity Editor positioning/snapping issue - unity3d

Basically, unity Editor started to "snap" X position of the transform by 1.
When I drag any object on scene in editor (not in play mode) it slides smoothly along Y axes but dragging it along the X axis causes it to round the value to integer value.
See the the attached GIF:
I do not hold Command or V buttons, I tried to play with Snap settings (actually, it looks like Snapping is broken at all, because holding Command or V doesn't seem to affect dragging in any way).
If somebody knows, how to fix it in an existing project. I used to face this problem in earlier versions of Unity. Transferring assets to another project helped but this doesn't keep project settings like layers and tags and I'd like to avoid full reimport.

I found out what was the problem.
I used Negative X-scale on one of the parent Transforms.
I wanted to invert the scene. Looks like Unity Editor doesn't like this :)

Related

How to create a custom height snapping tool in Unity Editor

I am making a strategy game and I need to have a tool which places the objects above the terrain while I am dragging them in Unity Editor when I work on level design.
Basically I want to get result like here:
https://www.youtube.com/watch?v=YI6F1x4pzpg
but I need it to work before I hit the Play button in Unity Editor.
Here is a tutorial
https://www.youtube.com/watch?v=gLtjPxQxJPk
where the author of it made a tool which snaps the object to the terrain height when a key is pressed. I need the same to happen automatically whenever I place an object over my terrain. And I want my tool to adjust the Y position of the object automatically even while I am dragging it inside of the editor.
Also just to clarify: I don't need grid snapping and I don't need this functionality during the gameplay. I just need to have a tool for my level design work.
Please give me a clue where to start with it.
Thanks!
There is this tag you can apply to classes so they do call their regular events during editor mode already: https://docs.unity3d.com/ScriptReference/ExecuteInEditMode.html
A trivial way then would be to apply this to a special class/object which regularly "finds" all objects from the game object hierarchy. Then it shall filter that list for the ones you want to snap to the axis and enforce their Y.

Prefab in Unity and HoloLens falling below the spatial mapping

I'm working in a Unity application with HoloLens, where I place different prefabs across a room and I use TapToPlace to put it on a surface using SpatialMapping. I works great with some fbx models that I had, but then I received some models that I got in .max format, which I converted to FBX using 3DS Mask, they look good, but the exact setup as the other models, whenever I tap them, they are place halfway below the surface.
I've noticed that the working prefabs puts the cursor right at the bottom when in placing mode, while the "broken" ones put the cursor in the middle. Here is an example of how it looks in Unity:
Working:
Not working:
What is that circle there? it looks like the cursor, because everytime that I tap the object, the cursor is placed exactly there for each prefab, but for the ones in the center, half of the model shows below the surface, somehow it looks like it's related; is there a way to move that to the bottom as the working one looks like? if not, is there something that I need to do in 3DS max when exporting these new models to FBX? both models are using box collider, TwoHandManipulatable and TapToPlace.
Thank you, I appreciate the help.
The issue is on the axisof the model -- the pivot point of the model is not at the bottom of the model.
If at all possible it is recommended that you fix the model in your 3D modelling application, If this is not possible, you can fix it in Unity by adding an extra parent transform, more information please see:
https://answers.unity.com/questions/62675/redefine-axis-of-an-object.html
https://answers.unity.com/questions/357698/can-we-change-the-pivot-points-of-any-gameobject.html

My Unity scene opens as a white checkerboard image of the terrain

I am able to open my unity project and base scene on any computer other than my laptop. When I open the main scene on my laptop I am greeted with all of the terrain being a white checkerboard. All of the gameObjects show on the side bar but are invisible in the scene and game views. Any help or ideas would be greatly appreciated as I have looked for the answer everywhere.
Your image which you uploaded points that you are viewing your game in Scene mode rather than game mode. In your scene mode the rendering has been switched to Baked Lightmap or one of the other modes in Baked Global Illumination. By default Unity Scene modes are kept in Shaded in Shading mode. ie the one where we see our scene same as Game scene. To get back to shaded mode Find the Dropdown button below Scene Tab and select shaded mode.
I finally found the workaround for this same problem on mine: Hopefully your is similar.
After I upgraded my Unity version to the latest and it updated the project, it created a _TerrainAutoUpgrade folder in "Assets". I followed my normal source control rules, which was to check in most of this folder but to ignore the .meta files (allowing the computer that cloned my repository to generate its own).
Turns out, that didn't work. The meta files generated on the second computer, the "mainObjectFileID" in the meta file was set to 0.
I fixed it by manually copying over the _TerrainAutoUpgrade folder from the working machine to the non-working one. Clearly this is a bug in Unity, but at least this got me around it.
I came across a similar problem where my terrain was looking like a checkerboard. I found out that I was missing the terrain layers when I went to the paint tab. I was able to solve it by replacing the layers with terrain layers I already had and replacing the textures.

how to manage the Y axis with custom prefabs in arcore

I have a strange problem in Unity (I never had it in Android).
I'm currently testing how the ARCore is working with unity, so I've run the basic demo that is delivered by Google. I didn't change even one line of code. The only difference is that I've set mu own prefab, simple cube. The problem that I have is related with the level on which the object is set. It always looks like it is set below the surface. For example if I find a surface on my chair and put the object there, than the object is set from floor, not from chair. I wonder what should I change to handle this.
The funny problem is that the same test on "clean" Android is not creating such problems.
It sounds like you have to check where the pivot point of your prefab is. I believe it has to be on the "floor" / at 0 on the Y axis.

Textures to Object in Unity / Vuforia

I'm trying to do some Augmented Reality in Unity using the Vuforia plugin. I've managed to get everything working (I'm using a 3d model of a car), only the position of the car relative to the marker is wrong when I come to preview it (click the 'Play button at the top and watch through the computer's camera - is 'preview' the right name for this?).
It should be sitting on the the marker in the center, but instead it's floating above the marker and off to the side by quite a bit. The positioning is definitely right in the program itself, so I'm not sure why this isn't reflected in the preview.
Also: at the moment the car is simply an untextured grey object. I realise the textures are included in a subfolder, however I can't drag the entire car's folder (including the Textures subfolder) into the ImageTarget, only the .3ds file itself. Does anyone know how to apply the original textures to the car?
Thanks so much for your help in advance!
Ben
Well, to start answering your question about the drifting away part, you've probably got a Rigidbody attached to your Car? Well, if that's the case, then Go to the Inspector where the Rigidbody is and you'll see constraints.
To avoid it floating off, you might want to check Freeze Positions for whichever direction it needs. Probably Y axis.
Now, I'm not entirely sure if you're using Vector.AddForce to move your objects, but if you are then just check if your car can move if you've put all constraints on.
If you can't then in your code trying using Object.Rigidbody.SetActive(true) when you need it to start moving, and Object.Rigidbody.SetActive(false) when its done.
On the other hand, if you aren't using Vector.AddForce() then remove Rigidbody component if you've used it.
As for the material. If you've got the material in your folder that you've downloaded then just drag and drop it into Assets. Now sometimes your car may be one solid mesh, but some times it may be multiple meshes. So which ever the case. Drag the material from your Assets onto the Hierarchy panel over your car mesh/meshes and it should turn into that color.
Hope it helps. :)