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

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:脚步声,武器碰撞的声音。

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

相关推荐
_ZHOURUI_H_13 小时前
Unity TCP底层极限拆解:粘包、半包、CRC、序列号、双缓冲到底怎么一起工作的?
网络·网络协议·tcp/ip·游戏·unity·游戏引擎·游戏开发
KindSuper_liu16 小时前
Unity 游戏网络基础:从 TCP、UDP 到 HTTP、TLS 与 Best HTTP
网络·游戏·unity
qq_1702647518 小时前
unity里GameObject和Texture的内存归属
java·unity·游戏引擎
weixin_4046793119 小时前
godot + vscode ai开发
ide·vscode·编辑器·游戏引擎·godot
还是大剑师兰特2 天前
Unity3D(Unity)完整详细介绍
unity·游戏引擎
ellis19702 天前
u3d插件xLua[七]例6 Coroutine
unity
还是大剑师兰特2 天前
Unity 从零搭建简易3D场景(新手分步教程)
3d·unity·游戏引擎
神码编程2 天前
【Unity】TankBattle联机坦克大战(三)创建关卡(生成地块)
unity·游戏引擎·帧同步·坦克大战
淡海水2 天前
C#与常用数据结构源码剖析-全篇导览
开发语言·数据结构·unity·面试·职场和发展·c#
神码编程2 天前
【Unity】TankBattle联机坦克大战(四)坦克的核心功能(上)
unity·游戏引擎·帧同步·坦克大战