版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Unity3D学习笔记(第一章的1.1-1.8一、Unity3D简介a)案例:国内绝代双骄、新仙剑b)脚本支持:javascriptC#Boo二、课程内容介绍1、游戏雏形2、创建你的游戏世界(地形工具的使用)3、角色控制器和脚本进阶(javascript脚本)4、碰撞检测5、GUI相关操作数组6、实例化和刚体7、粒子系统(在游戏中创建篝火和烟雾的效果)8、制作游戏菜单GUI9、动画基础10、游戏的完善和优化调整11、发布设置与分享(分享你的作品)三、创建工程和界面简介1、安装好Unity3D软件后,点击图标,打开工程创建新的Unity工程如果是4.*版本的先不要添加素材包放在了E:Unity3
2、Dxxsheji游戏工程创建完毕采单栏层次清单栏CGameFecAspect:MaximizeonPlayGizmosSiait|CEE*i=HierarchyboneBoneO1Bone02BoneOSBoxOlDirectionallightFirstPersonControllerGraphicsMainCameraGUITextTtrtairiProjectlboneLBoxOl(4Box02遇BoneO1SBoxOlBox02boom二DetonatorMaterialsQNomMaterial呻NewTerrain二ProStandardAssetskStandardAssets项
3、目文件栏OInspectorNewsWorld(OefaultAsset)对象属性栏可以看到:sence界面有一个摄像机。没有摄像机的化就看不到东西了。*下面在场景中创建地面1、Hierarchy面板下-Create按钮-2、创建一个立方体:Cube3、层次面板出现我们新创建好的Cube,选中Cube按F2健可以改名:dimian4、选中物体按F键,你所选中的这个立方体就会居中显示。也叫聚焦这个物体。按鼠标中轮可以放大和缩小视图;Alt+鼠标左键可以控制方向。按住鼠标中轮可以平移这个视图(Sence);5、属性面板的Transform组件,是调试物体的位置,a)Position:物体的位置坐标
4、x,y,zb)Rotation:物体的旋转情况:x,y,zc)Scale:物体的缩放情况:x,y,z(长宽高,默认都是1)IB6、把创建物体的中心点,放在坐标原点,属性面板的transform小齿轮按钮Resetposition这样Position的值就变成了(0,0,0)7、设置地面dimian的大小,Scale属性x:100z:100地面就建设完成!7、添加灯光和材质a)地面创建好后,我们需要创建砖块,来实现我们小游戏中的墙。b)c)创建Cube好后,在层次面板中把这个新创建的物体F2键改名。砖块的值设置位置中y设置成1,砖块正好在地面上面。d)上图中如果y值设置成:10;物体就如下图,悬
5、在半空中e)为了让物体有质量和重力效果,给物体添加刚体。f)点击属性面板最下边的AddComponent,选择Physics,下的刚体Rigidbody;g)点击运行按钮,会看见砖块自由落到地面,说名收到重力影响。h)添加点光源:层次面板上的Create键一light-PointLighti)调整属性面板的Range设置照射范围50;j)如果想调整光源的位置,可以按住alt键调整视图观察,然后拖动x轴或者y轴,把光源放到合适位置。K)摄像机对其:在层次面板选中MainCamera-点击菜单GameObject-选择AlignwithView如下图所示:3丄zzwHII2by3Ctrl+Shif
6、t+NOInspectorCenterOnChildrenStaticParentClearParentThisfolderisempty-14.i068fX-1.02379*5.272272RotationMoveToView-0.000121X17.016951.375019UAi_gn帀it匸Ve二=ScaleAlignViewtoSelectedProjectionFieldofViewClippingPlanes1000Near0.3dimianNormalizedViewPortRectio7Ctrl+Alt+FCtrl+Shift+F三HierarchyCreateT帀可Empt
7、yCreateOtherApplyChangesToPrefabBreakPrefabInstGiice你回CameraClearFlagsBackgroundCullingMaskPointlightzhuankuaiTransformPositionMainC日mr日ectComponentWindowHelp辑SeeneT&wtured越ProjectICreateFavoritesTag!MainCamer-r|LayerIDefault:SkyboK訂L,护|EverythingPerspective72,8462设置砖块的属性,y设置成1设计时候注意,不要在运行状态,否则操作不会保
8、存。2、为砖块添加材质:1)选中砖块点击Project-面板上的Create按钮-Material出现一个材质球,如下图Local*申PerspC4Unity-Untitled-sheji-PC,lacLinuxStandalone*MaterialerisemptyPrefabJavascriptC#ScriptShaderComputeShaderFileEditAssetsGameObjectComponentWindowHelpFolderCubemapLensFlareCustomFontFhysicM&tenalGUISkinAnimatorControllerGameRB连|63
9、|鳞|AvatarMaskPivot卅SeeneTexturedrm-=IProject,Create-PdimianT1_JFavoritesAllMaterials色AllModelsAllPrefabsAllScriptsAssets02NewfolateriaIBProjectCreate*|可以给材质求修改名字(按F2)。添加颜色;如图Account”Ly皂广曹|Layout”RenderingModeMainMapsQAlbedoQMetallicredShaderStandardAllMaterialsAllModelsAllPrefabsAllScriptsOInspector
10、IOpaqueSmoothnessONormalMapOHeightMapoOcclusionoEmission0DetailMaskTilingOffset|Realtime*X1Y1X0Y0GlobalIlluminatiorlSecondaryMapsODetailAlbedox2拖动材质球到层次面板的zhuankuai上,sence中的砖块就变成了材质球的颜色。8、物体的基本操作和添加刚体在工程面板中创建文件夹分类,方便管理Create-Folder2)把自己的素材拖到pic文件夹下选择材质球,点解属性按钮的Albedo,选择素材图片,去掉材质球原有的颜色。(如下图)这样sence里砖
11、块的颜色也随着发生了改变。3)创建三个物体,Cube(正方体),Cylinder(圆柱体),Sphere(球体)。调整位置,并添加刚体,如图:4)添加材质球,调整颜色,添加图片完成这一步了。9、创建预制和复制物体a)利用旋转工具将图片方正b)把所有材质放入材质文件夹OProjectCreatec)Tv;FavoritesMaterialsModelsPrefabsScriptsAssetsMaterials副AllAllAllNewMateri.qiangmianqiuti宙Assets曰呂uript空pi;/uanghu创建一堵墙的步骤(复制物体)在project中创建Prefads(预制)
12、文件夹,把zhuankuai放入预制文件夹下,从层次面板拖动到Project中的Prefads文件夹下。Iii.在移动状态下,选中zhuankuai,ctrl+D复制砖块,再按住Ctrl键拖动横轴移动(x)轴;完成复制如下图:mt?euie.uaFFitJLjmtrLS.iurripuntrni.vviriuuwnt?iplv:创建空物体,把新建这几个砖块放入空物体中,形成一个小组件。unityPersonal(b4DitjUunity-ryewunityProject2-webFlayUnityPersonal(64bit)-O2.unity-NewUnityProject2-WebPlay
13、er*FileEditAssetsGameObjectComponentWindowHelpMaterialsModelsPrefabsScriptsAssetspredfads孟Assets审Materials言pic2predfadsSBscriptsFaoProjectzhuankuaiOInspector*0zhuankuTag|Untaggec宙cTransfoiPositionRotationScaleHierarchyMainCameradimianPointlightSphereCylinderCube,zhuarikuaiOOlzhuankuai(1)zhuankuai(2)
14、zhuankuai(3)zhuankuai(4)zhuankuai(5)zhuankuai(6)zhuankuai(7)zhuankuai(8)zhuankuai(9)zhuankuai选中这一组物体,ctrl+D复制按住Ctrl键向上拖动此动作重复,直到形成一面墙。lv:创建个球体,取名sedan(色弹)添加材质,并放入预制文件夹。前面以演示编辑好后,把层次面板的色弹删除,用脚本编写,按住鼠标左键sedan显示出来。d)创建sheji脚本如图,在project面板下,创建scripts文件夹,创建JavaScript脚本。如下图。打开此脚本:里面有两个函数d)Start()函数是游戏一加载时
15、执行。只运行一次。Update()每一帧执行时加载的函数。实时执行。e)用代码制作主摄像机移动。(w,a,s,d键控制摄像机。或按光标键实现移动)i.看js的输入管理器:Edit菜单下,projectSettings-input出现如下:8functionUpdate()transforiniaTranslate(Input.GetAxis(Horizontal)InputGetAxisf11Vertical)j01Transform代表要添加的组件;Translate(x,y,z):组件的坐标位置;Input:U3D提供的类,GetAxis():lnput类中的函数,检测键盘;(a,w,s,
16、d和上下左右键);把js脚本添加到主摄像机上10、第一个脚本11、添加script代码第一章的1.9-1.16)1.9C#文件和javascript不同shiji.js1.9.1在scripts文件夹下创建c#脚本双击打开到编辑界面ffc.cscUpdateQusin呂UnityEn呂i门亡;usin呂System.Collections;3i1.9202.14publicclassffc:MonoBehaviour/Usethisforiniticrtizationvoid呂tart()intspeed=:;floatn=26.8J;/Update
17、iscattedonceperfrcrrrtevoidUpdate()floatk=Input.GetAxis(Hroiznrrtal)*Time”cklit日亡亡d.;floati=Input.GetAxis(Vertical)*Time.deltaTime*speed;transfcrm.Tra门wl日1:亡3jZ);print(k);保存,添加到主摄像机MainCamera,运行Game查看效果。1.10游戏物体与脚本一个物体可以接受多个脚本,谁在前并且勾选,先执行谁。|HUUUUIILTj|dy11hTj|dyuulTjgOInspectorAT=VrlainCameraQStatic
18、wTagMainCamerasJLayerDefault占1ITransformQOtPositionX-3.156188Y4.275309Z30.48315R.otationX341.9518Y13.81996Z5.387737e0邸ScaleX1Y1Z10Camera|0TClearFlagsSkyboxnCullingrlaskEverythingT|ProjectionPerspectiveFFieldofViewJ厂60ClippingPlanesNear0.3Far1000ViewportRectX0Y0W1H1Depth-1RenderingPathUsePlayerSettin
19、g宣nTargetTextureNone(RenderTexture)oOcclusionCullingaHDR0GUILayery,rFlareLayer0AudioListener&0Ffc(Script)Qt|區)ffco|AddComponent一个脚本也可以分配给多个物体。1.11修改脚本错误与注意问题1.11.1进入控制台,调试程序下载UnityAPI物体的生成,销毁,加力OBCD号1-12.空-记事本文件CF)编辑(E)格式9)查看(V)帮助0()实例化命令:用Instantiate(要生成的物体,生成的位置,生成物体的旋转角度)检测鼠标左键(左CTRL):if(Input.Ge
20、tButtonDown(Firel)varn:Transform=Instantiate.position,transform,rotation);(newobject,transform给物体加力:n.rigidbody.AddForce(fwd*28000);转换方向:varfwd:Vector3=transform.TransformDirection(Vector3.forward);销毁物体:Destroy(gameObject,3.0);1.12.1Instantiate(实例化的物体,生成的位置,生成物体的旋转角度);实例化的物体:本案例中是色弹;生成的位置:本案例中是摄像机的位
21、置;生成物体的旋转角度:本案例中就是主摄像机的旋转情况检测鼠标左键(左ctrl)基本思想:当鼠标左键按下,生成色弹,并给它力发射出去。程序解析:Input.GetButtonDown(“Fire1”)获取鼠标左键布尔值,按下为真。发射炮弹销毁炮弹旋转物体1.15.1打錠鏡功能if(Input.GetKeyfKeyCode.Q)transform.Rotate(3-25*Time.deltTimejjSpace.Self);if(Input.GetKeyfKeyCode.E)transform.Rotate(3j25*TimeJdeltaTimejSjSpace.Self);给主摄像机添加旋转,
22、上面代码加入到sheji.js脚本中。1.16解决走到地面问题1.16.1其实就是控制摄像机的上下转动,控制键盘Z键和C键控制镜头向上向下,把旋转变化添加到X轴上。(注意按键不能是小写字母)5沿巻求魏擁絃防世跑甕地面下边去if(Input.GetKey(KeyCode.Z)_if(Input.GetKey(KeyCode心)transform.Rotate(25*7101,deltaTimejjajSpace.Self)j1.17镜头的移动1.17.1升高降低(原理:也是检测键盘)7$升高降低規头if(Input.GetKeyfKeyCode.H)transform.Translate(?-5
23、*Time.deltaTim已1)if(工叩ut.GetKey(KeyCode.M)transformTranslateC5*Time.deltmTim已);1.18GUIText物体1.18.1点击层次面板中的“create”按钮。创建GUIText如下图1.18.2便于管理改名zt,属性面板中有这个GUIText属性下边是显示效果当然,你也可以修改显示内容。修改上边属性面板里的内容,注意:如果想输入中文:最好在文本里编辑好直接粘贴(tVGUITeKtI唧轨Text发I姻織:默认位置:TJTransformPositionX0.5Y0.5Z0RotationX0丫0z0ScaleX1丫1z1
24、可以修改x,y的值,默认左上角:x,y(0,1)右上角的位置是(1,1)我们想让文字在左上角显示x,y的值就是(0.1,1)1.19访问其他物体1.19.1实现发射炮弹,用文字显示色弹的数量。在sheji.js脚本中编辑pragmastrictiZj(varspeed=5.0;vartarget:Transform;varnewObject:Transform;|varsdsnj:int=2P;fancticnUpdate()-/transform.Transitt?(Input.GtAxis(Horizontal丿z0fInput.GtAxis(ppVfertical丿);打上面代码是殘頼埶
25、行的下边我心世代码錢眇数执行-varx=Input.GetAxis(orizotL)*Time.deItaTirr.e*speed;varz=Input.GetAxis(nVerticalrT)*Time.deItaTirr.e*speed;transfQiMii.Translate(xf0fz);transfQiMii.LookAt(target;开寅珀能if(Input.GetJtton(rrFireLn)k添耙趣越物擁:varn:Transferm=Instautlate(:newOtjectrtransfQm.position,transfoz?m.rotation门对色弾送行齐直饋换varfwd:Vectcr3=transfoz?m.Transfoz?mDirection(Vectcr3.fQi?ward);/磐色彈呦力n.rigidtiody.AddForce(fwd*2=00);r色彈自身總sdsni+;GameOtject.Find(,rweziri).GetCompo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届陕西省重点初中数学高三第一学期期末教学质量检测试题含解析
- 2025届辽宁省铁岭市生物高三上期末经典模拟试题含解析
- 2025届山东省泰安市东平县英语高三第一学期期末质量检测试题含解析
- 重庆市四区联考2025届高二数学第一学期期末质量跟踪监视模拟试题含解析
- 河南省郑州市2025届高二上数学期末学业质量监测模拟试题含解析
- 2025届江苏省张家港市外国语学校生物高三第一学期期末学业质量监测试题含解析
- 广东省东莞外国语学校2025届高二上数学期末质量检测试题含解析
- 2025届福建省龙岩二中英语高三上期末调研模拟试题含解析
- 福建省漳州第八中学2025届生物高一上期末学业水平测试模拟试题含解析
- 2025届天津市和平区名校高一生物第一学期期末质量跟踪监视试题含解析
- 6.2 交友的智慧(课 件)-2024-2025学年统编版道德与法治七年级上册
- 清华大学中学生标准学术能力诊断性测试2025届英语高三上期末监测试题含解析
- 2023年河北张家口银行股份有限公司招聘微贷业务信贷经理考试真题
- 团队协作课件教学课件
- 11《宇宙生命之谜》第二课时 教学设计-2024-2025学年语文六年级上册统编版
- 2024年全国职业院校技能大赛高职组(环境检测与监测赛项)考试题库(含答案)
- 国开2024年秋季《形势与政策》专题测验1-5答案
- 2024年高考英语时事热点:航天主题(附答案解析)
- 2024-2030年工业自动化行业市场发展分析及发展前景与投资机会研究报告
- 国外工程项目合同范本
- JT∕T 937-2014 在用汽车喷烤漆房安全评价规范
评论
0/150
提交评论