碰撞体信息:
条件:两个相撞的物体必须都有Collider,至少其中有一个必须是刚体
获取:
collision.Collider.(name、tag等信息)
碰撞体信息:
条件:两个相撞的物体必须都有Collider,至少其中有一个必须是刚体
获取:
collision.Collider.(name、tag等信息)
碰撞函数:
void OnCollisionEnter(碰撞开始调用)
void OnCollisionStay (顾名思义,一直打印)
void OnCollisionExit (碰撞结束调用)
应该看课时22
按V吸附;
Ctrl+移动 根据Edit里的设置移动一定距离
Animator ainm; 获取Animator 组件
ainm.SetFloat("speed", agent.velocity.magnitude); 设置参数名字值大小
Transform 组件 获取目标位置
Vector3 offset 偏移
offset = transform.position - hero.position; 用于获取初始偏移
transform.position = offset + hero.position; 使得相机保持与英雄的距离
//判断鼠标左键是否点击
if (Input.GetMouseButtonDown(0))
{
//转换屏幕坐标为射线 Camera.main.ScreenPointToRay()
获取屏幕坐标 Input.mousePosition
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
//用于保存碰撞信息
RaycastHit hit;
if(Physics.Raycast(ray,out hit))
{
//hit.point 获取鼠标点击的坐标
print(hit.point);
//设置目标位置
agent.SetDestination(hit.point);
}
}
播放动画:
状态切换: speed
nav mesh agent--speed
paremeters +float --speed
均需取消 has exit time
控制摄像机跟随:
相机与主角偏移相同
main camera --C#--引入
控制主角运动:
scripts-C#
0代表鼠标左键
得到nav mesh agent组建
转向 angular
将C# 拉入inspector ,nav mesh agent拉入agnt
导航系统:
导航网格烘培--window-navigation
bake-radius 可改变烘培范围 bake
可穿过物体 inspector-取消 navigation
如何不生成导航网格: 选取游戏
object : navigation area--not walkable
给主人公添加nav mesh agent组建
设置与主角保持一至
灯光添加闪烁:
light-window animation
create-放在animation-animater 控制动画播放
intensity
创建火焰:
effects-particles system
shape
start speed-radom speed
新版本 更改火焰图标在FX中
material
将材质 制定给 system中的 render中的material
Texture sheet animation 勾选动画
lifetime 整体火焰高度
emission 粒子数量
lightmapping:
light-mode-baked 烘培前,启用灯光
mixed 混合,火堆光
realitime
windows-lighting
env-static 整体烘培。
四种灯光:
light-point light 点光源
spot light 锥形光源
area light 区域光源
触发检测:
检测器: is trugger 运动无效果,可检测
mesh fitter 移除,不显示
private void OnTriggerEnter(collider other){ }
private void OnTriggerStay(collider other){ }
private void OnTriggerExit(collider other){ }
print("OnTriggerEnter:"+other)
print("OnTriggerEnter:"+other.name)
print("OnTriggerEnter:"+other.tag)
mesh fitter 移除,不显示
碰撞信息取得: 发生物体之间必须有一个刚体
print(collision.collider) 碰撞的碰撞器
print(collision.collider.tag)
print(collision.collider.name)
碰撞检验函数:
(project) create folder --C#
private void OnCollisionEnter(Collision collision){ } 碰撞
private void OnCollisionExit(Collision collision){ } 离开
只调用一次 ↑
private void OnCollisionStay(Collision collision){ } 接触
rigidbody: 刚体
drag: 阻力
angular drag: 旋转阻力
constraints:
freeze position Y 不会下落
terrain工具
降低地形: shift 粉刷
paint texture:绘制 贴图
add texture-选择贴图 改变地形颜色