unity实现一个物体绕着某点旋转

transform.RotateAround(o.transform.position,Vector3.up,20*Time.deltaTime);
transform.Rotate(Vector3.up, 20*Time.deltaTime, Space.World);

RotateAround():让物体围绕招某点旋转,参数分别为,旋转的点坐标,旋转的方向,旋转的速度。

Rotate():让物体自传,参数分别为:旋转的方向,旋转的速度,旋转的坐标系(世界坐标系和自身坐标系)。

原文地址:https://www.cnblogs.com/mcyushao/p/9427667.html

时间: 2024-10-08 03:37:49

unity实现一个物体绕着某点旋转的相关文章

[Unity官方文档翻译]Primitive and Placeholder Objects Unity原生3D物体教程

Primitive and Placeholder Objects 原始的基础物体 Unity can work with 3D models of any shape that can be created with modelling software. However, there are also a number of primitive object types that can be created directly within Unity, namely the Cube, S

实现物体绕不同轴旋转,并可以外部调用的函数

第一个文件,声明枚举类型,分别为均匀变化和加速变化 1 2 3 4 5 6 7 8 using UnityEngine; using System.Collections; public enum CTRotationType {     Uniform,     AccelerateUniformly } 第二个文件:主函数,实现围绕轴变化的两个函数,分别为均匀变化和加速变化   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

一个物体多个标签的问题

考虑一个物体: (1)是什么类别的物体(物,车,人分别标注成0,1,2) (2)有什么颜色(红橙黄绿青蓝紫...分别标注成0,1,2...10) 那么,表示一辆黄绿色的车,怎么表示: 表示方法一:[1,2,3,-1] 该表示方法中,第一位代表是车,第二.三.四位代表有三种颜色(注意,并不是RGB颜色分量,是颜色!),这意味着物体最多有3种颜色,不足3种颜色的,用-1补充到三位.这三位与顺序无关.即写成[1,-1,2,3]等都可以. 表示方法二: 分别考虑物体类别和颜色类别.物体类别3类,简单,不

OpenGl 实现鼠标分别移动多个物体 ----------移动一个物体另外一个物体不动--读取多个3d模型操作的前期踏脚石

原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11620088.html 前言: 因为接下来的项目需求是要读取多个3D模型,并且移动拼接,那么我就先实现鼠标控制两个物体移动互不干扰来当踏脚石. 一.鼠标控制函数准备 我们需要对鼠标信息的获取,那么必然需要一个鼠标事件的响应函数来控制,很好opengl已经有内部的鼠标控制函数了,我们直接拿来使用就行了. glutMouseFunc( (void*)Func(int button, int st

unity3d一个物体围绕另一个物体旋转

可以使用RotateAround,代码如下: transform.RotateAround (Sun.transform.position, Vector3.down, 5); 其中第一个参数是要围绕哪一个对象来旋转,Sun.transform.position表示的是Sun的中心点. 第二个参数是指要围绕哪一个轴来旋转,Vector3.down表示围绕y轴负向旋转(也可以理解为逆时针),如果是Vector.up表示顺时针. 第三个参数之每一帧移动的角度,这里为5度.

【小松教你手游开发】【unity实用技能】往avatar身边放置一个物体(随机)

在开发中时不时会用到这个需求,比如要放置一个宠物在身边,但是不能在自己身上. 一个简单的方法 Vector3 pos = Vector3.zero; int angle = Random.Range(0, 360); Vector3 range = Quaternion.AngleAxis(angle, Vector3.up) * Vector3.back * 1.5f; pos = pos + range; 同理,如果想做一个跟随功能,就是离角色有一定距离, Vector3 chasePosi

一个点绕着另一个点旋转一定角度后的坐标

double x = vec_endPoint_rotate.x(); double y = vec_endPoint_rotate.y(); double dx = vec_center_rotate.x(); double dy = vec_center_rotate.y(); //一个点(x,y)绕任意点(dx,dy)顺时针旋转a度后的坐标 double xx = (x - dx)*cos(angleParam* VC_PI / 180) - (y - dy)*sin(angleParam

Unity 相机围绕物体指定观察角度和位置

问题:相机始终围绕着O观察,现在从A坐标和视角 运动旋转 到B坐标和视角.. 条件:abcd这个矩形盒差不多是物体O的顶视图尺寸,A点箭头是相机所在的起点和角度,B点为目标点需要观察的角度. 直接直线移动相机并按照AB夹角的差去移动和扭转相机的话 镜头很容易翻转!相机不可能总是在关注O对象!难受死了! 我能想到的最优解决办法: 水平围绕+position插值.angle插值!插值时使用Lerp函数,而非直接递增角度.递增位置! 我之所以最后这么"愉快"的决定实在是由于数学捉急,除非会构

Unity手游之路<四>3d旋转-四元数,欧拉角和变幻矩阵

http://blog.csdn.net/janeky/article/details/17272625 今天我们来谈谈关于Unity中的旋转.主要有三种方式.变换矩阵,四元数和欧拉角. 定义 变换矩阵 可以执行任意的3d变换(平移,旋转,缩放,切边)并且透视变换使用齐次坐标.一般比较少用到.Unity中提供了一个Matrix4x4矩阵类 四元数 “四元数是最简单的超复数. 复数是由实数加上元素 i 组成,其中i^2 = -1. 相似地,四元数都是由实数加上三个元素 i.j.k 组成,而且它们有