当前位置:   article > 正文

unity 资料(API)_unityloader api

unityloader api

1、unity(c#)打包webgl与js 通信

using System.Runtime.InteropServices;

说明:适用于2019版

var unityInstance = UnityLoader.instantiate("unityContainer", "Build/04.json", {onProgress: UnityProgress});

function CallProcessParameter(num) {
(游戏对象的名称,定义方法的名称,传递的参数)
  unityInstance.SendMessage("Main Camera", "ProcessParameter", num);
}

 public void ProcessParameter(int num)

{

}

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

  2.获取游戏物体的标签 gameObject.tag

  3.获取游戏物体的名字 gameObject.name

  4.获取游戏物体的层级 gameObject.layer*/

  1.位置:this.transform.position
  2.角度:this.transform.eulerAngles
  3,缩放大小:this.transform.lossyScale*/

  1.transform.Getchild(序列号);
  2.transform.GetsiblingIndex()---- - 获取同级索引(查找自已是父亲的第几个儿子)
  3.transform.GetComponentInChildren<Transform>(序列号);*/

/*1.GameObject,Find()-----按照名字查找游戏对象 ,用太多会降低性能
2.GameObject,FindobjectType<>(); ------按照组件名来查找游戏物体
3.GameObject.FindGameObjectwithTag()------按照游戏物体标签来查找游戏物体*/

/* 常见类的继承关系:
     自己创建的类->MonoBehavair->Behavir->Conpment->Object
     不要爸爸了:this.transform.SetParent(null);
     认爸爸 :this.transform.SetParent(GameObject.Find(“爸爸名”).transform);*/


        /*不要儿子了: this.transform.DetachChildren();

        得到儿子数量:this.transform.childCount

        得到儿子信息: this.transform.GetChild(0);

        亲子鉴定:son.IsChildOf(this.transform)

        得到自己是第几个儿子:son.GetSiblingIndex())

        把自己变成太子: son.SetAsFirstSibling();

        把自己变成最后的一个儿子: son.SetAsLastSibling();

        直接设置自己是第几个儿子: son.SetSiblingIndex(1);*/

 // 使用平滑插值移动摄像机  (相机的位置,目标位置,移动速度)
 transform.position = Vector3.Lerp(transform.position, targetPosition, movementSpeed * Time.deltaTime);

// 如果摄像机接近目标位置,切换到下一个路径点

(相机的位置,目标位置)

Vector3.Distance(transform.position, targetPosition) < 0.1f

 // 计算目标旋转角度  (当前的位置,相机的位置)

 Quaternion targetRotation = Quaternion.LookRotation(pathDoors[currentWaypointIndex].position - transform.position);

 // 使用平滑插值旋转摄像机
 transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, rotationSpeed * Time.deltaTime);

 Input.GetAxis:获取水平和垂直输入轴的值;

Transform 中属性

// 游戏对象

gameObject

// name 和 tag

name、tag

// 游戏对象的位置

position、localPosition

// 游戏对象的旋转角

eulerAngles、localEulerAngles、rotation、localRotation

// 游戏对象的缩放比

localScale

// 游戏对象的右方、上方、前方

right、up、forward

// 层级相关

root、parent、hierarchyCount、childCount

// 相机和灯光

camera、light

// 游戏对象的其他组件

animation、audio、collider、renderer、rigidbody

Transform 中方法

// 平移

Translate(Vector3 translation)

// 绕eulerAngles轴自转,自转角度等于eulerAngles的模长

Rotate(Vector3 eulerAngles)

// 绕过point点的axis方向的轴公转angle度

RotateAround(Vector3 point, Vector3 axis, float angle)

// 绕过point点的axis方向的轴公转angle度(坐标系采用本地坐标系)

RotateAroundLocal(Vector3 point, Vector3 axis, float angle)

// 看向transform组件的位置

LookAt(transform)

// 获取组件类型

GetType()

// 获取子游戏对象的Transform组件(不能获取孙子组件)

FindChild("name")

// 获取子游戏对象的Transform组件(可以获取孙子组件)

Find("name")

// 通过索引获取子游戏对象的Transform组件(不能获取孙子组件)

GetChild(index)

// 获取游戏对象的子对象个数

GetChildCount()

// 获取其他组件

GetComponent<T>

// 在子游戏对象中获取组件

GetComponentsInChildren<T>()

  三维向量

  • Vector3 : Static Variables 静态变量
  • back  Vector3(0, 0, -1)的简写。
  • down  Vector3(0, -1, 0)的简写。
  • forward  Vector3(0, 0, 1)的简写,也就是向z轴。
  • left  Vector3(-1, 0, 0)的简写。
  • one  Vector3(1, 1, 1)的简写。
  • right  Vector3(1, 0, 0)的简写,也就是向x轴。
  • up  Vector3(0, 1, 0)的简写,也就是向y轴
  • zero  Vector3(0, 0, 0)的简写。

如何使用 GetComponent 函数来处理其他脚本或组件的属性。

MeshRenderer meshRenderer;

获取组件的MeshRenderer

 meshRenderer=GetComponent<MeshRenderer>();

设置颜色

meshRenderer.material.color = Color.red;

在Unity中,GameObject是游戏中最基本的实体。它可以被看作是游戏场景中所有其他对象的容器。GameObject可以包含许多不同的组件,如Transform、Renderer、Collider``等。通过添加这些组件,GameObject可以具有不同的属性和功能,如移动、旋转、显示和与其他对象进行交互等。

在Unity中,通过创建、实例化和管理GameObject对象,可以构建出一个完整的游戏场景。

using System的意思是引用名称为System的命名空间

GetAxis("Mouse Y"),
GetAxis("Mouse ScrollWheel"),
GetAxis("Vertical "),
GetAxis("Horizontal "),
    1.Mouse X                鼠标沿着屏幕X移动时触发
    2.Mouse Y                鼠标沿着屏幕Y移动时触发
    3.Mouse ScrollWheel      当鼠标滚动轮滚动时触发
    1.Vertical             对应键盘上面的上下箭头,当按下上或下箭头时触发
    2.Horizontal           对应键盘上面的左右箭头,当按下左或右箭头时触发

 //GetComponent<TMP_Text>();  这样才能获取到TextMeshPro的值
 TMP_Text textMeshPro = transform.GetComponent<TMP_Text>();

  • 建立了直角三角形中角与边长比值的关系
  • 可用于根据一边一角,计算另外一边长
  • 公式:
    – (1)、正弦 sinx=a/c
    – (2)、余弦 cosx=b/c
    – (3)、正切 tanx=a/b;
    在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/126819
推荐阅读
相关标签
  

闽ICP备14008679号