没有合适的资源?快使用搜索试试~ 我知道了~
Vectrosity5文档中文翻译
需积分: 10 19 下载量 112 浏览量
2018-11-02
09:09:04
上传
评论 1
收藏 5.95MB PDF 举报
温馨提示
试读
50页
这个文档涵盖了如何用 VC++编写脚本。您可能更愿意看到这是如何在动作中起作用的;如果是这样的话,请看一 下脚本中的脚本。 脚本文件夹中 矢量 5DEMOS 统一包装。(确保导入) 矢量图 5 或 矢量源在导入
资源推荐
资源详情
资源评论
编码
版本 5.4
这个文档涵盖了如何用 VC++编写脚本。您可能更愿意看到这是如何在动作中起作用的;如果是这样的话,请看一
下脚本中的脚本。脚本文件夹中矢量 5DEMOS 统一包装。(确保导入)矢量图 5 或矢量源在导入
VCeReStyDeMOS 包之前,请先打包。简单的 2DLIN 和简单对象场景,其中包含了一些最基本的功能。在编辑器
中画线,看看 VCERTSITY5 文档文件。
注意,VC++ 5 需要 Unity 5.2.2 或更高版本。如果你使用 Unity 4.6 到 5.1,你应该使用 VCeReStudio 4.4,这
是单独包含的。如果使用 Unity 4 到 4.5,则需要使用 VECUSTRES3.1.2,也包括单独使用。(Unity 5.0 和
5.2.1 不支持,这是由于 Unity API 的更改。)此文档仅适用于 VCeStruts 5。
基本线条画 (第 2 页): 简单的 开始,使用 SETLIN 和 SETAL。
向量线对象 (第 4 页): 细节 关于矢量线对象,包括颜色、纹理和其他参数。
画线 (第 10 页): 把屏幕放在屏幕上。
帆布和照相机 (第 12 页): 关于矢量画布的信息。
绕线移动 (第 13 页): 移动,旋转,缩放整个线一次。
去除矢量线 (第 15 页): 当你不再想要一条线时该怎么办。
线外 (第 16 页): 你可以用线来做杂项,包括部分线、层等等。
均匀尺度纹理 (第 20 页): 如何制作像虚线和虚线一样的东西。
端盖 (第 22 页): 箭头,圆头,和其他东西,你可以放在线的末端。
线色 (第 25 页): 将颜色分配给线段。
线宽 (第 27 页): 二元线段的二次宽度。
线路对撞机 (第 28 页): 线可以通过使用 2D 对撞机与物理相互作用。
三维线 (第 30 页): 场景中存在的线条。
画点 (第 31 页): 做点而不是线。
向量实用程序 (第 32 页): 各种各样的东西,使线创建更容易,如框,曲线,选择等。
向量管理器 (第 46 页): 使用 3D 矢量对象的实用工具。
提示和故障排除 (第 49 页): 常见问题的 q~~~(a)。
见参考指南对于所有向量和向量管理器函数及其参数的完整列表。
基本线条画
2
为了使用任何 vcRealStices 函数,必须导入 VistueStices 命名空间。这意味着
import Vectrosity; // Javascript or Boo
or
using Vectrosity; // C#;
在使用 VC++的任何脚本的顶部。请注意,此文档中的大多数脚本假定您正在导入命名空间。所以如果你有
错误,一定要先把这条线包括进去。
绘制线条最简单的方法是设置线命令。这与 Debug.DrawLine 命令类似,只是它在构建和编辑中都工作,
并且不限于两点。StReLink 采用颜色,以及两个或更多个点。这些点可以是绘制屏幕空间线的矢量,也可
以是绘制世界空间线的矢量 3。创建一个新的场景,然后将下面的 unyScript 或 c^ ^ ~代码复制到脚本中并
保存它:
import Vectrosity;? // Unityscript
function Start () {
VectorLine.SetLine (Color.green, Vector2(0, 0), Vector2(Screen.width-1, Screen.height-
1));
}
using UnityEngine;// C#
using Vectrosity;
class LineTest : MonoBehaviour {
void Start () {
VectorLine.SetLine (Color.green, new Vector2(0, 0), new Vector2(Screen.width-1,
Screen.height-1));
}
}
在将脚本附加到相机并单击 Play in Unity 之后,这将导致一条 1 像素
厚的绿色线,从屏幕的左下角延伸到右上角。请注意,脚本不必附加
到相机上,它可以附加到场景中的任何对象。
您在 StIdLin 中添加的每一个点都将创建一个附加的线段,所以让我们
扩展上面的例子:
VectorLine.SetLine (Color.green, new Vector2(0, 0), new ector2(Screen.width/2,
Screen.height/2), new Vector2(0, Screen.height) );
基本线条画
3
从左下角到屏幕的中间,再到左上角,画一条直线,结果得到右侧的图
像。如果你愿意,你可以继续增加更多的分数。
另一个相关命令是玷污. 这基本上像 Debug.DrawRay 一样,提供颜色、
起点和方向。注意,与 SetLine 不同,SetRay 只能使用 Vector3 点绘制
世界空间,SetLine 既可以使用 Vector2 点绘制屏幕空间,也可以使用
Vector3 点绘制世界空间。当附在
对象,该代码将沿着它的位置从它的位置绘制一条线到点五个单位:
VectorLine.SetRay (Color.green, transform.position, transform.forward * 5.0f);
真实三维线
如果你在场景中有其他物体,你可能会注意到线条总是画在每件事物的顶部。然而,也可以绘制实际存在于
场景中的线,并且可以被其他 3D 对象遮挡。要做到这一点,你可以使用 StReal3D 和 SETRAY3D:
VectorLine.SetRay3D (Color.green, transform.position, transform.forward * 5.0f);
这里您可以看到左边的 dierence,
SetRay 代码用于立方体,右边使用
SetRay3D 代码,这意味着立方体遮挡
了线。
更新和计时
注意在更新中使用这些命令!每次调用 SetLine 或 SetRay,都会创建一个新行,并且与 Debug 命令的默认
行为不同,这些行将永久保留,除非您指定持续时间。如果您调用 SETLIN 或删除更新中的每一帧,那么您
的场景将迅速填充成百上千的重复行对象。
你可以做的一件事是传递一个时间值。这将导致该行绘制给定的秒数,然后被删除。例如,
VectorLine.SetRay (Color.green, 3.0f, transform.position, transform.forward * 5.0f);
这个代码使光线被绘制 3 秒,然后它消失。这适用于 SETLIN 和 3D 变型,以及:
VectorLine.SetLine (Color.green, 4.0f, Vector2(0, 0), Vector2(250, 250));
向量线对象
4
SetLine 和 SetRay 可以很好地处理简单的事情,但如果您想稍后更改行或在 Update 或协同例程中对它们进
行动画处理呢?恰好,SETLIN 和 SETACE 返回 A 向量线对象。向量线是向量中的一种类型的对象,包含一
组关于线的信息。向量线除了绘制 1-像素-粗线之外还可以做很多事情,并且它们有许多参数。事实上,
StEnLand 和 SeTobe 实际上只是创建基本向量线对象的捷径。向量的整个概念实际上包括创建向量线然后绘
制它们。通常,您只创建过一次 VectorLine,如果希望更改或使其动画化,则更新用于创建 VectorLine 的点。
由于 SetLine 和 SetRay 在调用时返回 VectorLine 对象,因此可以将其分配给变量,并在需要时更改此变量。例
如,下面的脚本将首先绘制由两个随机点组成的线,然后每次按空格键时,它将添加另一个点并重新绘制线:
import Vectrosity;
private var myLine : VectorLine;
function Start () {
myLine = VectorLine.SetLine (Color.green, RandomPoint(), RandomPoint());
}
function RandomPoint () : Vector2 {
return new Vector2(Random.Range(0, Screen.width), Random.Range(0, Screen.height));
}
function Update () {
if (Input.GetKeyDown (KeyCode.Space)) {
myLine.points2.Add (RandomPoint());
myLine.Draw();
}
}
}
我们首先要做的是创建一个变量,其中 VectorLine 的类型作为全局变量,因此它可以被同一脚本中的其他函
数引用。然后,启动函数将 VECRTRIL.SETLIN 返回的向量线分配给“MyLayle”变量。RandomPoint 函数返
回位于屏幕上随机点的 Vector2;这比每次写入都容易。最后,更新函数在按下空格键时添加新的点并重新绘
制线条。
这个向量线对象包含一个第二点列表,对于使用 SETLIN 时定义的每个点有一个条目。我们使用了两个点,所以
Posit2 列表最初有两个条目。(注意,如果在使用 SETLIN 时使用矢量 3 点而不是矢量 2,则应该使用第三点为了
重新绘制已经存在的行,可以使用向量线. 如果使用 StReal3D 或 StRayay3D 并希望重新绘制这些,则可以使用矢
量 3D 相反。Draw 和 Draw3D 都不创建新的线对象——相反,它们只重新绘制现有的 VectorLine 对象,因此可以
根据需要安全地使用它们。
你可以做更多的画线;StLaySand 和 SeToice 只适用于非常简单的线条。它们是 Debug.DrawLine 和
Debug.DrawRay 的良好快速替代品,但如果您想使用 Vectro.进行更多高级行操作,那么您可能更喜欢直接
创建 VectorLine 对象。下面详细介绍这一点。
向量行对象(续)
5
向量线构造函数
在创建向量线对象时,以最简单的形式,您需要提供一个名称、一个向量列表或
向量 3 点,线的宽度为像素:
var myLine = new VectorLine("Line", linePoints, 2.0f);
创建具有名称的行对象线,它使用指定的点的列表直线点是 2 像素密集。默认情况下,行是白色的。这
可以通过使用 VeltualLink。
这实际上还没有划清界限。画线为此,它只创建了一个向量线对象,用于以后绘制线条。请记住,通常只创
建一行,如果您想以某种方式更改行,则稍后更新这些点。这些对象的类型是向量线(惊讶!)因此,为了
声明全局矢量线对象,您可以这样做:
var myLine : VectorLine; // Unityscript
VectorLine myLine; // C#
可以在声明向量行对象时使用类型推断,例如页面顶部的示例代码——在这种情况下,MyLayes 被推断为类
型 VCeStRead。请注意,类型推断与动态类型不一样:它在编译时发生,并且在代码执行速度上没有
E.E.ECT。但是,如果您为样式原因显式声明类型,则不使用类型推理的代码将这样写成:
var myLine : VectorLine = VectorLine("Line", linePoints, 2.0); // Unityscript
VectorLine myLine = new VectorLine("Line", linePoints, 2.0f); // C#
名字
名称主要是调试帮助,因为 VECURTLIN 对象在运行时被添加到场景中,如果每一行都被称为“GAMObjor”,
则会混淆。此外,该名称与使用 ObjtStutt 时创建的边界网格相关(参见矢量管理器下面是一个好主意,使
用 dieNeNeNordNodieDevor 矢量线对象。最后,如果需要的话,您可以访问 VCARTURLIN。例如,
“Debug.Log(MyLay.name)”。如果更改矢量线的名称,对象名称也会更改。
线点
为了建立一条线,需要一个通用的矢量列表或矢量 3 点。使用矢量点时,矢量的使用屏幕空间用于线坐标。
在屏幕空间中,(0, 0)是左下角,(屏幕.WIFTH-1,SHIGHT-1)是右上角。例如,鼠标位置使用屏幕空
间。当使用矢量 3 点时,矢量使用世界空间对于直线坐标,像普通 3D 对象一样。也可以使用矢量 2。视口
空间坐标,其中(0.0,0.0)是左下角,而(1.0,1.0)是右上角,与屏幕分辨率无关。有关视口 COORD
的详细信息包括在 3D 线条和视口线.
您可以在使用列表创建 VectorLine 之前用点填充列表,在这种情况下,VectorLine 将使用提供的点。您还
可以提供一个空列表,并在创建向量线之后添加点。在任何情况下,您都可以随时添加或删除点。
剩余49页未读,继续阅读
资源评论
知之坚持
- 粉丝: 3
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功