Unity 常用方法总结(小技巧)

本文总结了Unity中的实用技术,包括如何获取和设置物体方向,隐藏并固定鼠标,绘制窗口线条,切换InputSystem时间模式,音效的多条播放,射线检测2D碰撞以及解决2D人物卡墙问题的方法。
摘要由CSDN通过智能技术生成

获取方向

//获取从A点到B点的方向向量
var direction = B.transform.position-A.transform.position;
direction.Normalize();//根据需求是否进行向量化

将物体朝向某方向

var direction = B.transform.position-A.transform.position;//获取方向
transform.rotation=Quaternion.Euler(Mathf.Atan(direction.y,direction.z)*Mathf.Rad2Deg));//根据方向计算偏移量进而旋转朝向某物体

鼠标隐藏并固定到中央

Cursor.visible = false;//控制隐藏
Cursor.lockState = CursorLockMode.Locked;//控制是否锁定鼠标

在Unity窗口绘画线条

 void OnDrawGizmosSelected()//一定要在这个函数下才能实现画线
{
        // Left/right and up/down axes.
        Gizmos.color = Color.white;
        Gizmos.DrawLine(transform.position - new Vector3(2.25f, 0, 0), transform.position + new Vector3(2.25f, 0, 0));
}

切换InputSystem时间模式

InputSystem.settings.updateMode = InputSettings.UpdateMode.ProcessEventsInDynamicUpdate;//无视物理时间
InputSystem.settings.updateMode = InputSettings.UpdateMode.ProcessEventsInFixedUpdate;//使用物理时间,受TimeScale影响

音效多条播放

audioSource.PlayOneShot(片段,音量);//防止播放器短时间播放多条音效导致上条音效未播放完就切换到下条

射线检测

Physics.Raycast(origin(V3), direction(V3), hitInfo(RaycastHit), distance(float), LayerMask(int));//初始点,方向,碰撞信息,距离(可省略不写),碰撞图层(默认全选)

2D人物卡墙

1.先新建一Physic material 2D,这里可能会遇到一个问题:官方提示Assets > Create > Physics Material 2D
2.把摩擦力改成0
在这里插入图片描述
3.将该材质赋值到游戏玩家上
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值