zoukankan      html  css  js  c++  java
  • Unity 3D 开发 —— 脚本编程

    Unity 相关资源

    Unity 官网 :http://www.unity3D.com

    Unity 论坛 : http://forum.unity3d.com/forum.php

    Unity 问答 :http://answers.unity3d.com/index.html

    Unity 博客 :http://blogs.unity3d.com

    Unity 官方在线案例 : http://unity3d.com/gallery/demos/live-demos

    Unity 官方项目源文件 : http://unity3d.com/gallery/made-with-unity/game-list

    Unity 在线课堂 : http://unity3d.com/learn/live-training

    Unity 在线教程 :http://unity3d.com/learn/tutorials/modules

    Unity 用户手册 :http://docs.untiy3d.com/Documentation/Menual/index.html

    Unity 组件参考手册 :http://docs.unity3d.com/Documentation/Components/index.html

    Unity 脚本手册 : http://doc.unity3d.com/Documentation/ScriptReference/index.html

    Digital – Tutors 的Unity 系列教程: http://www.digitaltutors.com/software/Unity-tutorials

    Lynda 出品的Unity教程 : http://www.lynda.com/Unity-D-training-tutorials/1243-0.html


    Unity 向量

    Vector3 成员变量

    x

    y

    z

    normalized 单位化(只读)

    magnitude 向量长度

    sqrMagnitude 向量长度的平方

    Vector3 常用方法

    Cross 叉乘

    Dot 点乘

    Project 计算向量在另一个向量上的夹角

    Angel 返回2个向量之间夹角

    Distance 返回2个向量之间距离

    operator +

    operator -

    operator * 向量乘标量

    operator / 向量除标量

    operator ==

    operator !=

    矩阵 Matrix4X4

    在Unity中,Matrix4x4 仅在Transform ,Camera, Material 和 GL 等几个类的函数中用到

    齐次坐标 —— 将原本3维的向量 (x,y,z) 用4维向量 (wx,wy,wz,w)

    引入目的 —— 更好的区分向量和点,使用 (x,y,z,1)表示坐标点 , 使用 (x,y,z,0)表示向量;同一用矩阵乘法表示平移,旋转,缩放变换;w=0表示无穷远的点

    四元数 —— 包含一个标量分量和一个三维向量分量 Q=[w,(x,y,z)]

    在3D数学中使用单位四元数表示旋转

    Quatenion 类 来表示四元数 :

    成员变量 —— x,y,z,w,this[int index] , eulerAngles(返回表示该旋转的欧拉角)

    函数 —— Set  ,  ToAngleAxis(将四元数转换成一个角-轴表示的旋转),SetFromToRotation (设置一个四元数表示fromDirection到toDirection的旋转)

    SetLookRotation (设置一个四元数表示朝向为forward,上方向为up的旋转)  ToString

    operator * (连接两个旋转,作用相当于依次应用两个旋转操作)

    operator ==         operator !=

    Dot  (两个旋转点乘)   AngleAxis (根据旋转角和旋转轴创建一个四元数)

    FromToRotation (生成一个四元数表示 fromDirection 到 头Direction 的旋转)

    LookRotation  (生成一个四元数表示朝向为forward 上方向为up的旋转)

    Slerp 根据t值在四元数from和to之间进行球形插值

    Lerp  根据t值在四元数from 和 to之间进行插值,并将结果规范化

    RotateTowards 将选择from变换旋转to

    Inverse 返回旋转的逆

    Angle  返回a和b两个旋转之间的夹角角度

    Euler 返回一个先沿z轴旋转z角度,然后沿x轴旋转x角度,y轴旋转y角度的旋转

    在游戏对象的Transform组件中,变量Transform.rotation 为对象在世界坐标系下的旋转

    Transform.localRotation  为对象在父对象的局部坐标系下的旋转,两个变量的类型均为四元数

    var from : Transform;
    var to :Transform;
    var tranTime = 10.0 ; // 相机观察方向从a过渡到b所需的时间,单位秒
    private var startTime : float;
    
    fuction Start()
    {
        startTime = Time.time;
    }
    functionUpdate ()
    {
        var fracComplete = (Time.time - startTime)/tranTime;    // 计算用于插值的系数
        transform.rotation = Quaternion.Slerp(from.rotation,to.rotation,fracComplete);    // 平均插值
    }

    坐标系

    世界坐标系 —— 全局坐标系

    局部坐标系 —— 每个物体的独立物体坐标系,并且随物体进行相同的移动或者旋转

    相机坐标系 —— 根据观察位置和方向建立的坐标系,使用坐标系可以方便地判断物体是否在相机前方以及物体之间的先后遮挡顺序

    屏幕坐标系 —— 建立在屏幕上的二维坐标系,用于描述像素在屏幕上的位置

    Transform 组件的 Transform.TransformPoint 方法可以将坐标点从局部坐标系转换到世界坐标系

    Transform.InverseTransformPoint 从世界坐标转换到自身坐标

    Transform.TransformDirection 对向量在物体坐标系和世界坐标系之间进行转换

    Transform.InverseTransformDirection

  • 相关阅读:
    【转】java正则表达式
    NDK学习笔记-使用现有so动态库
    NDK学习笔记-增量更新
    NDK学习笔记-增量更新
    NDK学习笔记-文件的拆分与合并
    NDK学习笔记-文件的拆分与合并
    NDK学习笔记-NDK开发流程
    NDK学习笔记-NDK开发流程
    NDK学习笔记-JNI的引用
    NDK学习笔记-JNI的引用
  • 原文地址:https://www.cnblogs.com/sprint1989/p/3867287.html
Copyright © 2011-2022 走看看