`

在iphone上进行unity3d开发的一个小教程

阅读更多
http://www.newflash3d.com---flash3D先锋队:北京贝武易科技公司】
有疑问请联系我QQ:36359635

我们用到unity3d




主要知识点:

1、点击触摸屏,播放对应的物体动画

2、在maya中创建好物体及动画

3、在unity3d中进行动画设置

4、设置一个2d场景的灯光和摄像机

5、设置一个背景
下面我们按步骤来学习:
1、新建项目
File –> New Project
给项目起名为:“Tut1-TouchAnim”


路径就用默认的就可以,如上图。
新建完了我们看到第一次的unity3d界面,很干净。



新建的项目目录下文件为:


里面包含:资源和库
2、生成项目文件夹
在项目面板(Project),Create --> Folder


单击Create后面,会弹出菜单,选Folder,生成文件夹。
给文件夹重命名为Objects。



同样,生成一个名为:Scripts的文件夹。


这些文件夹都在你的硬盘里项目Tut1-TouchAnim\Assets 文件夹里。
在生成一个:Textures文件夹。
3、保存场景Scene:
选择File –> Save Scene,保存场景名为:“Tut1-TouchAnim”


4、下面我们就进入到3d工作了,我们用maya。
     需要设置一下maya的坐标,让Y轴向上。
      在maya的菜单Window –> Settings/Preferences –> Preferences
进入设置面板,


点Settings选项
设置为Y轴向上,因为Unity里是Y轴向上。
单位设为“Millimeter”(毫米),经过测试,这单位是maya与Unity之间最理想缩放的单位。


5、下面我们就在maya里建立物体了。
   生成一个箱体 Create –> Polygon Primitives –> Cube。
   点击INPUTS里的polyCube1,修改箱体的参数
设置长宽高为20,记住,你现在的单位为毫米
同时设置位置归零,Translate X:0, Y:0 and Z:0

同时设置箱体的旋转角度为
Rotate X:45, Rotate Y:45, and Rotate Z:45
每个轴45度


6、让箱体动起来--动画阶段
     只是一个简单的动画,让箱体前转180度,后转180度。
选择箱体,在第一帧,按S键,定第一个关键帧。
到第十帧,设置Rotate Y:225,按S再设定关键帧。
到20帧,恢复到45度,按S键,设定关键帧。  
7、保存这个maya文件,File –> Save Scene As…
保存到Tut1-TouchAnim\Assets\Objects目录下,名为cubeAnim.mb
保存后maya显示结果为:// Result: C:/Documents and Settings/Administrator/My Documents/Tut1-TouchAnim/Assets/Objects/cubeAnim.mb
8、在unity中进行动画物体设置:
    回到unity项目里,你会看到在Objects下面有一个文件cubeAnim。


我们单击物体,在右边就会自动出现物体的输入设置,在这里是


这里maya物体是以FBX格式导入的。
在animations栏下,按小加号,增加动画进去。
把“idle”改名为 forward,设定帧为1到10.
再增加一个,把“idle”改名为 backward,都不要循环loop frame不选。
这样我们就有了两段动画了。


点Apply同意钮后,unity自动用maya软件转换,把文件转换成Fbx格式,并导入,我们可以看到新转换出来的文件为cubeAnim
它自动带了两个Animations,动画片段,注意时间的小标。


9、把物体加到场景scene:
我们先给场景加一个虚拟体,可以理解为容器,然后把我们要加的物体链接到虚拟体上去。
Game Object –> Create Empty
虚拟体出现在Hierarchy (层级面板上)
把cubeAnim拖到新建的虚拟体GameObject 上
我们可以看到cubeAnim物体(箱体)出现在场景里

10、增加脚本script
在Project面板,选择Scripts 文件夹
点Create按钮, 选JavaScript
生成一个JavaScript 脚本
把脚本重命名为TouchAnim
双击脚本,编辑代码如下

var hit : RaycastHit;

function Update () {
	
	// Use Raycast to pick objects that have mesh colliders attached.
	var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
	
	if (Input.GetMouseButtonDown (0))  //Returns true during the frame the user touches the object
	{
		if (Physics.Raycast (ray, hit, 100)) 
		{
			animation.Play("forward");
		}
	}
	
	if (Input.GetMouseButtonUp (0))  //Returns true during the frame the user deselects the object
	{
		if (Physics.Raycast (ray, hit, 100)) 
		{
			animation.Play("backward");
		}
	}
	
	else {
	}

}



在Inspector(督查面板)我们可以看到脚本的结果。

11、把脚本链接到物体:
把脚本拖到Hierarchy层级面板上cubeAnim物体上。
链接好了你可以看到cubeAnim物体在Inspector(督查面板)多出Touch Anim (Script) 这一项。


这里有一个小错误,应该是一个Touch Anim (Script) ,删除一个,只留下一个就可以。
12、给物体增加一个Mesh Collider(表面碰撞):
在Hierarchy面板选择cubeAnim物体,再Component –> Physics –> Mesh Collider.
有了Mesh Collider,物体就能探测到物体被点击了。

13、调整摄像机
在Hierarchy 选择主相机Main Camera, 设置位置Position: 741,67, 1061 ,旋转 Rotation: 0, 180,0.

可以按播放,测试一个效果。


14、加入一个材质背景:
给场景加入一个片物体,Game Object –> Create Other –> Plane
它默认的位置为出现在你视图的中心。
设置旋转:Rotation:90,0,0

加了背景平面物体后,背景物体当点击鼠标后也有反应,这不是我们要的,我们需要把它的这个反应移除。
选择Plane物体,在Inspector面板,单击Mesh Collider栏的“gear”齿轮小图标。
选“Remove Component”,移除组件。
把一个纹理贴图放到项目目录Tut1-TouchAnim\Assets\Textures 下。
这里我们用defGrid.psd,把它从Textures 目录直接拖到plane物体上。
15、在场景中加入灯光。
Object –> Create Other –> Directional Light
通过旋转、移动等工具,调整好灯光的位置、方向等。
灯光的默认设置就可以,但还是有一个需要调整,就是渲染模式,Render Mode 调为“Force vertex”.


16. Set the iPhone Bundle Identifier:
     设置为iPhone格式。
选择Edit –> Project Settings –> Player ,项目游戏者设置。
在Inspector参数阅览栏.
后面的开发需要在苹果机器中进行。
后续。

  • 大小: 123 KB
  • 大小: 118.9 KB
  • 大小: 33.5 KB
  • 大小: 65.2 KB
  • 大小: 42.8 KB
  • 大小: 7.2 KB
  • 大小: 46.5 KB
  • 大小: 8.5 KB
  • 大小: 12.5 KB
  • 大小: 51 KB
  • 大小: 285 KB
  • 大小: 58.2 KB
  • 大小: 23.8 KB
  • 大小: 27.6 KB
  • 大小: 14.3 KB
  • 大小: 29.5 KB
  • 大小: 16.7 KB
  • 大小: 14.7 KB
  • 大小: 71.2 KB
  • 大小: 105.2 KB
  • 大小: 82.6 KB
  • 大小: 9.6 KB
分享到:
评论
2 楼 junlas 2010-07-29  
一直没明白,http://www.newflash3d.com/这个网站好像没什么看头啊。
1 楼 junlas 2010-07-29  


牛人!你的博客太前潮了。步伐很快。谢谢分享。

相关推荐

    unity3d+iphone开发资料

    在本篇中,我们将深入探讨Unity3D用于iPhone应用开发的相关知识,涵盖从基础入门到高级技巧,通过分析提供的文档资源,为读者构建一个全面的Unity3D+iPhone开发知识体系。 1. **Unity iPhone Touch Animation ...

    Unity3D开发2D游戏教程

    ### Unity3D开发2D游戏教程 #### 一、引言 随着游戏开发技术的不断进步,Unity3D因其强大的跨平台能力和丰富的功能支持而成为众多开发者的选择之一。特别是对于2D游戏而言,Unity3D提供了诸多便利工具及插件,帮助...

    Unity3D游戏开发

    ### Unity3D开发资源 Unity3D引擎不仅提供了强大的开发工具,还拥有丰富的在线资源社区。例如,Unity圣典、51CTO产品部副经理老友、Unity资深用户四角钱等,这些资源为Unity3D开发者提供了学习交流的平台。开发者...

    Unity3D游戏开发教程

    ### Unity3D游戏开发教程知识点概述 #### 一、Unity3D简介与应用领域 - **Unity3D**是一款功能强大的跨平台游戏引擎,被广泛应用于游戏开发、虚拟现实(VR)、增强现实(AR)等领域。 - **跨平台支持**:Unity3D...

    Unity3D教程:Unity3D游戏内的付费2

    在这个"Unity3D教程:Unity3D游戏内的付费2"中,主要探讨了如何在Unity3D游戏中实现内购(In-App Purchase,简称IAP)功能,并且强调了带有服务端验证的流程。 首先,构建一个安全的IAP环境至关重要,这通常涉及到...

    Unity3D教程:制作彩色字体1

    在Unity3D中,你可以导入任何支持的字体文件(如.TTF或.OTF),并将它应用到一个Text Mesh或UI Text组件上。例如,这里提到的是使用Arial字体,并设置合适的字体大小,如24。在Character选项中,你可以选择字符集,...

    Unity3d的Javascript入门教程

    Unity3D是一个跨平台的游戏开发引擎,它广泛应用于游戏开发领域,支持多种操作系统和平台。而Javascript是一种广泛使用的脚本语言,它在Unity3D中可以被用来编写游戏逻辑、控制游戏行为等。本篇教程旨在为初学者提供...

    Unity3D游戏开发教程 PDF文档 教学文档

    1. Unity3D游戏开发:文档中提到的“Unity3D开发跨平台手机游戏”的PDF文档是一份教学指南,意味着该文档应该包含如何使用Unity3D引擎开发游戏的详细信息。Unity3D是一个强大的游戏开发平台,支持多平台发布,包括...

    Unity3D从入门到精通

    Unity3D 作为一款跨平台的游戏开发引擎,可以开发出运行在网页、客户端、安卓手机、 Iphone 手机,Ipad、Xbox360、PS3、Wii 客户端的游戏。其内置的 Mono 和 ShaderLab 程序 语言体系良好的解决了多系统跨平台直接...

    unity3d游戏粒子特效(20个特效包).zip

    总的来说,"unity3d游戏粒子特效(20个特效包).zip"为Unity3D开发者提供了宝贵的资源,无论是在快速原型设计、游戏开发还是视觉效果的学习过程中,都能发挥巨大作用。通过实践和创新,开发者可以将这些粒子特效应用到...

    Unity3D 游戏引擎之平面小球重力感应详解

    在本教程中,我们将深入探讨如何利用Unity3D实现平面小球的重力感应功能,尤其针对iPhone、iPad等iOS设备进行优化。这一特性使得游戏体验更加真实,增强了玩家的沉浸感。 首先,我们需要理解Unity3D中的物理系统。...

    Unity3D游戏引擎教程(雨松MOMO原创文章)

    ### Unity3D游戏引擎教程知识点概述 #### 一、Unity3D引擎介绍及环境搭建 - **Unity3D概述**: - Unity3D是一款跨平台的3D游戏引擎,支持多种平台的游戏开发,包括iOS、Android、Windows、Mac OS等。 - 官网地址...

    Unity3D_V3.X中文快速入门教程.pdf

    ### Unity3D_V3.X中文快速入门教程知识点总结 #### 一、Unity3D概述 - **定义**:Unity3D是一款由Unity ...通过这些内容,初学者可以对Unity3D有一个全面而深入的理解,为进一步学习和实践打下坚实的基础。

    整理的Unity3D的学习文档

    这些教程覆盖了Unity3D开发的多个方面,无论是对新手还是有经验的开发者来说,都是宝贵的学习资源。通过实践这些教程,你可以逐步提升在Unity3D中的技能,无论是创建2D游戏、3D游戏,还是实现多人在线功能,或是优化...

    Unity3d基础教程

    - **定义**: Unity3D是一款功能强大且易用的多平台游戏开发引擎,适用于制作2D和3D游戏,支持多种平台如Windows、Mac、Linux、iOS、Android等。 - **特色**: - **综合编辑**: 提供了一体化的游戏开发界面,覆盖从...

    Unity3D在行业应用现状.docx

    5. **Wii和iPhone发布**:Unity3D简化了在这两个流行平台上的游戏开发流程。 6. **着色器**:Unity3D的着色系统结合了易用性、灵活性和高性能,为游戏带来丰富的视觉效果。 7. **联网功能**:从单人游戏到全实时...

Global site tag (gtag.js) - Google Analytics