找回密码
 立即注册
查看: 499|回复: 0

GAMES103 作业问题整理-开发环境配置

[复制链接]
发表于 2021-12-7 12:34 | 显示全部楼层 |阅读模式
(题图是正在撞墙的兔子)
我也是第一次用 Unity 来进行开发,开始的时候还遇到了一些小麻烦,好在身边有许多 Unity 大佬,所以赶紧请教了一番。下面简单写一下在做作业的时候遇到的一些小问题。
开发 IDE的个人建议

关于 Unity 对 IDE 的支持情况,可以参考官方关于 IDE 支持的文档。
有条件的开发者,我个人还是建议使用 Rider 进行开发,Rider 附带的 Resharper 功能非常强大。但是注意,Rider for UnrealEngine 是无法用于 Unity 开发的(至少我没有找到 Unity 相关的插件)。如果不使用 Rider 的话,Visual Studio 2022 也不错,自带了 AI 补全代码的功能,还比较有意思。Visual Studio Code 我没有尝试写过 Unity 代码,不好做评价。
调试环境配置

如果不需要调试的话,使用任何编辑器打开 Unity 项目的 根目录即可,修改代码以后,切换回 Unity 主界面以后,会自动进行 C# 代码的编译和加载。如果需要运行时调试话,可以参考Unity 官方文档中关于调试器配置的部分。下面以 Visual Studio 2022 为例,简单说明一下大致的方法。
首先,需要在 Visual Studio Installer 中安装 Visual Studio Tools for Unity Plugin。如果在安装 Visual Studio 的时候,选择了 Game Develop,则这个是默认安装的,如果不确定的话,可以在开始菜单上选择 Visual Studio Installer 查看。其他的 IDE,例如 Rider 和 Visual Studio Code,也都是需要安装相关的 Unity Plugin 才可以使用,方法大同小异。
第二步,配置开发及调试环境,在菜单中选择: Edit -> Preferences... ,然后按照下图选择需要的 IDE,我选择的是 Visual Studio 2022。


第三步,回到 Unity 主界面,在左侧选择 Bunny -> default,在右侧的 Inspector 窗口中,找到类似下图红框的部分,双击即可打开配置的 IDE 环境。


最后,在 IDE 窗口上,可以看到 Attach to Unity 的按钮,点击以后就可以进入代码调试模式了,然后在 Unity 中选择 Play 就可以开始调试了


显示帧率

在 Unity 主界面右上角有一个 Stat 按钮,可以显示当前的帧率,不过有些遮挡画面,可以参考这篇文章中的代码,在游戏区域的上方加一个小的UI,来显示当前帧率,使用起来比较方便。下面附上文章中提供的代码,另外文章中还写了一些关于占帧率的问题,可以跳转到原文去参考。
using UnityEngine;
using System.Collections;
using DG.Tweening;

public class NewBehaviourScript : MonoBehaviour
{
        private float m_LastUpdateShowTime=0f;        //上一次更新帧率的时间;

        private float m_UpdateShowDeltaTime=0.01f;//更新帧率的时间间隔;

        private int m_FrameUpdate=0;//帧数;

        private float m_FPS=0;

        void Awake()
        {
                Application.targetFrameRate=100;
        }

        // Use this for initialization
        void Start ()
        {
                m_LastUpdateShowTime=Time.realtimeSinceStartup;
        }
       
        // Update is called once per frame
        void Update ()
        {
                m_FrameUpdate++;
                if(Time.realtimeSinceStartup-m_LastUpdateShowTime>=m_UpdateShowDeltaTime)
                {
                        m_FPS=m_FrameUpdate/(Time.realtimeSinceStartup-m_LastUpdateShowTime);
                        m_FrameUpdate=0;
                        m_LastUpdateShowTime=Time.realtimeSinceStartup;
                }
        }

        void OnGUI()
        {
                GUI.Label(new Rect(Screen.width/2,0,100,100),"FPS: "+m_FPS);
        }
}
关于 Log 输出

在 Unity 下直接使用 Console.WriteLine() 是无法输出 Log 的,需要使用 Unity 提供的 Debug.Log() 才可以。

(本文不定期更新)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-22 22:54 , Processed in 0.089685 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表