查看: 1015|回复: 1
打印 上一主题 下一主题

[其他] 如何使用Unity进行360度观察物体?

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

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

跳转到指定楼层
楼主
发表于 2015-1-31 18:25:49 |只看该作者 |倒序浏览
1.新建js脚本,命名为RotateObserve,双击脚本进行编辑,代码如下
  1. var target:Transform;
  2. var distance = 10.0;
  3. var xSpeed = 250.0;
  4. var ySpeed = 120.0;
  5. var yMinLimit = -20;
  6. var yMaxLimit = 80;
  7. var distanceMin = 3;
  8. var distanceMax = 15;
  9. var x = 0.0;
  10. var y = 0.0;
  11. //@script AddComponentMenu("Camera-Control/Mouse Orbit");
  12. function Start () {
  13.     var angles = transform.eulerAngles;
  14.     x = angles.y;
  15.     y = angles.x;
  16.     // Make the rigid body not change rotation
  17.     if (rigidbody)
  18.         rigidbody.freezeRotation = true;
  19. }
  20. function LateUpdate () {
  21.     if(Input.GetAxis("Fire1")==0)return;
  22.     if (target) {
  23.         x += Input.GetAxis("Mouse X") * xSpeed * distance* 0.02;
  24.         y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;
  25.         var rotation = Quaternion.Euler(y, x, 0);
  26.         distance = Mathf.Clamp(distance - Input.GetAxis("Mouse ScrollWheel")*5, distanceMin, distanceMax);
  27.         var hit : RaycastHit;
  28.         if (Physics.Linecast (target.position, transform.position, hit)) {
  29.             distance -= hit.distance;
  30.         }
  31.         var position = rotation * Vector3(0.0, 0.0, -distance) + target.position;
  32.         transform.rotation = rotation;
  33.         transform.position = position;
  34.     }
  35. }
复制代码
2.将脚本拖曳至场景相机,将需要观察的物体拖曳至Transform下,运行即可。

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

使用道具 举报

3

主题

1

听众

6189

积分

高级设计师

Rank: 6Rank: 6

纳金币
370
精华
0

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

沙发
发表于 2015-1-31 18:50:12 |只看该作者
Thanks for sharing!
回复

使用道具 举报

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

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

GMT+8, 2025-7-30 01:15 , Processed in 0.059133 second(s), 28 queries .

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

© 2008-2019 Narkii Inc.

回顶部