zoukankan      html  css  js  c++  java
  • Unity3D学习笔记——Camera绕着物体旋转

    在Unity的文档里面和百度上都没有找到如何使Camera旋转的方法,可能是我不会搜索吧,最后在百度知道上面看到了一个相关性不是很大的问题触发了我的灵感。

    Unity中的GameObject之间有一个Parenting关系,如果A是B的Parent,A怎么移动怎么旋转,B就怎么移动和旋转。了解了这个就好办了,

    我虽然不会旋转Camera,但是我会旋转Cube啊,把Cube设置为Camera的parent,写一个旋转Cube的C#脚本绑定到Cube上面,然后Cube怎么旋转Camera就怎么旋转了。

    最后想办法把这个Cube隐藏掉,不然的话,你在Scene窗口中只能看到这个Cube,而不能看到其它东西。这就和你绕着一个柱子走,你眼睛看到的永远是柱子,现在想办法如果能把这个柱子隐藏掉,那么我就能看到其它的东西了,然后就会有那种镜头旋转的效果了。

    最后做成了这种效果:

    下面是源码,用Unity3D打开之后切换倒Scene窗口查看效果更好。

     http://pan.baidu.com/s/1BtOPT

    恩,不知道有没有什么办法能隐藏掉一个GameObject同时又不影响Camera的旋转?

    其实这篇文章的目的是GameObject之间的Parenting属性,感觉这个属性很重要,会在许多的地方用到。比如设置一个点光源为一个GameObject的Child属性。

    那么GameObject移动的时候,点光源也在移动。再比如在FPS游戏中第三视角估计就是一个camera绑定到了人物模型的后方或者后上方,人物模型移动的时候camera里面的scene就随着变化了。

    感觉3D数学好难啊,啥是欧拉角啊???

    突然发现自己好蠢啊,只要写个RotateAround脚本然后附加到camera就可以了,我一开始的思维是,旋转照相机的功能是属于照相机这个类的,于是在unity的帮助文件里面果然找到了camera这个类,但是并没有发现和旋转照相机有关的信息。这几天反思了几天写的文章,突然发现其实任何对象都可以transform.RouteAround的,你把包含旋转代码的脚本绑定在照相机上面那么就旋转照相机,绑定在cubte上那就旋转cube,光照什么的都可以绑。

  • 相关阅读:
    机器学习是什么
    Computer Vision的尴尬---by林达华
    机器学习算法与Python实践之(四)支持向量机(SVM)实现
    机器学习算法与Python实践之(三)支持向量机(SVM)进阶
    Hortonworks HDP Sandbox定制(配置)开机启动服务(组件)
    GCC单独编译host/examples/ tx_waveforms.cpp
    GDAL1.11版本号对SHP文件索引加速測试
    Tcl 简单介绍及特性
    Hardwood Species
    java整合easyui进行的增删改操作
  • 原文地址:https://www.cnblogs.com/danchaofan361/p/3432461.html
Copyright © 2011-2022 走看看