1、打开3DMax并导入一个模型。点击标识“摄像机”,在点击下面菜单栏里的“目标”;
2、将窗口切换到“顶视图”。用鼠标点击绘画栏空白的地方,并拖出“摄像机”。;
3、按“c”键,就会出来摄像机的视角,调整摄像头的角度。
大概写一下:方法一:用触发手机的横屏和竖屏之间的切换的事件
代码如下:
window.addEventListener("orientationchange", function() {
// 宣布新方向的数值
alert(window.orientation)
}, false)
方法二:监听调整大小的改变
代码如下:
window.addEventListener("resize", function() {
// 得到屏幕尺寸 (内部/外部宽度,内部/外部高度)
}, false)
css判断横竖屏幕
代码如下:
@media screen and (orientation:portrait) {
/* portrait-specific styles */
}
/* landscape */
@media screen and (orientation:landscape) {
/* landscape-specific styles */
}
本地window.matchMedia方法允许实时媒体查询。我们可以利用以上媒体查询找到我们是处于直立或水平视角:
代码如下:
var mql = window.matchMedia("(orientation: portrait)")
// 如果有匹配,则我们处于垂直视角
if(mql.matches) {
// 直立方向
alert("1")
} else {
//水平方向
alert("2")
}
// 添加一个媒体查询改变监听者
mql.addListener(function(m) {
if(m.matches) {
// 改变到直立方向
document.getElementById("test").innerHTML="改变到直立方向"
}
else {
document.getElementById("test").innerHTML="改变到水平方向"
// 改变到水平方向
}
})
using UnityEngineusing System.Collections
public class FPSCameraControl : MonoBehaviour
{
public float xAxisRotateMin = -30f//绕X轴旋转的最小度数限制
public float xAxisRotateMax = 30f// 最大
public float xRotateSpeed = 30f //绕X轴旋转的速度
public float yRotateSpeed = 50f //绕Y轴旋转的速度
float yRotateAngle
float xRotateAngle
void Update()
{
if (Input.GetMouseButton(0))
{
yRotateAngle += Input.GetAxis("Mouse X") * Time.deltaTime * yRotateSpeed
xRotateAngle += Input.GetAxis("Mouse Y") * Time.deltaTime * xRotateSpeed
if (xRotateAngle < xAxisRotateMin)
{
xRotateAngle = xAxisRotateMin
}
if (xRotateAngle > xAxisRotateMax)
{
xRotateAngle = xAxisRotateMax
}
transform.rotation = Quaternion.Euler(new Vector3(xRotateAngle, yRotateAngle, 0))//设置绕Z轴旋转为0,保证了垂直方向的不倾斜
}
}
}
上面脚本拖拽到相机上即可。
有什么不懂的可以给我发站内消息。~~~