Unity3D技术之脚本属性的用法

 


script AddComponentMenu (“Transform/Follow Transform”)

// CSharp

[AddComponentMenu(“Transform/Follow Transform”)]

 



       以下是具体说明(部分无关紧要的不翻译):

       AddComponentMenu(函数)

       允许你从其他的“Components”菜单途径添加脚本(如果不使用        AddComponentMenu那么你只能从Components->Scripts下添加)。注意需restart起效,文章出处【狗刨学习网】。
       ContextMenu

       允许为脚本增加一组命令,该属性标记在函数上,而且必须是non-static函数。

       假设你为一个脚本move增加了一个ContextMenu属性的方法Do somethine,该方法作用是Debug.Log。这个move脚本attach在一个user身上。那么你选中user时,在inspector面板中对move component右击,就会发现一组命令,点击打印。

       这个属性一个有用之处是自动初始化。

       ImageEffectOpaque

       Any Image Effect with this attribute will be rendered after opaque geometry but before transparent geometry.

       This allows for effects which extensively use the depth buffer (SSAO ect) to only affect opaque pixels. This Attribute can be used to reduce the amount of visual artifacts in a scene with post processing.

       ImageEffectTransformsToLDR

       When using HDR rendering it can sometime be desirable to switch to LDR rendering during ImageEffect rendering.

       Using this Attribute on an image effect will cause the destination buffer to be an LDR buffer, and switch the rest of the Image Effect pipeline into LDR mode. It is the responsibility of the Image Effect that this Attribute is associated to ensure that the output is in the LDR range.

       ExecuteInEditMode

       默认脚本组件仅在play mode下执行。增加这组属性后,脚本的callback functionseidtor下亦可执行。注意,调用频率不同于 Play Mode

       Update只发生在Scene中的一些东西变更。

       OnGUI只发生在Game View收获到一组事件。

       OnRenderObject以及其他渲染事件只发生在Scene View or Game View 的 repaint 中。

       HideInInspector

       设置一个变量,不显示在inspector面板,但是  be serialized

       NonSerialized

       让一个变量不要 serialized,这样的话你可以保持一个公共变量,但是不显示在inspector面板且不尝试 serialize(即你改动之,下次开启的话仍然是你申明的初始值)。

       NotConvertedAttribute

       Instructs the build pipeline not to convert a type or member to the target platform

       NotRenamedAttribute

       Prevent name mangling of constructors, methods, fields and properties.

       When applied to a type prevents all its members of being renamed.

       It can be used to provide stable member names for access from handwritten ActionScript code or to provide .net stubs for ActionScript types when combined with NotRenamedAttribute

       RPC

       制定一个函数RPC属性,这个方法可以通过Unity Networking来远程访问。该函数必须eixst on both sending and recieving party

       RequireComponent

       ​指明自动增加对应的依赖component。例如:

复制代码

[AppleScript] 纯文本查看 复制代码

 

[RequireComponent (typeof (Rigidbody))]

       public class PlayerScript : MonoBehaviour {

       void FixedUpdate() {

       rigidbody.AddForce(Vector3.up);

}

}

复制代码

        Serializable

        申明这个属性的class,其内部属性可以通过inspector面板访问到。例如:Vector3这样的东东。

       SerializeField

       申明一个private变量需要序列化(serialize),正常情况下你不应该需要到这个属性。

       注意,serialize是指当你在inspector面板改动一个值时,unity editor会自动记录你的变更。这样你重新开启工程时,unity构建世界时自动使用你上次的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值