昨日休息 今日开张
今天还是恶补基础,关于坐标系等等。在unity3d中有世界坐标系和本地坐标系,所有物体的世界坐标系都是相同、不会改变。 本地坐标系,每个游戏对象都可以以自己为远点建立一套坐标系,当物体旋转时候,本地坐标系统也会跟着物体一起旋转。一般用于单个物体。
transform.Translate(Vector3.forward)是向自己坐标前方移动,
transform.Translate(Vector3.forward,Space.World)是向世界坐标前方移动
左手定则: WS前后移动 AD左右旋转.
Vector 既可以表示一个 点 也可以表示一个向量
如果想让一个变量在编辑器里看到又不想得到对象修改 用[serializeField]来修饰
-----------接下来是重头戏------
前几天写了很久的生成生成怪物 竟然在这里被简单解决了
先将对象放入预设,然后
private gameObject hero;
void Update()
{
if(Input.GetMouseButtonDown(0))
{
Instantiate(Hero).transform.position=Vector3.zero;//复制克隆
}
if(Input.GetMouseButtonDown(1))
{
Destroy(hero,2);//间隔两秒销毁
}
}
方法:Get Component() 获取组件
AddConmopent<>T> 添加组件,返回组件对象
Destory(); 如果参数是组件对象,则表示销毁组件
----------------------
也学习了光源烘焙
-----------
第一人称和第三人称
第一人称:我看不到自己 我看得到别人
第三人称 看得到自己移动
把箱子当作自己的子对象.
如果要看到对象旋转:
用LateUpdate()方法;
private GameObject Camera mainCamera;
start(){mainCamera = Camera.main;}
LateUpdate()
{
//mainCamera.transform.translate();
mainCamera.transform.position = transform.position +new Vector(0,1.5f,-3.2f);
}
不过在我的项目里还是不起作用.
------------------
也学习了地形系统 Terrian 蛮有意思的