Unity 3D/C# 错题集

  3.2 游戏引擎技术
  • 有些问题比较小白,这也是个人摸索学习中在所难免的,以及容易陷入牛角尖。

No.1 平滑移动与加速度移动

  • 打代码的时候没注意竟然有两种移动方式,直接自动补全回车了
Input.GetAixs//会让角色有一个初始的加速然后到达最大速度
Input.GetAixsRaw//直接以最大速度进行移动

No.2 Gitee备份

  • 用Gitee备份Unity时候会因为有大文件(即超过Gitee单个文件100MB的限制)导致上传失败,而且一个空白的Unity项目也有几百MB到一二GB的大小。这些通用文件完全是没有必要上传备份的。但是,你也不知道那些需要上传那些不需要。
  • 这里贴出一个忽略规则文件,建立文本文档与.git文件同级,同时粘贴下方内容,并把文本文档名称改成.gitignore即可
  • 另附一篇gitignore的编写规则帖:传送门
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/

# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.aab
*.unitypackage

# Crashlytics generated file
crashlytics-build.properties

# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*

# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*

中心点与位置坐标

  • 如下图所示,图中Tree_01为空的GameObject,想要达到的效果为人和树根据位置坐标有遮挡关系。但因为树分为树顶部与树墩两个部分,挂载到一个空的物体上会自动把中心点居中(即质心位置)。所以有时候走到树干后面时人会优先于树顶部进行显示。
  • 解决办法1:先新建GameObject,并把GameObject中的transform改成rect GameObject,此时拖拽物体进入空物体时默认父物体位置为最下方的那个物体
  • 解决办法2:扩大collider的范围直至物体的中心点位置,让人物无法走到即可
  • 解决办法3(未经实验):听说可以通过系统里的preference设置改变物体调用中的中心点判断规则。
image 2 - Unity 3D/C# 错题集
image 3 - Unity 3D/C# 错题集

LEAVE A COMMENT