`

在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  


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

相关推荐

    unity 3D基础教程

    iphone 3D游戏开发,unity 3D基础教程

    Unity3D游戏开发

    Unity3D游戏开发教程 Unity3D 入门教程

    Unity3D从入门到精通

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

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

    Unity3D是由Unity Technologies开发的一个让你轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game ...

    Iphone3d游戏艺术-Unity3D篇

    IPhone 3D游戏艺术_Unity3D篇 从美工到程序,完整的一个游戏教程 As a 3D artist, you’ll find yourself presented with numerous opportunities and avenues to explore within different industries. The ...

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

    Unity3D游戏引擎-雨松MOMO原创文章,不想下载的朋友可以去:http://blog.csdn.net/column/details/unity3d.html 在线观看,这里的是我为了自己学习方便整理的一个pdf版本!

    ios游戏实战开发(cocos2dcocos2d-xUnity3d)

    课程包括Objective-C、cocos2d(cocos2d-iphone & cocos2d-x)、cocos2d-iphone 项目、cocos2d-x 项目、Unity3d、Unity3d项目等,完整讲述了ios平台2d、3d游戏开发的要点。 2、本课程学员实践操作环境为MAC系统(普通...

    Unity中文基础教程

    Unity3D 是一个让你轻松创作的多平台的游戏开发工具,是一个全面整合的专业游戏引擎。 =============================================================================== 特色 综合编辑 通过 Unity 简单的游戏制作...

    unity 脚本基础教程

    开发iphone 3D游戏,游戏引擎脚本基础教程

    Nice Vibrations Haptic Feedback for Mobile Gamepads V3.7

    该工具基于原生手柄、iOS和Android的API开发,它可提供一个通用界面,能在所有平台同时触发触觉反馈,而且还能根据每个平台不同触发正确而特有的振动。 无论你想触发简短的振动、触觉预设、连续信号或是高级复杂的...

Global site tag (gtag.js) - Google Analytics