查看: 1974|回复: 7
打印 上一主题 下一主题

[项目源码] 精简好用的u3d摄像机控制脚本

[复制链接]

2

主题

3

听众

303

积分

设计实习生

Rank: 2

纳金币
18
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2014-10-13 10:01:12 |只看该作者 |倒序浏览
    private Transform player;
    public float scrollSpeed = 6.0f;
    public float roundSpeed = 4.2f;
    public float _vMinLimit = 15f; //y min limit
    public float _vMaxLimit = 55f; //y max limit

    public float zoomMin = 3f;  //zoom min
    public float zoomMax = 8f; //zoom max

    float hh;
    float vv;
    float distance;

    // Update is called once per frame
    void Update () {
        if (!player) {
            getPlayer();        
        }
        calPos (aroundView (), scrollView ());


    }
    float scrollView(){
        float wheel = Input.GetAxis ("Mouse ScrollWheel");
        float dis = Vector3.Distance (transform.position, player.position);
        dis -= wheel * scrollSpeed;

        distance = Mathf.Clamp (distance,zoomMin,zoomMax);
        return distance;

    }
    Quaternion aroundView(){
        float h = Input.GetAxis ("Mouse X");
        float v = Input.GetAxis ("Mouse Y");
        Quaternion rt = Quaternion.Euler(transform.eulerAngles);

        bool rightMouseDown = Input.GetMouseButton (1);
        if (rightMouseDown) {

            hh += h * roundSpeed; // horizontal
            vv -= v;//vertical
            vv = Mathf.Clamp(vv,_vMinLimit,_vMaxLimit);
            rt = Quaternion.Euler(vv,hh,0f);
        }
        return rt;
    }
    //core code
    void calPos(Quaternion angle,float distance){

        Vector3 pos = angle*new Vector3 (0f,0f,-distance) + player.position;//core code

        transform.position = pos;
        transform.rotation = angle;//or use the next method
//        transform.LookAt (player.position);
    }

    void getPlayer(){

        player = GameObject.FindGameObjectWithTag (TagsEnum.Player.ToString ()).transform;
         hh = transform.eulerAngles.y;
        vv = transform.eulerAngles.x;
        distance = zoomMax;
    }




分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

40

主题

0

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
279
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-10-13 13:14:13 |只看该作者
头像比资源更吸引人,完全不知道你所谓的精简好用的U3D相机控制代码能做什么?
回复

使用道具 举报

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38266
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-10-13 14:00:17 |只看该作者
先买下看看
回复

使用道具 举报

0

主题

2

听众

4092

积分

中级设计师

Rank: 5Rank: 5

纳金币
530
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-10-14 06:10:49 |只看该作者
感谢分享!
回复

使用道具 举报

0

主题

2

听众

3482

积分

中级设计师

Rank: 5Rank: 5

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2014-10-16 09:30:05 |只看该作者
太好了!!!!!!!!!
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2014-10-16 10:30:37 |只看该作者
So anybody say what's in a black box?
回复

使用道具 举报

0

主题

1

听众

823

积分

初级设计师

Rank: 3Rank: 3

纳金币
80
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2014-10-16 11:41:51 |只看该作者
先买下看看
回复

使用道具 举报

0

主题

1

听众

939

积分

初级设计师

Rank: 3Rank: 3

纳金币
330
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2014-12-4 14:53:32 |只看该作者
好                                          
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-8 02:37 , Processed in 0.087768 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部