200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > unity碰撞检测函数 碰撞信息获取 触发检测 使用粒子系统创建火焰 创建动画(火光闪

unity碰撞检测函数 碰撞信息获取 触发检测 使用粒子系统创建火焰 创建动画(火光闪

时间:2024-03-17 21:41:35

相关推荐

unity碰撞检测函数 碰撞信息获取 触发检测 使用粒子系统创建火焰 创建动画(火光闪

碰撞检测函数

private void OnCollisionEnter(Collision collision){print("OnCollisonEnter");}private void OnCollisionExit(Collision collision){print("OnCollisonExit");}private void OnCollisionStay(Collision collision){print("OnCollisonStay");}

碰撞信息获取

private void OnCollisionEnter(Collision collision){print(collision.collider);print(collision.collider.name);print(collision.collider.tag);print("OnCollisonEnter");}

unity手册

脚本API

触发检测

Rigidbody勾选Is Trigger

Lightmapping

所有设置为static

generate lighting生成灯光贴图

选择shadow Type

修改range

使用粒子系统创建火焰

创建动画(火光闪烁)

window->animation

Intensity:灯光强度

导航系统

window->Navigation都勾选上Static

Navigatio->bake

穿过草:取消勾选Navigation static

石头不能通过:Navigation->object->not walkable

人物添加Nav Mesh Agent

通过导航系统控制人物移动

创建脚本

using UnityEngine.AIpublic NavMeshAgent agent;//拖拽Nav Mesh Agentvoid Update(){if(Input.GetMouseButtonDown(0)){Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hit;if(Physics.Raycast(ray,out hit)){print(hit.point);agent.etDestination(hit.point);}}}

控制摄像机的跟随

添加代码

public transform hero;private Vector3 offset;void start(){offset=transform.position-hero.position;}void Update(){transfrom.position=offset+hero.position;}

控制角色动画播放

创建一个animation controller

赋值给hero

选择hero,选择window里的animator

nav mesh agent 控制移动

创建参数Speed,右键选择第一个,右侧面板更改条件,取消勾选has exit time

using UnityEngine.AIpublic NavMeshAgent agent;//拖拽Nav Mesh Agentpublic Animator anim;//拖拽Animatorvoid Update(){if(Input.GetMouseButtonDown(0)){Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hit;if(Physics.Raycast(ray,out hit)){print(hit.point);agent.etDestination(hit.point);}}anim.SetFloat("speed",agent.velocity.magnitude);}

unity碰撞检测函数 碰撞信息获取 触发检测 使用粒子系统创建火焰 创建动画(火光闪烁) 导航系统 通过导航系统控制人物移动 控制摄像机的跟随 控制角色动画播放

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。