Unity Vector3.Slerp使用范例



using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class TestSlerp : MonoBehaviour
{
public Transform a;
public Transform b; void Start()
{ }
bool kaishi = false;
float T;
void Update()
{
if (Input.GetKeyDown(KeyCode.S))
{
kaishi = true;
T = Time.time;
print(Time.time + " SSSSSSSSSSS " + T); }
if (kaishi)
{
Debug.DrawLine(Vector3.zero, new Vector3(, , ), Color.red);
//for (int i=0;i<11;++i)
//{
Vector3 center = (a.position + b.position) * 0.5f;
center -= new Vector3(, , );
Vector3 temp1 = a.position - center;
Vector3 temp2 = b.position - center;
print(Time.time + " " + T);
Vector3 c = Vector3.Slerp(temp1, temp2, (Time.time-T) * 0.1f); c += center;
transform.position = c;
//Debug.DrawRay(center, c, Color.red);
//Debug.DrawRay(Vector3.zero, c, Color.red);
Debug.DrawLine(center, c, Color.blue);
Debug.DrawLine(Vector3.zero, c, Color.blue); // print(i);
}
}
}
最终效果如下:

修改如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class TestSlerp : MonoBehaviour {
public Transform a;
public Transform b;
void Start () { }
void Update () {
Debug.DrawLine(Vector3.zero,new Vector3(,,),Color.red);
for (int i=;i<;++i)
{
Vector3 center = (a.position + b.position) *0.5f;
center -= new Vector3(,,);
Vector3 temp1 =a.position - center;
Vector3 temp2 =b.position - center;
Vector3 c = Vector3.Slerp(temp1, temp2, i * 0.1f);
Debug.DrawLine(center, c, Color.blue);
Debug.DrawLine(Vector3.zero, c, Color.blue);
}
}
}
效果如下:

更多可参考:http://www.manew.com/thread-43314-1-1.html
Unity Vector3.Slerp使用范例的更多相关文章
- Unity球形插值Slerp解析
Unity球形插值,官方有个太阳升降的例子: http://docs.unity3d.com/ScriptReference/Vector3.Slerp.html 一开始主观认为这个球形插值Slerp ...
- 【Unity】6.7 向量和Vector3类
分类:Unity.C#.VS2015 创建日期:2016-04-20 一.简介 在虚拟的游戏世界中,与3D有关的数学知识决定了游戏引擎如何计算和模拟出开发者以及玩家看到的每一帧画面.学习或者回想一下基 ...
- Unity Game窗口中还原Scene窗口摄像机操作 强化版
之前写的那个版本看来真的是不行啊.最近研究了一下官方第一人称脚本,人家的平滑过渡真的是没得说.借鉴了一下,写出来了一个新的比较完美的控制. 之前我们的操作是通过鼠标输入的开始坐标和转动坐标.其实官方有 ...
- C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型
遇到一个想做的功能,但是实现不了,核心原因是因为对U3D的3D数学概念没有灵活吃透.故再次系统学习之—第三次学习3D数学. 本次,希望实现的功能很简单: 如在小地图中,希望可以动态画出Player当前 ...
- Unity 之 c# 版的 CharacterMotor
using System; using System.Collections; using UnityEngine; // This class just convert from Character ...
- Unity 代码 学习
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A: B: using System; using System.Runtime.Compile ...
- Unity API 解析 (陈泉宏著)
1 Application类 2 Camera类 3 GameObject类 4 HideFlags类 5 Mathf类 6 Matrix4x4类 7 Object类 8 Quaternion类 9 ...
- unity 移动物体的方式
1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...
- 关于Unity中的transform组件(三)
game_root节点下右一个Cube子节点,和一个Sphere节点,脚本挂载在game_root下 四元数:(1)Quaternion rot (2)this.cube.rotation 欧拉角:V ...
随机推荐
- 【redis】常用命令
三.常用命令 1)连接操作命令 quit:关闭连接(connection) auth:简单密码认证 help cmd: 查看cmd帮助,例如:help quit ...
- Java I/O 应用程序设计
课程 Java面向对象程序设计 一.实验目的 掌握数据流的使用 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境 三.实验内容 1.使用Scan ...
- 深入理解Java:自定义java注解
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法. 元注解: 元注解的作用就是负责注解其他注解.Java5. ...
- C#趣味程序---车牌号推断
甲说前两位同样,乙说后两位同样,丙说四位的车牌号刚好是一个数的平方.这个车牌号是多少? using System; namespace ConsoleApplication1 { class Prog ...
- 编码规范:Eclipse Checkstyle配置
http://chenzhou123520.iteye.com/blog/1627618 http://www.cnblogs.com/lanxuezaipiao/p/3202169.html
- python新手中常见疑惑及解答
1 lambda函数 函数格式是lambda keys:express 匿名函数lambda是一个表达式函数,接受keys参数,返回表达式的值.所以不用return,也没有函数名,经常用在需要ke ...
- object-c 获得目录(包括子目录)下所有文件和文件夹路径
void getAllPathNameInDirectory(vector<string>&filePathList,vector<string>&direct ...
- python 在升级到python2.7之后安装相关插件
# yum update # yum install centos-release-SCL # yum search all python27 在搜索出的列表中发现python27-python-de ...
- Spring的@Required注解
该@Required注解适用于bean属性setter方法,并表示受影响的bean属性必须在XML配置文件在配置时进行填充.否则,容器会抛出一个BeanInitializationException异 ...
- Windows Azure Mobiles Services实现client的登录注冊
下文仅仅是简单实现,client以Android端的实现为例: 用户表Account: package com.microsoft.ecodrive.model; public class Accou ...