查看: 1785|回复: 6
打印 上一主题 下一主题

[其他] 物品展示必备代码(旋转与缩放代码)

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

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

跳转到指定楼层
楼主
发表于 2014-6-30 18:32:52 |只看该作者 |倒序浏览
  1. <pre>using UnityEngine;
  2. using System.Collections;
  3. // 直接放在相机上,控制相机的旋转和缩放 //
  4. public class CameraContro : MonoBehaviour {
  5.        
  6.         public Transform target;            
  7.         public float xSpeed=200, ySpeed=200, mSpeed=10;
  8.         public float yMinLimit=-50, yMaxLimit=50;
  9.         public float distance=7, minDistance=2, maxDistance=30;
  10.        
  11.         //bool needDamping = false;
  12.         public bool needDamping =true;  
  13.         float damping = 5.0f;
  14.        
  15.         public float x = 0.0f;
  16.         public float y = 0.0f;
  17.        
  18.        
  19.         public void SetTarget( GameObject go )
  20.                
  21.                
  22.         {
  23.                 target = go.transform;
  24.         }
  25.         // Use this for initialization
  26.         void Start () {
  27.                 Vector3 angles = transform.eulerAngles;
  28.                 x = angles.y;
  29.                 y = angles.x;
  30.         }
  31.        
  32.         // Update is called once per frame
  33.         void LateUpdate ()  
  34.         {
  35.                
  36.                
  37.                 if (target)  
  38.                 {
  39.                         //use the light button of mouse to rotate the camera
  40.                         if( Input.GetMouseButton(0) )
  41.                         {
  42.                                 x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;
  43.                                 y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;
  44.                                
  45.                                 y = ClampAngle(y, yMinLimit, yMaxLimit);
  46.                                
  47.                                 //print(Input.GetAxis("Mouse X"));
  48.                                 //print( Input.GetAxis("Mouse Y"));
  49.                                 //print(x);
  50.                                 //print(y);
  51.                                
  52.                                 //<a  target="_blank" class="relatedlink">unity3d</a>教程手册:www.unitymanual.com
  53.                         }  
  54.                        
  55.                        
  56.                         distance -= Input.GetAxis("Mouse ScrollWheel")*mSpeed;
  57.                         distance = Mathf.Clamp(distance, minDistance, maxDistance);
  58.                        
  59.                        
  60.                         Quaternion rotation = Quaternion.Euler(y, x, 0.0f);
  61.                         Vector3 disVector = new Vector3( 0.0f, 0.0f, -distance );
  62.                         Vector3 position = rotation * disVector + target.position;
  63.                         //adjust the camera
  64.                         if( needDamping )
  65.                         {
  66.                                 transform.rotation = Quaternion.Lerp(transform.rotation, rotation, Time.deltaTime*damping);
  67.                                 transform.position = Vector3.Lerp(transform.position, position, Time.deltaTime*damping);
  68.                         }
  69.                         else
  70.                         {
  71.                                 transform.rotation = rotation;
  72.                                 transform.position = position;
  73.                         }
  74.                         //Unity3D教程手册:www.unitymanual.com
  75.                        
  76.                 }
  77.         }
  78.        
  79.         static float ClampAngle (float angle, float min, float max)  
  80.         {
  81.                 if (angle < -360)
  82.                         angle += 360;
  83.                 if (angle > 360)
  84.                         angle -= 360;
  85.                 return Mathf.Clamp (angle, min, max);
  86.         }
  87. }
  88. </pre><div></div>
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏1 支持支持0 反对反对0
回复

使用道具 举报

115

主题

3

听众

5676

积分

高级设计师

Rank: 6Rank: 6

纳金币
7268
精华
0

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

沙发
发表于 2014-6-30 18:50:41 |只看该作者
Thanks for sharing !
回复

使用道具 举报

wucnj    

1

主题

1

听众

3160

积分

中级设计师

Rank: 5Rank: 5

纳金币
1065
精华
0

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

板凳
发表于 2014-7-1 10:37:04 |只看该作者
感谢分享!!!
回复

使用道具 举报

0

主题

1

听众

823

积分

初级设计师

Rank: 3Rank: 3

纳金币
80
精华
0

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

地板
发表于 2014-7-1 12:47:15 |只看该作者
感谢分享!!!
回复

使用道具 举报

1

主题

3

听众

6477

积分

高级设计师

Rank: 6Rank: 6

纳金币
75
精华
0

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

5#
发表于 2014-7-8 17:46:45 |只看该作者
mark一下。
回复

使用道具 举报

0

主题

2

听众

3482

积分

中级设计师

Rank: 5Rank: 5

纳金币
2
精华
0

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

6#
发表于 2014-8-12 21:02:00 |只看该作者
Thanks for sharing !
回复

使用道具 举报

2

主题

5

听众

1506

积分

助理设计师

Rank: 4

纳金币
49
精华
0

活跃会员

7#
发表于 2014-8-12 21:16:49 |只看该作者
that is  great
!
回复

使用道具 举报

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

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-9-23 23:28 , Processed in 0.148275 second(s), 32 queries .

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

© 2008-2019 Narkii Inc.

回顶部