P118 添加角色动画

添加控制器

  • Assets
  • Models
  • Characters
  • John Lemon

添加至Hierarchy,再添加至Prefabs,进入Prefab编辑

  • Animators
  • Create Animator Controller
  • 拖入Animation,右键,Make Transmission
  • Parameters, +, IsWalking, 选中transmission, conditions, +, IsWalking,
  • 将Animator Controller拖入

codesys中方法和动作的区别_json

点击

codesys中方法和动作的区别_渲染管线_02

, 即可看到效果

P119 更改动画bug

添加rigidbody
update Mode: Animate Physics

P120 玩家代码

创建矢量,表示移动
创建变量,获取输入

private void FixedUpdate()
{
	m_Movement.Set()
}

创建刚体和动画管理器

Start():
	获取刚体组件;
	获取动画控制组件;

update 和 fixedupdate的区别:一些物理属性的更新操作应该放在FixedUpdate中操作。

判断是否存在移动

23点04分
但是旋转还是没用成功

2022年2月21日

  • 在游戏中给游戏对象添加component
  • 在C#中构造变量:
  • 变量有各种各样的,需要构造合适的变量
  • 对变量进行各种运算处理
  • 接收用户输入

将变量与component关联起来

根据对变量的处理结果,对component进行操作

14点41分

  • 重新看了一遍视频,并跟视频检查了一下代码,没有发现问题。
  • 准备调试的时候,配置了launch.json,发现不能调试,但重新运行游戏的时候,发现John可以转身了。
  • 报错内容为:
    error while processing request 'launch'(exception:未将对象引用设置到对象的实例。)
  • 将之前的tasks.json复制到.vscode文件夹下,可以调试了,但是不能在此状态下进行用户输入。

2022年2月22日

OnAnimatorMove()方法:
当动画播放引发根移动时执行

P122 场景和光照简介

window->Rendering->Environment->Environment Lighting-> Gradient

Equator:地平线向场景中传播的光线

Ground:场景下方的光线

P124 使用NavMesh导航系统

  • Hierarchy > level > √ static > 包含子对象
  • 被标记为static的Mesh Render组件,可用于导航网格。
  • 被标记为static的对象,在渲染过程中就被当作导航网格。
  • Corridors > Dressing > CeilingPlane > 不标记为static
  • AI > Navigation > Bake > Agent radius > 0.25 -> Bake
    但此时不显示蓝色地板
  • 点开Gizmos
  • Off-Mesh Link:非直接相连

P125 使用Cinemachine

  • 没有在视频教程所教的位置找到这个Cinemachine
  • GameObject > Cinemachine
  • CM vcam1 > Body > Framing transposer -> Aim > Do nothing -> Rotation > x > 45
  • -> follow (拖过来)JohnLemon

P126 后期特效简介

Render Pipeline的概念

渲染管线
内置渲染管线

着色器

抗锯齿

  • 选中main camera > Tags & Layers > layer > add new layer > PostProcessingVolumes
  • main Camera > add component > post-process Layer > Layer > PostProcessingVolumes -> Fast mode 打勾

P127 后期处理体积 添加颜色分级 泛光

后期处理体积

  • Create Empty > 重命名为GlobalPost -> 选择层为PostProcessingVolumes
  • -> 添加组件 > Post-process Volume > Position 定位0,0,0 -> 打勾 Is Global
  • 添加配置文件 > Profile > New > 将在Scenes文件夹下创建一个“scene文件名_Profiles”文件夹,其中有GlobalPost
  • GlobalPost > Add effect > color grading
  • Tonemapping > √ Mode > ACES
  • Tone > Postexposure
轨迹球 trackballs
  • Lift会影响阴影的颜色
  • Gain:影响最亮的高光
  • Gamma: 涵盖图像颜色中间(或中间范围)的所有内容

泛光 bloom

  • All
  • Intensity 2.5
  • Threshold 0.75

P128 添加环境光遮挡&渐晕&镜头失真

Ambient Occlusion

  • All
  • Intensity 0.5
  • Thickness modifier 3.5

渐晕 Vignette

  • Intensity 0.5
  • Smoothness 0.3

Lens distortion

  • Scale 1.1
  • Intensity 30

P129 设置游戏结束UI

  • Hierarchy > UI > Image

? Image的Anchors不能修改

  • 但是可以鼠标拖动

修改锚点 > 修改Image边缘与锚点确定的边界的距离

------------恢复内容开始------------

# P118 添加角色动画## 添加控制器

* Assets * Models * Characters * John Lemon

添加至Hierarchy,再添加至Prefabs,进入Prefab编辑

  • Animators
  • Create Animator Controller
  • 拖入Animation,右键,Make Transmission
  • Parameters, +, IsWalking, 选中transmission, conditions, +, IsWalking,
  • 将Animator Controller拖入

codesys中方法和动作的区别_json

点击

codesys中方法和动作的区别_渲染管线_02

, 即可看到效果

P119 更改动画bug

添加rigidbody
update Mode: Animate Physics

P120 玩家代码

创建矢量,表示移动
创建变量,获取输入

private void FixedUpdate()
{
	m_Movement.Set()
}

创建刚体和动画管理器

Start():
	获取刚体组件;
	获取动画控制组件;

update 和 fixedupdate的区别:一些物理属性的更新操作应该放在FixedUpdate中操作。

判断是否存在移动

23点04分
但是旋转还是没用成功

2022年2月21日

  • 在游戏中给游戏对象添加component
  • 在C#中构造变量:
  • 变量有各种各样的,需要构造合适的变量
  • 对变量进行各种运算处理
  • 接收用户输入

将变量与component关联起来

根据对变量的处理结果,对component进行操作

14点41分

  • 重新看了一遍视频,并跟视频检查了一下代码,没有发现问题。
  • 准备调试的时候,配置了launch.json,发现不能调试,但重新运行游戏的时候,发现John可以转身了。
  • 报错内容为:
    error while processing request 'launch'(exception:未将对象引用设置到对象的实例。)
  • 将之前的tasks.json复制到.vscode文件夹下,可以调试了,但是不能在此状态下进行用户输入。

2022年2月22日

OnAnimatorMove()方法:
当动画播放引发根移动时执行

P122 场景和光照简介

window->Rendering->Environment->Environment Lighting-> Gradient

Equator:地平线向场景中传播的光线

Ground:场景下方的光线

P124 使用NavMesh导航系统

  • 游戏对象 > static
  • AI > Navigation > Bake > Agent radius > 0.25 -> Bake
    但此时不显示蓝色地板
  • 点开Gizmos

P125 使用Cinemachine

  • 没有在视频教程所教的位置找到这个Cinemachine
  • GameObject > Cinemachine
  • CM vcam1 > Body > Framing transposer -> Aim > Do nothing -> Rotation > x > 45
  • -> follow (拖过来)JohnLemon

P126 后期特效简介

Render Pipeline的概念

渲染管线
内置渲染管线

着色器

抗锯齿

  • 选中main camera > Tags & Layers > layer > add new layer > PostProcessingVolumes
  • main Camera > add component > post-process Layer > Layer > PostProcessingVolumes -> Fast mode 打勾

P127 后期处理体积 添加颜色分级 泛光

后期处理体积

  • Create Empty > 重命名为GlobalPost -> 选择层为PostProcessingVolumes
  • -> 添加组件 > Post-process Volume > Position 定位0,0,0 -> 打勾 Is Global
  • 添加配置文件 > Profile > New > 将在Scenes文件夹下创建一个“scene文件名_Profiles”文件夹,其中有GlobalPost
  • GlobalPost > Add effect > color grading
  • Tonemapping > √ Mode > ACES
  • Tone > Postexposure
轨迹球 trackballs
  • Lift会影响阴影的颜色
  • Gain:影响最亮的高光
  • Gamma: 涵盖图像颜色中间(或中间范围)的所有内容

泛光 bloom

  • All
  • Intensity 2.5
  • Threshold 0.75

P128 添加环境光遮挡&渐晕&镜头失真

Ambient Occlusion

  • All
  • Intensity 0.5
  • Thickness modifier 3.5

渐晕 Vignette

  • Intensity 0.5
  • Smoothness 0.3

Lens distortion

  • Scale 1.1
  • Intensity 30

P129 设置游戏结束UI

  • Hierarchy > UI > Image

? Image的Anchors不能修改

  • 但是可以鼠标拖动

修改锚点 > 修改Image边缘与锚点确定的边界的距离

2022年2月23日

P130 添加游戏结束代码逻辑

  • Hierarchy > Creat Empty > 重命名为GameEnding > Box collider > 设置位置 > √ Is trigger
  • Scripts文件夹新建 >

? Unity3d_can't add the script component "" because the script class cannot be found

  • 脚本中的public class NewBehaviourScript : MonoBehaviour改为public class GameEnding : MonoBehaviour就好了

? 结束画面中,背景图透明

  • ExitImageBackground> Image > color > A > 255

P131 加入石像鬼敌人

  • Model > Gargoyle
  • 创建 Animator Controller,双击编辑
  • 把Animation拖进Animator Controller的编辑页面
  • 把Animator Controller拖入游戏对象Animator组件中的Controller中。
  • 添加Capsule Collider
  • 在Gargoyle下Create Empty重命名为PointOfView,在local模式下调整角度(实质上就是创建了一个坐标系,之后再在该坐标系上添加碰撞体组件)
  • 添加capsule Collider,direction调整为z轴

2022年2月24日

P132 为石像鬼添加代码

  • 没有显示 you are caught,但可正常显示won
  • Gargoyle > PointOfView > √ Is trigger
  • 进入区域,显示won,并退出游戏
  • GameEnding.cs > void EndLevel(CanvasGroup imageCanvasGroup, bool doRestart){...} > exitBackgroundImageCanvasGroup.alpha 改为 imageCanvasGroup.alpha
  • 显示 you are caught,但直接退出了游戏
if(doRestart)
           {
               SceneManager.LoadScene(0);
           }
              UnityEditor.EditorApplication.isPlaying = false;

改为:

if(doRestart)
{
	SceneManager.LoadScene(0);
}
else 
{
            UnityEditor.EditorApplication.isPlaying = false;
}
  • 完成!

P133 为石像鬼添加代码替代方法

// 使用Resources方法,可以直接读取项目文件夹Assets/Resources 中的文件
spriteCaught = Resources.Load<Sprite>("Caught");
  • 按照教程修改了GameEnding的挂接Script:MyGameEnding
  • 只有到达exit的时候正确显示Won,在触碰石像鬼视野的时候,不能显示Caught > 应该是 Observer的问题。
  • Bingo! Observer.cs中: public GameEnding myGameEnding; 改为 public MyGameEnding myGameEnding;
  • 修改之后,需要重新挂接一下GameEnding对象。
  • MyGameEnding中:exitBackgroundImageCanvasGroup.alpha前增加 image.sprite = sprite;
  • exitBackgroundImageCanvasGroup > ExitImage > Source Image > None

2022年2月25日

P134 添加幽灵敌人

------------恢复内容开始------------

# P118 添加角色动画## 添加控制器* Assets

* Models * Characters * John Lemon

添加至Hierarchy,再添加至Prefabs,进入Prefab编辑

  • Animators
  • Create Animator Controller
  • 拖入Animation,右键,Make Transmission
  • Parameters, +, IsWalking, 选中transmission, conditions, +, IsWalking,
  • 将Animator Controller拖入

codesys中方法和动作的区别_json

点击

codesys中方法和动作的区别_渲染管线_02

, 即可看到效果

P119 更改动画bug

添加rigidbody
update Mode: Animate Physics

P120 玩家代码

创建矢量,表示移动
创建变量,获取输入

private void FixedUpdate()
{
	m_Movement.Set()
}

创建刚体和动画管理器

Start():
	获取刚体组件;
	获取动画控制组件;

update 和 fixedupdate的区别:一些物理属性的更新操作应该放在FixedUpdate中操作。

判断是否存在移动

23点04分
但是旋转还是没用成功

2022年2月21日

  • 在游戏中给游戏对象添加component
  • 在C#中构造变量:
  • 变量有各种各样的,需要构造合适的变量
  • 对变量进行各种运算处理
  • 接收用户输入

将变量与component关联起来

根据对变量的处理结果,对component进行操作

14点41分

  • 重新看了一遍视频,并跟视频检查了一下代码,没有发现问题。
  • 准备调试的时候,配置了launch.json,发现不能调试,但重新运行游戏的时候,发现John可以转身了。
  • 报错内容为:
    error while processing request 'launch'(exception:未将对象引用设置到对象的实例。)
  • 将之前的tasks.json复制到.vscode文件夹下,可以调试了,但是不能在此状态下进行用户输入。

2022年2月22日

OnAnimatorMove()方法:
当动画播放引发根移动时执行

P122 场景和光照简介

window->Rendering->Environment->Environment Lighting-> Gradient

Equator:地平线向场景中传播的光线

Ground:场景下方的光线

P124 使用NavMesh导航系统

  • Hierarchy > level > √ static > 包含子对象
  • 被标记为static的Mesh Render组件,可用于导航网格。
  • 被标记为static的对象,在渲染过程中就被当作导航网格。
  • Corridors > Dressing > CeilingPlane > 不标记为static
  • AI > Navigation > Bake > Agent radius > 0.25 -> Bake
    但此时不显示蓝色地板
  • 点开Gizmos
  • Off-Mesh Link:非直接相连

P125 使用Cinemachine

  • 没有在视频教程所教的位置找到这个Cinemachine
  • GameObject > Cinemachine
  • CM vcam1 > Body > Framing transposer -> Aim > Do nothing -> Rotation > x > 45
  • -> follow (拖过来)JohnLemon

P126 后期特效简介

Render Pipeline的概念

渲染管线
内置渲染管线

着色器

抗锯齿

  • 选中main camera > Tags & Layers > layer > add new layer > PostProcessingVolumes
  • main Camera > add component > post-process Layer > Layer > PostProcessingVolumes -> Fast mode 打勾

P127 后期处理体积 添加颜色分级 泛光

后期处理体积

  • Create Empty > 重命名为GlobalPost -> 选择层为PostProcessingVolumes
  • -> 添加组件 > Post-process Volume > Position 定位0,0,0 -> 打勾 Is Global
  • 添加配置文件 > Profile > New > 将在Scenes文件夹下创建一个“scene文件名_Profiles”文件夹,其中有GlobalPost
  • GlobalPost > Add effect > color grading
  • Tonemapping > √ Mode > ACES
  • Tone > Postexposure
轨迹球 trackballs
  • Lift会影响阴影的颜色
  • Gain:影响最亮的高光
  • Gamma: 涵盖图像颜色中间(或中间范围)的所有内容

泛光 bloom

  • All
  • Intensity 2.5
  • Threshold 0.75

P128 添加环境光遮挡&渐晕&镜头失真

Ambient Occlusion

  • All
  • Intensity 0.5
  • Thickness modifier 3.5

渐晕 Vignette

  • Intensity 0.5
  • Smoothness 0.3

Lens distortion

  • Scale 1.1
  • Intensity 30

P129 设置游戏结束UI

  • Hierarchy > UI > Image

? Image的Anchors不能修改

  • 但是可以鼠标拖动

修改锚点 > 修改Image边缘与锚点确定的边界的距离

------------恢复内容开始------------

# P118 添加角色动画## 添加控制器* Assets * Models

* Characters * John Lemon

添加至Hierarchy,再添加至Prefabs,进入Prefab编辑

  • Animators
  • Create Animator Controller
  • 拖入Animation,右键,Make Transmission
  • Parameters, +, IsWalking, 选中transmission, conditions, +, IsWalking,
  • 将Animator Controller拖入

codesys中方法和动作的区别_json

点击

codesys中方法和动作的区别_渲染管线_02

, 即可看到效果

P119 更改动画bug

添加rigidbody
update Mode: Animate Physics

P120 玩家代码

创建矢量,表示移动
创建变量,获取输入

private void FixedUpdate()
{
	m_Movement.Set()
}

创建刚体和动画管理器

Start():
	获取刚体组件;
	获取动画控制组件;

update 和 fixedupdate的区别:一些物理属性的更新操作应该放在FixedUpdate中操作。

判断是否存在移动

23点04分
但是旋转还是没用成功

2022年2月21日

  • 在游戏中给游戏对象添加component
  • 在C#中构造变量:
  • 变量有各种各样的,需要构造合适的变量
  • 对变量进行各种运算处理
  • 接收用户输入

将变量与component关联起来

根据对变量的处理结果,对component进行操作

14点41分

  • 重新看了一遍视频,并跟视频检查了一下代码,没有发现问题。
  • 准备调试的时候,配置了launch.json,发现不能调试,但重新运行游戏的时候,发现John可以转身了。
  • 报错内容为:
    error while processing request 'launch'(exception:未将对象引用设置到对象的实例。)
  • 将之前的tasks.json复制到.vscode文件夹下,可以调试了,但是不能在此状态下进行用户输入。

2022年2月22日

OnAnimatorMove()方法:
当动画播放引发根移动时执行

P122 场景和光照简介

window->Rendering->Environment->Environment Lighting-> Gradient

Equator:地平线向场景中传播的光线

Ground:场景下方的光线

P124 使用NavMesh导航系统

  • 游戏对象 > static
  • AI > Navigation > Bake > Agent radius > 0.25 -> Bake
    但此时不显示蓝色地板
  • 点开Gizmos

P125 使用Cinemachine

  • 没有在视频教程所教的位置找到这个Cinemachine
  • GameObject > Cinemachine
  • CM vcam1 > Body > Framing transposer -> Aim > Do nothing -> Rotation > x > 45
  • -> follow (拖过来)JohnLemon

P126 后期特效简介

Render Pipeline的概念

渲染管线
内置渲染管线

着色器

抗锯齿

  • 选中main camera > Tags & Layers > layer > add new layer > PostProcessingVolumes
  • main Camera > add component > post-process Layer > Layer > PostProcessingVolumes -> Fast mode 打勾

P127 后期处理体积 添加颜色分级 泛光

后期处理体积

  • Create Empty > 重命名为GlobalPost -> 选择层为PostProcessingVolumes
  • -> 添加组件 > Post-process Volume > Position 定位0,0,0 -> 打勾 Is Global
  • 添加配置文件 > Profile > New > 将在Scenes文件夹下创建一个“scene文件名_Profiles”文件夹,其中有GlobalPost
  • GlobalPost > Add effect > color grading
  • Tonemapping > √ Mode > ACES
  • Tone > Postexposure
轨迹球 trackballs
  • Lift会影响阴影的颜色
  • Gain:影响最亮的高光
  • Gamma: 涵盖图像颜色中间(或中间范围)的所有内容

泛光 bloom

  • All
  • Intensity 2.5
  • Threshold 0.75

P128 添加环境光遮挡&渐晕&镜头失真

Ambient Occlusion

  • All
  • Intensity 0.5
  • Thickness modifier 3.5

渐晕 Vignette

  • Intensity 0.5
  • Smoothness 0.3

Lens distortion

  • Scale 1.1
  • Intensity 30

P129 设置游戏结束UI

  • Hierarchy > UI > Image

? Image的Anchors不能修改

  • 但是可以鼠标拖动

修改锚点 > 修改Image边缘与锚点确定的边界的距离

2022年2月23日

P130 添加游戏结束代码逻辑

  • Hierarchy > Creat Empty > 重命名为GameEnding > Box collider > 设置位置 > √ Is trigger
  • Scripts文件夹新建 >

? Unity3d_can't add the script component "" because the script class cannot be found

  • 脚本中的public class NewBehaviourScript : MonoBehaviour改为public class GameEnding : MonoBehaviour就好了

? 结束画面中,背景图透明

  • ExitImageBackground> Image > color > A > 255

P131 加入石像鬼敌人

  • Model > Gargoyle
  • 创建 Animator Controller,双击编辑
  • 把Animation拖进Animator Controller的编辑页面
  • 把Animator Controller拖入游戏对象Animator组件中的Controller中。
  • 添加Capsule Collider
  • 在Gargoyle下Create Empty重命名为PointOfView,在local模式下调整角度(实质上就是创建了一个坐标系,之后再在该坐标系上添加碰撞体组件)
  • 添加capsule Collider,direction调整为z轴

2022年2月24日

P132 为石像鬼添加代码

  • 没有显示 you are caught,但可正常显示won
  • Gargoyle > PointOfView > √ Is trigger
  • 进入区域,显示won,并退出游戏
  • GameEnding.cs > void EndLevel(CanvasGroup imageCanvasGroup, bool doRestart){...} > exitBackgroundImageCanvasGroup.alpha 改为 imageCanvasGroup.alpha
  • 显示 you are caught,但直接退出了游戏
if(doRestart)
           {
               SceneManager.LoadScene(0);
           }
              UnityEditor.EditorApplication.isPlaying = false;

改为:

if(doRestart)
{
	SceneManager.LoadScene(0);
}
else 
{
            UnityEditor.EditorApplication.isPlaying = false;
}
  • 完成!

P133 为石像鬼添加代码替代方法

// 使用Resources方法,可以直接读取项目文件夹Assets/Resources 中的文件
spriteCaught = Resources.Load<Sprite>("Caught");
  • 按照教程修改了GameEnding的挂接Script:MyGameEnding
  • 只有到达exit的时候正确显示Won,在触碰石像鬼视野的时候,不能显示Caught > 应该是 Observer的问题。
  • Bingo! Observer.cs中: public GameEnding myGameEnding; 改为 public MyGameEnding myGameEnding;
  • 修改之后,需要重新挂接一下GameEnding对象。
  • MyGameEnding中:exitBackgroundImageCanvasGroup.alpha前增加 image.sprite = sprite;
  • exitBackgroundImageCanvasGroup > ExitImage > Source Image > None

2022年2月25日

P134 添加幽灵敌人

2022年2月26日

P137 添加非剧情音效

  • Hierarchy > Creat Empty > 更名为 Audio > Transform > reset
  • 在Audio下 > Creat Empty > Rename: Ambience > √ loop > volume
  • -> Create New > Rename:Escape > 拖入SFXWin > 取消 √ Play on awake
public AudioSource audioClip;
audioClip.Play();

2022年2月27日

P138 添加玩家脚步声音

P139 添加鬼魂声效

  • 为了音效更加逼真,把Audio Listener组件从Main Camera移至John Lemon.
  • Spatial Blend > 设置为3D > 3D Sound Settings > Max Distance > 10
  • ? Ghost突然不会巡逻了

force to Mono: 强制单声道