《Unity虚拟现实技术及其应用》 课件 3 gameobject and comopoents_第1页
《Unity虚拟现实技术及其应用》 课件 3 gameobject and comopoents_第2页
《Unity虚拟现实技术及其应用》 课件 3 gameobject and comopoents_第3页
《Unity虚拟现实技术及其应用》 课件 3 gameobject and comopoents_第4页
《Unity虚拟现实技术及其应用》 课件 3 gameobject and comopoents_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

GameObjectBaseclassforallentitiesinUnityScenes.ObjectGameObjectComponentBaseclassforeverythingattachedtoGameObjects.ObjectComponentBehaviour&MonoBehaviourMonoBehaviouristhebaseclassfromwhicheveryUnityscriptderives.usingUnityEngine;usingSystem.Collections;usingUnityEngine.UI;publicclassExample:MonoBehaviour{}ImportantPropertiesenabled:EnabledBehavioursareUpdated,disabledBehavioursarenot.isActiveAndEnabled:HastheBehaviourhadactiveandenabledcalled?gameObject:Thegameobjectthiscomponentisattachedto.Acomponentisalwaysattachedtoagameobject.tag:Thetagofthisgameobject.transform:TheTransformattachedtothisGameObject.hideFlags: Shouldtheobjectbehidden,savedwiththeSceneormodifiablebytheuser?name:Thenameoftheobject.IfthisclassisalsoattachedtoGameObject,then"name"fieldissettothenameofthatGameObject.hideFlagsenumHideFlags{

DontSave,

HideAndDontSave,

HideInHierarchy,

HideInInspector,

None,

NotEditable,}ImportantMessagesAwake:Awakeiscalledwhenthescriptinstanceisbeingloaded.FixedUpdate:Frame-rateindependent,forphysicscalculations.LateUpdate:iscalledeveryframe,iftheBehaviourisenabled.Start:iscalledontheframewhenascriptisenabledjustbeforeanyoftheUpdatemethodsarecalledthefirsttime.Update:iscalledeveryframe,iftheMonoBehaviourisenabled.ImportantFunctionsGetComponent<>();AddComponent<>();publicComponentAddComponent(Typect);publicComponentAddComponent<T>();publicCoroutineStartCoroutine(IEnumerator);CoroutinesvoidFade(){for(floatf=1f;f>=0;f-=0.1f){Colorc=renderer.material.color;c.a=f;renderer.material.color=c;}}IEnumeratorFade(){for(floatf=1f;f>=0;f-=0.1f){Colorc=renderer.material.color;c.a=f;renderer.material.color=c;yieldreturnnull;}}usingCoroutinesboolProximityCheck(){for(inti=0;i<enemies.Length;i++){if(Vector3.Distance(transform.position,enemies[i].transform.position)<dangerDistance){returntrue;}}returnfalse;}IEnumeratorDoCheck(){for(;;){ProximityCheck;yieldreturnnewWaitForSeconds(.1f);}}StaticMethodspublicstaticObjectInstantiate(Objectoriginal);publicstaticObjectInstantiate(Objectoriginal,Transformparent);publicstaticObjectInstantiate(Objectoriginal,Transformparent,boolinstantiateInWorldSpace);publicstaticObjectInstantiate(Objectoriginal,Vector3position,Quaternionrotation);publicstaticObjectInstantiate(Objectoriginal,Vector3position,Quaternionrotation,Transformparent);publicstaticObjectFindObjectOfType(Type);Instantiate(prefab,newVector3(2.0F,0,0),Quaternion.identity);publicMissilemissile;voidStart(){

MissilemissileCopy=Instantiate<Missile>(missile);

Cameracam=(Camera)FindObjectOfType(typeof(Camera));}GameObjectBaseclassforallentitiesinUnityScenes.ObjectGameObjectPropertiesactiveInHierarchy:DefineswhethertheGameObjectisactiveintheScene.activeSelf: ThelocalactivestateofthisGameObject.(ReadOnly)isStatic:EditoronlyAPIthatspecifiesifagameobjectisstatic.layer:Thelayerthegameobjectisin.scene:ScenethattheGameObjectispartof.tag:Thetagofthisgameobject.transform:TheTransformattachedtothisGameObject.PublicMethodsAddComponent:AddsacomponentclassnamedclassNametothegameobject.GetComponent:ReturnsthecomponentofTypetypeifthegameobjecthasoneattached,nullifitdoesn't.GetComponents:ReturnsallcomponentsofTypetypeintheGameObject.SetActive:Activates/DeactivatestheGameObject,dependingonthegiventrueorfalsevalue.StaticMethodsCreatePrimitive:Createsagameobjectwithaprimitivemeshrendererandappropriatecollider.Find:FindsaGameObjectbynameandreturnsit.FindGameObjectsWithTag:ReturnsalistofactiveGameObjectstaggedtag.ReturnsemptyarrayifnoGameObjectwasfound.FindWithTag:ReturnsoneactiveGameObjecttaggedtag.ReturnsnullifnoGameObjectwasfound.PrimitiveType创建五种类型的基础模型:PrimitiveType.Plane,PrimitiveType.Cube,PrimitiveType.Sphere,PrimitiveType.Capsule,PrimitiveType.CylinderGameObjectCreatePrimitive(PrimitiveTypetype);Unity3DLesson组件与脚本关系组件与脚本组件为场景物体提供了更多功能的实现组件的属性值大体分为两种:赋值类型、引用类型脚本是一种特定类型的组件添加组件加载组件包直接修改参数通过代码对组件进行赋值直接访问通过组件访问脚本脚本模板C:\ProgramFiles(x86)\Unity\Editor\Data\Resources\ScriptTemplates脚本的生命周期Awake()脚本唤醒,只运行一次Start()awake之后,update之前,只运行一次Update()正常更新,用于更新逻辑LateUpdae()推迟更新,此方法在Update()方法执行完后调用OnDestroy()当前脚本销毁时调用利用脚本操作游戏对象以下代码放在voidOnGUI(){/*在这里*/}GameObject.CreatePrimitive();用于创建一个原始的游戏对象,系统默认提供的游戏对象GameObjectobjLight=newGameObject("TheLight");objLight.AddComponent<Light>();通过添加组件的形式创游戏对象AddC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论