如何在Unity Editor 2022.3f LTS中设置切换着色模式的自定义快捷键?
在Unity 2022.3f LTS中自定义切换着色模式的快捷键方法
Unity 2022.3f LTS支持自定义快捷键,只是默认没有直接绑定切换着色模式的命令,你可以通过两种方式实现:
方法一:利用内置菜单命令间接切换
- 打开快捷键设置面板:点击顶部菜单栏的
Edit->Shortcuts(Windows/Linux快捷键:Ctrl+K, Ctrl+S;Mac快捷键:Cmd+K, Cmd+S)。 - 在搜索框输入
Toggle Shader Menu(中文版本搜“切换着色器菜单”),找到该命令后点击右侧输入框,按下你想要设置的组合键完成绑定。 - 使用时,按下快捷键会弹出着色模式下拉菜单,再通过方向键选择目标模式即可。
方法二:编写Editor脚本实现一键切换
如果想要直接一键切换到指定着色模式,写个简单的Editor脚本即可:
using UnityEditor; using UnityEngine; public class ShaderModeShortcuts : EditorWindow { // 绑定Ctrl+Shift+W切换到线框模式 [MenuItem("Tools/切换到线框着色模式 %#W")] static void SwitchToWireframe() { if (SceneView.currentDrawingSettings != null) { SceneView.currentDrawingSettings.renderMode = SceneViewRenderMode.Wireframe; SceneView.RepaintAll(); } } // 绑定Ctrl+Shift+S切换到实体模式 [MenuItem("Tools/切换到实体着色模式 %#S")] static void SwitchToSolid() { if (SceneView.currentDrawingSettings != null) { SceneView.currentDrawingSettings.renderMode = SceneViewRenderMode.Solid; SceneView.RepaintAll(); } } // 绑定Ctrl+Shift+T切换到纹理模式 [MenuItem("Tools/切换到纹理着色模式 %#T")] static void SwitchToTextured() { if (SceneView.currentDrawingSettings != null) { SceneView.currentDrawingSettings.renderMode = SceneViewRenderMode.Textured; SceneView.RepaintAll(); } } }
- 将脚本保存到
Assets/Editor文件夹下(没有该文件夹就新建一个),Unity会自动编译。 - 编译完成后,你可以在顶部菜单栏的
Tools里看到这些命令,也可以回到Shortcuts面板搜索命令名称,修改成你习惯的快捷键组合。
内容的提问来源于stack exchange,提问作者Asif Nawaz
相关产品推荐
相关产品推荐

