由于Okami很懒,他只记不太好搜的。
内容按添加时间的倒序排列。
Unity 2D下固定Camera显示的场景宽度
见链接中2017.03.28的回答 Fixed width, relative height, on different aspect ratio screen?
直接将以下脚本拖到Camera上
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour
{
//Set a fixed horizontal FOV
public float horizontalFOV = 120f;
//somewhere in update if screen is resizable
Camera cam;
void Awake()
{
cam = GetComponent<Camera>();
}
void FixedUpdate()
{
cam.fieldOfView = calcVertivalFOV(horizontalFOV, Camera.main.aspect);
}
private float calcVertivalFOV(float hFOVInDeg, float aspectRatio)
{
float hFOVInRads = hFOVInDeg * Mathf.Deg2Rad;
float vFOVInRads = 2 * Mathf.Atan(Mathf.Tan(hFOVInRads / 2) / aspectRatio);
float vFOV = vFOVInRads * Mathf.Rad2Deg;
return vFOV;
}
}
在Unity中在不改变音高的前提下改变音频片段的播放速度
见链接中2018年10月的回答 How I can change the speed of a song or sound?
- 目前不适用于WebGL,因Audio Mixer不被支持。
- 将Audio Source的outputAudioMixerGroup设为刚添加的Audio Mixer Group
- 添加一个Audio Mixer Group
- 在这个Audio Mixer Group中加入Pitch Shifter效果
- 将Pitch Shifter的Pitch参数暴露到脚本中
- 若使播放速度变为原来的x倍
- 将Audio Source的pitch参数乘x
- 将Pitch Shifter的pitch参数除x
在Unity C# Scripts中使用event系统
- 【Unity3D技巧】在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信
- 【Unity3D技巧】在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信 (二) : 引入中间层NotificationCenter
在Unity C# Scripts中StartCoroutine/yield return这个模式到底是怎么应用的?其中的原理是什么
C#中单问号’?’的一种神奇但少见介绍的用法
Object something = null;
something.DoSomething();
//An error will be thrown.
//However, if you use '?'
Object something = null;
something?.DoSomething();
//Nothing will happen.
//But when something is declared as an instance that really can "DoSomething()", it will actually do it.