Unity问题记录合集
这个文章实时更新,主要记录我自己的Unity开发问题,方便回顾和二次利用。
使用组合碰撞器,人物落地刚体组件出现负方向的速度(rb.velocity.x < 0)
使用box-collided,人物移动跳跃均正常,但使用组合碰撞器落地出现负速度,导致自动转向左。
解决方法为:在unity中修改组合碰撞器组件中的offset distance
的值为0
如何快速创建一个演示平台
使用地形terrain,unity的默认地形自带为棋盘样式。
或者可以使用plane+材质的形式。具体为使用Shader Graph插件,创建一个Ulint Shader Graph
,绘制一个黑白相间的棋盘样式材质。创建一个scale节点,表示格子数量,一个colorA和colorB表示相间的格子颜色。在绘制页面创建一个UV,具体如下
如何避免文本的硬编码
使用unity官方的 Localization Package组件
最近在绘制UI,会在文本框填入文本,但写死了要修改是很麻烦的,且不利于语言切换,这是不合理的。使用stringTable
,每次调用读取设定的key即可,后续维护这个table。
开发对话系统可以用相关的对话插件,如Dialogue System for Unity
unity联机多客户端测试问题
unity不支持同时运行多个实例用来测试联机游戏,所以只能自己想办法。
查了一下,最方便还是开两个编辑器调试,但是要用一个bat脚本(windows)软连接一下,不然hub不给开两个。
set dir="your-unity-proj"
set copy_dir=~ClientCopy
if not exist %copy_dir% mkdir %copy_dir%
mklink /J D:\project_game\unity\%copy_dir%\Assets D:\project_game\unity\%dir%\Assets
mklink /J D:\project_game\unity\%copy_dir%\Packages D:\project_game\unity\%dir%\Packages
mklink /J D:\project_game\unity\%copy_dir%\ProjectSettings D:\project_game\unity\%dir%\ProjectSettings
pause
这样就可以打开两个编辑器了,不然每次都要打包,然后测试,改了再打包,纯浪费时间。