`
zhenzhujeromemessage
  • 浏览: 16325 次
文章分类
社区版块
存档分类
最新评论

Unity3D基本

 
阅读更多

一、基本概念:scene:texture RGB 模式设置
game:maximize on play
window:layout tall模式
scene:object move rotate scute部分摆动
project:list every thing to use
hierarchy:list every object you use in this scene
inspector:every details of the hierarchy object
save the scene:File save as and project reimport from folder
project:create many folders
createGameobject:cube set position rotation scale比例当设为Y很小时即可得到地板。
spotlight:加入,拉高即可
前后键可以设置CAMERA:
空格键对当前的视图全屏。everything can change from inspector。

二、应用:
1.animation inspector 都是hierarchy 中的具体Game Object属性,选项设置面板。
2.Project 为整个工程的资源,可以添加到Scene 中也可以添加到hierarchy中。
js脚本也要添加到player 中且要在此gameobject中script选项下设置automatic run,然后利用hierarchy 中相应gameobject创建的tag(js对象)实现对象编程。

3.理解脚本代码:
(1)ControllerColliderHit对象:
function OnControllerColliderHit(hit:ControllerColliderHit){
if(hit.gameObject.tag=="door")//door为door (gameObject)的Tag名称
{
hit.gameObject.animation.Play("door_open");//door_open为door的Animation名称
}
}

(2)RaycastHit对象:

var rayCastLength=5;//可以在inspector中调整
function Update()
{
var hit:RaycastHit;
//check if we are colliding
if(Physics.Raycast(transform.position,transform.forward,hit,rayCastLength))
{
if(hit.collider.gameObject.tag=="door"){
//因为hit 为 RaycastHit 在ControllerColliderHit上面面所以要.collider区别于以上。
hit.collider.gameObject.animation.Play("door_open");
}
}
}
3.改变坐标:
var speed=3;
var cratePrefab:Transform;
function Update()
{
if(Input.GetButtonDown("Fire1"))//按下Fire1按钮
{
var crate=Instantiate(createPrefab,transform.position,Quaternion.identity);
crate.rigidbody.AddForce(transform.forward*3000);
}
}
function 内可以写 transform.position.y<-200来控制玩家越过空间时reset。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics