Unity中的四种灯光
Intensity 光照强度
1、Directional Light直射光
直射光相当于太阳,强度改变场景亮度。
照射的相反方向可以看到一个太阳
2、Ponit Light 点光源
相当于一个电灯泡,发散光,向四周发射
3、Spot Light
从一个点向四周发射,光源时一个锥形
类似于手电筒
4、Area Ligth 区域光
用于烘培
Unity中的四种灯光
Intensity 光照强度
1、Directional Light直射光
直射光相当于太阳,强度改变场景亮度。
照射的相反方向可以看到一个太阳
2、Ponit Light 点光源
相当于一个电灯泡,发散光,向四周发射
3、Spot Light
从一个点向四周发射,光源时一个锥形
类似于手电筒
4、Area Ligth 区域光
用于烘培
触发检测
勾选Collider-Is Trigger,碰撞器会变成触发器。
碰撞器只能发生碰撞,,触发器可以被物体穿过。
可以检测物体有没有进入到另一个物体的内部。
private void OnTriggerEnter(Collider other)
{
//进入触发区域时的函数
}
private void OnTriggerExit(Collider other)
{
//离开触发区域的函数
}
private void OnTriggerStay(Collider other)
{
//在触发区域时的函数,每一帧都调用
}
触发检测的输出
other
other.name
other.tag
碰撞检测函数
Unity自动调用
每次调用只会调用一次
private void OnCollisionEnter(Collision collision)
{
//接触时的函数
}
private void OnCollisionExit(Collision collision)
{
//分离时的函数
}
private void OnCollisionStay(Collision collision)
{
//碰撞过程中的函数,每一帧都会调用
}
添加组件:
3D模型:右键→3D Object
第一节:
界面:Projects内的On Disk为历史工程
工程文件夹:
一、Assets——资源目录(声音资源、模型资源、图片资源)。
二、Library——库(上传的中间文件)
三、projectsettings——工程设置(AudioManager:声音设置、TimeManager:时间设置)
四、temp——临时文件夹(打开一个工程时生成,关闭后删除,异常关闭后依然存在)
123
Prefab预制体
本质上是原始Prefab的克隆
inspector内属性为粗体时不可统一修改
取消prefab
在Hierachy中对这个object右键unpack prefab
Ctrl+D 复制
Ctrl 按住步长移动(1)
步长设置 edit-snap setting
V键顶点吸附移动
飞行模式-按下鼠标右键-WASD QE控制视野移动
中心点center-模型中心
原点pivot-坐标位置
局部坐标local-相对于物体,跟随物体
世界坐标global-相对于世界,跟随世界
layer 层- 锁定层以防止误操作
更换所在层
1.
return 修改
relax 取消
创建Animation Controller->把它拖到hero的Animator的Controller中
window->animator
将默认状态动画拖入animator,再拖入行走、奔跑状态->animator左上角的parameters->创建float函数
右键点击idle->make transition->点击连线->在conditions中通过速度控制状态切换
取消has exit time,使状态切换可以随时发生
通过代码控制速度
先把main camera调整到一个合适的位置
建立c#脚本FollowTarget->拖到main camera身上
创建c# script->将这个脚本赋给hero
代码里有具体注释
angular speed调节角色转向速度
环境要确保static
window->Navigation->bake进行烘培
agent radius改小可以让烘培更加细致
1. 使人可以穿过草和树叶:把草和树叶的navigation static取消,重新烘培
2. 石头上的所有范围都是无法到达的:在navigation中选择object,选中石头,再点击一下,在navigation area中设为not walkable
3. 让主角在网格上行走:选中hero->add component->nav mesh agent
在obstacle avoidance中调节主角身上圆柱体的大小