Unity开发技巧
2022-03-30 本文已影响0人
奔跑在春风里
-
发布出来的内容没有碰撞检测,但是开发的时候在编辑器里正常
解决办法:在模型里勾选 Read/Write Enabled
- UNITY检视面板(INSPECTOR)的属性显示
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[AddComponentMenu("自己的脚本/Test_Inspector")] //只能用在类上,在菜单栏Commponent会增加一个 自己的脚本/Test_Inspector 的选项,
//用于在物体身上添加该脚本
[RequireComponent(typeof(Rigidbody))] //在物体添加该脚本时,会自动添加Rigidbody组件
//typeof()中可以写自己的脚本,做到一次添加多个脚本的效果。
//需要注意的是,在该脚本还挂在物体上时,不能将typeof()中添加的组件卸载
[RequireComponent(typeof(Collider))]
public class Test_Inspector : MonoBehaviour {
[SerializeField] //强制去序列化一个private的字段,也就是说字段虽然是private的,但还是可以在Inspector面板来调整数值
private int SerializeField;
[HideInInspector] //和上面的正好相反,将public的字段不在Inspector面板上显示。
public int HideInspector;
[System.NonSerialized] //同样的将public的字段不在Inspector面板上显示
public int NonSerialized;
[Range(1,10)] //滑动条来控制数值,最大值10,最小值1
public int range;
[Tooltip("我就是说明文本")] //当鼠标光标停在字段上时,显示说明文本
public string prompt;
[Space(20)] //设置字段上方空间为20,用于设置字段的间距
public float space;
[Header("我是标题")]
public float title; //在字段上方显示标题
[Multiline(5)] //用于显示多行文本
public string multiline;
[TextArea(1,5)] //设置多行输入的文本字段,设置显示的最大值和最小值
public string text;
[System.Serializable] //只可以对class,struct,enum,delegate进行序列化,不可对属性序列化。
private enum Temp
{
test01 = 0,
test02 = 1
}
}
Inspector 面板效果