unity脚本_Vector3 c#

unity脚本_Vector3 c#_第1张图片

unity脚本_Vector3 c#_第2张图片

unity脚本_Vector3 c#_第3张图片

接下来学习 相对世界坐标

首先我们给场景物体一个空物体

unity脚本_Vector3 c#_第4张图片

修改新建空物体名字为GameObjectFather

unity脚本_Vector3 c#_第5张图片

修改GameObjectFather坐标

unity脚本_Vector3 c#_第6张图片

修改GameObject2坐标

unity脚本_Vector3 c#_第7张图片

然后将GameObjectFahter设置成GameObject2的父物体

unity脚本_Vector3 c#_第8张图片

我们观察到子物体的坐标改变了但是 运行显示的相对世界坐标this.transform.position并没有改变

unity脚本_Vector3 c#_第9张图片

运行查看 相对世界坐标 结果

unity脚本_Vector3 c#_第10张图片

另外

unity脚本_Vector3 c#_第11张图片

unity脚本_Vector3 c#_第12张图片

也就是说 相对世界坐标 和 相对父物体坐标 可能一样的两种情况

1.父物体的坐标是 = 世界坐标系原点 (0,0,0)

2.没有父物体

另外注意 【位置的赋值】 只能整体改变

unity脚本_Vector3 c#_第13张图片

如果只想改变x的值 可以用Vector3改变

unity脚本_Vector3 c#_第14张图片

获取物体面向坐标

print(this.transform.forward);

获取物体头向坐标

print(this.transform.up);

获取物体右向坐标

print(this.transform.right);

通常我们将 物体的位置   写在Start()里

而将            物体的位移   写在Update()里

unity脚本_Vector3 c#_第15张图片

运行后就会朝着蓝z移动

unity脚本_Vector3 c#_第16张图片

修改物体本身方向 

unity脚本_Vector3 c#_第17张图片

则相对世界坐标系位移

unity脚本_Vector3 c#_第18张图片

则运行后就会朝着世界坐标移动

unity脚本_Vector3 c#_第19张图片

而如果想朝着相对物体位移

unity脚本_Vector3 c#_第20张图片

unity脚本_Vector3 c#_第21张图片

方式二

unity脚本_Vector3 c#_第22张图片

方式三

unity脚本_Vector3 c#_第23张图片

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Start()里   获取角度

unity脚本_Vector3 c#_第24张图片

Update()里   旋转

unity脚本_Vector3 c#_第25张图片

我们在游戏场景中给Cube一个旋转角度观察 自传与公转的区别

首先 公转:

unity脚本_Vector3 c#_第26张图片

unity脚本_Vector3 c#_第27张图片

unity脚本_Vector3 c#_第28张图片

其次 自转:

unity脚本_Vector3 c#_第29张图片

unity脚本_Vector3 c#_第30张图片

相对于某轴旋转

unity脚本_Vector3 c#_第31张图片

说明:

参数一:相对哪个轴转动

参数二:转动多少角度

参数三:默认不填 自转 (可以填Space.World改成公转)

相对于某点旋转

首先我们在游戏场景里(0,0)点创建一个球体方便我们观看

unity脚本_Vector3 c#_第32张图片

unity脚本_Vector3 c#_第33张图片

运行后我们即可看到Cube 绕着 小球(点)旋转

unity脚本_Vector3 c#_第34张图片

说明:

参数一:相当于绕哪一个点转圈

参数二:相当于哪一个点为轴

参数三:转的角度 = 旋转速度 * 时间

unity脚本_Vector3 c#_第35张图片

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

缩放

修改物体的缩放

unity脚本_Vector3 c#_第36张图片

创建一个子物体小球

unity脚本_Vector3 c#_第37张图片

unity脚本_Vector3 c#_第38张图片

然后将代码挂载在子物体身上

运行即可看到 世界缩放 和 本地缩放

unity脚本_Vector3 c#_第39张图片

注意:

1.缩放不能只改x,y,z  只能整体修改

2.相对于世界坐标系的缩放只能获取 不能修改

   所以我们通常修改都是父物体的缩放大小 localScale

3.unity没有提供关于缩放的API

unity脚本_Vector3 c#_第40张图片

unity脚本_Vector3 c#_第41张图片

看向:

首先我们在代码中写一个公共框 设置为看向物体

unity脚本_Vector3 c#_第42张图片

调用看向函数LookAt()

unity脚本_Vector3 c#_第43张图片

在unity中需要放置公共框

unity脚本_Vector3 c#_第44张图片

填选公共框

unity脚本_Vector3 c#_第45张图片

unity脚本_Vector3 c#_第46张图片

unity脚本_Vector3 c#_第47张图片

你可能感兴趣的:(unity,c#,游戏引擎)