欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

平移与缩放

程序员文章站 2022-03-26 17:22:08
...

1)笔记

1)3D物体位置 和 平移的控制
  (1)cocos 3d 2种坐标系下的坐标: 世界坐标、本地坐标, 与2D有所区别
    Position: Vec3-->三维向量xyz

    获取节点坐标:
      Node: 类里面有数据成员
         position: 获取本地坐标(相对于父亲节点的坐标)
            readonly,只获取不修改,不然就pos = xx,不要这样写

            this.node.setPosition(0,0,0)
            this.node.setPosition(cc.v3(0,0,0))

         worldPosition: 获取物体的世界坐标
            标准的修改函数: 
              this.node.setWorldPosition(0,0,0)
              this.node.setWorldPosition(cc.v3(0,0,0))

       Readonly的原因:   
       	 pos = this.node.position;
       	 pos = this.node.getPosition();-->new一个Vec3,因此不会修改

       后面就会使用pos:
       	  pos= new Vec3(0, -10, 0)
       	  this.node.getPosition(pos)  

2)translate(位置增量的一个向量 , 局部/世界): 往前走100米
    因为物体可能旋转,因此局部的走100米和世界走100米不一样

    Node.NodeSpace.World

3)缩放
  缩放是一个三维向量,你分别在xyz缩放多少,3D缩放(x,y,z) x方向缩放几倍  y方向缩放几倍  z方向缩放几倍

  scale(本地缩放): 自己相对于父亲缩放1倍  编辑器上的就是本地缩放-->本地缩放是相对于它的父亲

  worldScale(世界缩放): 你相对于父亲(2,2,2)  父亲相对于它的父亲(2,2,2)  整体则是4,4,4--》世界缩放要叠加它的父亲

4)
  只读的是同一个内存
  get: 新的内存