---
title: 顶部视图示例
slug: world-sdk-guide-ch/Yisp6nqRHH8r7t0uyK1cW
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

通过禁用内置的ZepetoCamera并使用自定义相机，您可以实现不同的相机视角。



## 步骤 1 : 设置相机视图

调整自定义相机的变换以配置所需角度的视图。

在我们的指南中，我们使用主相机作为我们的自定义相机。

对于顶部视图，请参考以下设置。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-7YOXg7vJuzo73XeRE48vH-20240904-102421.png)



## 步骤 2 : 编写脚本

在您的场景中实现基本的ZEPETO角色创建代码。

:::hint{type="info"}
**📘&#x20;**&#x8BF7;参考以下指南。\[[创建ZEPETO角色](docId\:x_uqceZxzv-RaMS18k0bt)]
:::

创建一个脚本，禁用ZEPETO相机并创建一个自定义相机以跟随ZEPETO角色。

选择创建 > ZEPETO > Typescript，并将其重命名为 TopViewController。

将脚本添加到 TopViewController 对象。

编写以下代码以使自定义相机跟随角色。

:::CodeblockTabs
TopViewController

```typescript
import { Camera, Transform, Vector3 } from 'UnityEngine';
import { SpawnInfo, ZepetoPlayers } from 'ZEPETO.Character.Controller';
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
  
export default class TopViewController extends ZepetoScriptBehaviour {
  
    public customCamera : Camera;
    private localPlayerTr : Transform;
  
    Start() {  
        ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
            this.localPlayerTr = ZepetoPlayers.instance.LocalPlayer.zepetoPlayer.character.transform;
            // 禁用 ZEPETO 相机
             ZepetoPlayers.instance.LocalPlayer.zepetoCamera.gameObject.SetActive(false);
        }); 
    }
  
    LateUpdate() {
        if(this.localPlayerTr != null) {
            this.customCamera.transform.position = new Vector3(this.localPlayerTr.position.x, this.customCamera.transform.position.y, this.localPlayerTr.position.z);
        }
    }
}
```
:::

将相机对象连接到检查器。

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-yI9s_CAK9WYEQU8EVn4By-20240904-102421.png" size="88" width="357" height="290" position="center" showCaption="false"}



现在尝试通过按下屏幕中央的 \[▶︎(播放)] 按钮来运行它。

您应该看到现有的 ZepetoCamera 被禁用，自定义相机被启用。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-e2Nb-Ovrys1gC8TGQhX1i-20240904-102423.gif)

