zoukankan      html  css  js  c++  java
  • Unity3d 札记-Let's try shooting 知识点汇总

    1LineRenderer

    LineRenderer是用来在3d场景画直线的一个工具。

    public LineRenderer laserline;
    
    laserline.SetPositon(0,startposition);
    
    laserline.SetPositon(1,endposition);//设置结束位置startpositon,endposition均为Vector3 ,空间三维坐标
    
    
    laserline.enabled(true);
    laserline.enabled(false);//设置 线是否有效
    

    2Camera.ViewportToWorldPoint (new Vector3(0.5f, 0.5f, 0.0f));

    作用:将以Camera为参照系的坐标,转换到空间三维坐标

    Viewport space is normalized and relative to the camera. The bottom-left of the camera is (0,0); the top-right is (1,1). The z position is in world units from the camera.

    description

    3Physics.Raycast()

    这个方法用来发出射线

    public static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);

    origin 起点

    direction 方向

    maxDistance 射程

    这里用的是 Physics.Raycast(rayOrigin,fpsCam.transform.forward, out hit, weaponRange)

    out 关键字用来 导出一个 RaycastHit  对象, 这个对象是   可能的被击中对象 GameObject

    4IEnumerator -  WaitForSeconds  -  StartCoroutine()

    WaitForSeconds 是一个对象

    WaitForSeconds duration = new WaitForSeconds( float time );//设置延时时间

    如何使用 ?  写一个方法 以IEnumerator为返回值 ,然后在需要延时的地方  StartCoroutine(IEnumerator funciton());

    示例:

    IEnumerator Sample(){
    
          WaitForSeconds duration = new WaitForSeconds( 0.5f );//设置延时时间
    
          DisplayText.text="testing……";
    
          yied return duration;//这句一定不能少
    
    }
    
    StartCoroutine(Sample());
    

    5AudioSource 的使用

    public AudioSource hitSound;
    hitSound.play();
    
  • 相关阅读:
    [知识点]计算几何I——基础知识与多边形面积
    [旧版][知识点]SPFA算法
    [旧版][知识点]A*搜索(启发式搜索)
    [知识点]线段树
    [小工具]ChemistryHelper
    [考试]20150314
    [知识点]Cantor展开
    [旧版][知识点]拓扑排序
    [无效]网络流之Dinic算法
    [SCOI2005]扫雷Mine
  • 原文地址:https://www.cnblogs.com/dongfangliu/p/5788166.html
Copyright © 2011-2022 走看看