Unity3D中要如何让摄像机围绕某个特定的对象旋转呢?
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/17 00:11:07
Unity3D中要如何让摄像机围绕某个特定的对象旋转呢?
制作游戏时我们需要让摄像机围绕某个特定对象旋转,以便使用户更方便观察该对象.我们需要用到transform的RotateAround(vector3 postion,vector3 axis,float angle)函数(注:本文仅用C#).
下面例子可以让你更好的理
游戏界面:一个摄像机Main Camera,一个方体Cube
在Project视图中创建一个新的脚本文件Gamelogic1.cs
代码界面:代码如下
using UnityEngine;
using System.Collections;
public class Gamelogic1: MonoBehaviour {
public GameObject cube;
Vector2 p1,p2;//用来记录鼠标的位置,以便计算旋转幅度
// Use this for initialization
void Start () {
originalPosition=transform.position;
cube=GameObject.Find("Cube");}// Update is called once per frame
void Update () {
if(Input.GetMouseButtonDown(1)){p1=new Vector2(Input.mousePosition.x,Input.mousePosition.y);//鼠标右键按下时记录鼠标位置p1}if(Input.GetMouseButton(1)){p2=new Vector2(Input.mousePosition.x,Input.mousePosition.y);//鼠标右键拖动时记录鼠标位置p2
//下面开始旋转,仅在水平方向上进行旋转
float dx=p2.x-p1.x;
transform.RotateAround(cube.transform.position,vector3.up,dx*Time.delTime);}}PS:
可以百jjop度搜.编.程.回.忆.录.之.unity3dS可以详细为你讲解.您的Unity3D的MonoDevelop可能不支持中文,如出现错误,请将上面示例代码中的中文注释去掉
编辑好代码之后,在视图界面将Gamelogic1.cs拖到摄像机上,以便使代码能执行.这样您就可以在水平方向上按任意角度查看对象了.
编程小记:可以多参考一下Unity的脚本参考,那里有所有对象、属性、方法的解释及示例,当然前提是您英文要好O(∩_∩)O哈哈~
下面例子可以让你更好的理
游戏界面:一个摄像机Main Camera,一个方体Cube
在Project视图中创建一个新的脚本文件Gamelogic1.cs
代码界面:代码如下
using UnityEngine;
using System.Collections;
public class Gamelogic1: MonoBehaviour {
public GameObject cube;
Vector2 p1,p2;//用来记录鼠标的位置,以便计算旋转幅度
// Use this for initialization
void Start () {
originalPosition=transform.position;
cube=GameObject.Find("Cube");}// Update is called once per frame
void Update () {
if(Input.GetMouseButtonDown(1)){p1=new Vector2(Input.mousePosition.x,Input.mousePosition.y);//鼠标右键按下时记录鼠标位置p1}if(Input.GetMouseButton(1)){p2=new Vector2(Input.mousePosition.x,Input.mousePosition.y);//鼠标右键拖动时记录鼠标位置p2
//下面开始旋转,仅在水平方向上进行旋转
float dx=p2.x-p1.x;
transform.RotateAround(cube.transform.position,vector3.up,dx*Time.delTime);}}PS:
可以百jjop度搜.编.程.回.忆.录.之.unity3dS可以详细为你讲解.您的Unity3D的MonoDevelop可能不支持中文,如出现错误,请将上面示例代码中的中文注释去掉
编辑好代码之后,在视图界面将Gamelogic1.cs拖到摄像机上,以便使代码能执行.这样您就可以在水平方向上按任意角度查看对象了.
编程小记:可以多参考一下Unity的脚本参考,那里有所有对象、属性、方法的解释及示例,当然前提是您英文要好O(∩_∩)O哈哈~
3dsmax中如何让物体旋转特定角度
ae中如何让图片围绕指定的点旋转?都是围绕中心旋转,能否调整中心点
maya里面小球围绕大球转,如何让小球的一面永远对着摄像机?
Unity3D中如何使对象自动移动从一个点到另一个点
[Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应
AE 中如何让很多图片围成一个圆 然后在中间建立一个摄像机旋转拍摄啊,
EXCEL中 如何统计某个单元格内字符串中,特定字符的个数?
在excel中如何统计一列中包含某个特定字符的个数
请问有谁知道在excel中如何统计一列中包含某个特定字符的个数?会的人说下嘛,
unity3d 中如何让一个物体一端固定,另一端随另一物体运动,就像弹簧一样
cad中如何旋转地形图 而让里边标高的数字不跟着旋转(里边的数字不是一个整体 点某个数字只选中那一个而不是全部)
unity3d如何在实例化中确定transform的所有值?