四元数旋转+四元数和向量相乘+音频相关

eulerAngles API

rotation.eulerAngles Unity把四元数用欧拉角的形式展现在Inspector面板上(0-360),更好理解。

例:

Vector3 eulerAngles=cube.transform.rotation.eulerAngles;

Debug.Log("eulerAngles:"+eulerAngles);

四元数和向量相乘

以下小案例运用了四元数与向量相乘的知识点,使其类似与RotateAround功能,代码如下:

cs 复制代码
    public GameObject cube;
    public GameObject target;
    private float deg = 1;
    void Update()
    {
        Vector3 dir = target.transform.position - cube.transform.position;
        //求出从cube指向target的dir向量
        Quaternion q1 = Quaternion.AngleAxis(deg, Vector3.up);//沿y轴旋转deg
        Vector3 newdir = q1 * dir;//四元数与向量相乘
        Debug.DrawLine(cube.transform.position, target.transform.position, Color.blue);
        Debug.DrawRay(cube.transform.position, newdir, Color.red);
        //将cube的坐标加上newdir得到新位置,新位置为cube沿着newdir移动newdir模长距离
        Vector3 pos = newdir + cube.transform.position;
        target.transform.position = pos;//将新位置赋给target

    }

实现效果如下:

Lerp与Slerp的区别

对应代码及展示效果如下图,通过其展示图可直观看出两者的区别:

音频相关

AudioSource:播放声音的组件,音源

Mute:静音

Play On Awake:唤醒时自动播放

loop:循环;

Priority:优先级;

Volume:音量大小

Pitch:音调高低

AudioListener:监听声音,一般放在摄像机上,相当于耳朵,一个场景内只能有一个这个组件

AudioClip:Unity支持的音频格式:

.aiff:适用于较短声音片段;

.wav:适用于较短声音片段;

.mp3,OGG:适合较长的音乐片段。

Force to momo:强制将多声道音频转换成单声道音频,占用大小会缩小;勾选Normalize之后会对声音有优化。

Load In Background:在后台加载声音

Load Type: Decompress On Load:以不压缩的形式存在内存,用的时候方便,但是占用内存高;

Compress in memory:以压缩的形式存在内存

Streaming:以流的形式存在内存,使用时现解码

Preload Audio Data:预加载音频资源;如果勾选进入场景就会马上加载;如果不勾选,第一次使用音频时才会加载进来。

Compression Format:PCM:音频以最高质量进行存储

Vorbis:相对来说压缩的更小;根据质量控制Quality选择;

ADPCM:脚步声,武器碰撞的声音。

该系列专栏为网课课程笔记,仅用于学习参考。

相关推荐
HH‘HH10 小时前
Unity引擎界面各个功能面板详细介绍
unity·游戏引擎
℡枫叶℡10 小时前
Unity 2D资产命名常用缩写
unity·资产命名缩写
丁小未14 小时前
Unity AssetBundle商业化项目资源方案
unity·游戏引擎·assetbundle·unity框架
unityのkiven17 小时前
通过 Unity 实现杀戮尖塔2式卡牌系统与机制
unity·游戏引擎
郝学胜-神的一滴18 小时前
中级OpenGL教程 020:巧用数组与循环实现多点点光源渲染,告别冗余代码重构方案
c++·unity·游戏引擎·godot·图形渲染·unreal
Duo1J19 小时前
【UE】Slate 编辑器工具开发01 - Slate语法 & 常用控件
ue5·编辑器·游戏引擎·ue4
qq_1702647519 小时前
unity的锁帧和垂直同步
unity·游戏引擎
承渊政道21 小时前
飞算Java炫技赛:Java×Unity数字孪生园区平台的从零落地记录
java·开发语言·unity·技术分享·vibe coding·飞算javaai·飞算java ai炫技赛
unityのkiven1 天前
Unity 共享材质修改问题与 MaterialPropertyBlock 解决方案
unity·游戏引擎·材质
丁小未1 天前
Unity 极致高效的IM设计方案教程
unity·性能优化·游戏引擎·im