unity3d - 反正有没有用脚本设置 Sprite 的枢轴?

标签 unity3d

我们从我们的设计师那里收到了对象的 psd 文件。我们正在开发一款等距 2.5D 游戏, Sprite 是半 3D 渲染。我们在 PSD 文件上有 2 层,一层用于地面(我们将其用作多边形 2d 碰撞器的障碍物),另一层用于建筑物/对象。为了获得准确的 Sprite 渲染顺序,我们必须将建筑物/物体的枢轴点放在地面上。当我们将 PSD 导入 Unity 时,图层的轴心点自动位于图像的中心。我们需要将 sprite 的枢轴点设置为与地面层的枢轴相同的地面。

有什么办法可以实现吗?看起来“Sprite.pivot”是只读的,不能通过脚本更改。

最佳答案

您可以从现有的 Sprite 创建一个新的 Sprite 并使用 Sprite.Create 更改轴心点

public Sprite CreateSpriteWithPivot(Sprite existingSprite, Vector2 pivot)
{
    return Sprite.Create(existingSprite.texture, existingSprite.rect, pivot);
}

 

关于unity3d - 反正有没有用脚本设置 Sprite 的枢轴?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62801816/

相关文章:

git - 在版本控制中忽略文件夹元文件

c# - 获取 Vuforia AR 相机指南针方向

c# - 当程序最后一次通过 WaitForSeconds 时,Unity 崩溃

python - Python中C#的WriteAllBytes等效函数

ios - 广告后,声音在游戏中消失

unity3d - Unity,EXE崩溃报告分析。在Unity中不会崩溃

c# - 从脚本获取时 Unity3d 输入字段文本被截断?

c# - 创建带有垃圾桶的拖放系统以移除对象

c# - 如何通过脚本在 Canvas 上创建和放置输入字段

c# - 如何禁用鼠标单击时的对象控制?