Unity3d 瓷砖';s的游戏对象是偏移量

Unity3d 瓷砖';s的游戏对象是偏移量,unity3d,Unity3d,我已经做了一个基本的脚本瓷砖,它已经设置为游戏对象预制。问题是,当门被放置时,游戏对象被偏移了。我想把游戏对象放在和磁砖相同的位置 DoorTile.cs using System; using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.Tilemaps; public class DoorTile : TileB

我已经做了一个基本的脚本瓷砖,它已经设置为游戏对象预制。问题是,当门被放置时,游戏对象被偏移了。我想把游戏对象放在和磁砖相同的位置


DoorTile.cs

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.Tilemaps;

public class DoorTile : TileBase
{

    public Sprite doorSprite;
    public GameObject doorObject;
    public Tile.ColliderType colliderType = Tile.ColliderType.Sprite;
    public override void RefreshTile(Vector3Int location, ITilemap tilemap)
    {
        tilemap.RefreshTile(location);
    }
    public override void GetTileData(Vector3Int location, ITilemap tilemap, ref TileData tileData)
    {
        tileData.gameObject = doorObject;
        tileData.colliderType = colliderType;
        tileData.sprite = doorSprite;
        tileData.flags = TileFlags.LockTransform;
        tileData.color = Color.white;
    }
}

这是由于您的平铺锚定为(0.5,0.5,0)。您可以在Tilemap组件下修改平铺锚定以修复此问题,或者只需将偏移添加到门对象。

这是由于平铺锚定为(0.5、0.5、0)。您可以在Tilemap组件下修改平铺锚定以修复此问题,或者只需将偏移添加到门对象。

谢谢!游戏对象偏移量可以在平铺代码中设置吗?如果是这样,它是在GetTileData函数中设置的吗?偏移量用于整个Tilemap,可以直接在inspector@Tomzmarsui中设置。如果您希望偏移游戏对象而不是Tilemap,则可以将锚点添加到游戏对象的transform.position。这将是Tilemap上的tileAnchor。谢谢!游戏对象偏移量可以在平铺代码中设置吗?如果是这样,它是在GetTileData函数中设置的吗?偏移量用于整个Tilemap,可以直接在inspector@Tomzmarsui中设置。如果您希望偏移游戏对象而不是Tilemap,则可以将锚点添加到游戏对象的transform.position。这将是Tilemap上的tileAnchor。