unity3D入门_3D技巧

unity3D入门_3D技巧unity3D入门系列一,Hello3DWorld(C#脚本版)作者:admin 日期:2011年06月25日 来源:本站原创  【字体:大 中 小】  我要评论(0) 文章转载自:http://www.j2megame.com/html/xwzx/ty/2275.html=======================================

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

unity3D入门系列一,Hello 3D World(C#脚本版)
作者:admin 日期:2011年06月25日 来源:本站原创   【字体:
 
 
】    

我要评论(0)
 
文章转载自:
http://www.j2megame.com/html/xwzx/ty/2275.html
========================================================================================

unity3D入门系列一,Hello 3D World(C#脚本版)

马上要开始采用Unity3D做项目,于是本人快速参考了些资料。并把这些东西作为入门教程逐步更新到网站上来。

首先来熟悉下Unity3D的文件结构:

Assets:简单理解就是工程文件夹。分为2个1格式标准Assets,1个是手机版Assets, 手机版是个简版,说明文件上说是简化了Shader. Assets有场景文件.unity. 导入工程时候默认是没有场景的,一定要选择1个场景才能看到图形。里面一些具体的文件可以参照官方网站说明。

Library:库文件,动态链接库及Unity3D自己的二进制格式文件

Temp:临时文件夹,运行时候才会有内容

Unity3D图形显示部分几乎全部是导入已经做好的3D模型文件,导入方法很简单。这里不再说明。

首先还是来个传统的Hello World程序。这个3D场景很简单很基本:地形平面,球体,光源,摄像机。

1.新建工程命名为hello_3d_world,推荐大家文件名不要带空格全部小写,移植有好处。

2.创建地形平面:Terrain -> Create Terrain Postion和Rotation的XYZ全部清0,Scale XYZ全部写1,在Hierarchy面板中按F2将其重命名为myScene

3.默认会有1个摄像机,那个摄像机可以不用理会,当然删除他你会看不到场景中的东西。新建1摄像机GameObject->Create Other -> Camera移动到合适的位置:推荐Postion XYZ(2,0,-1.5)  , Rotation XYZ 0, Scale XYZ 1

4.新建1球体GameObject->Create Other -> Sphere Postion XYZ(3,1,3)  , Rotation XYZ 0, Scale XYZ 1

5.新建点光源GameObject->Create Other -> SpotLight  Postion XYZ(3,1,-3)  , Rotation XYZ 0, Scale XYZ 2

小技巧:在Hierarchy面板中选中要查看的物体,然后在可视化区域内按F键能快速找到想要找到的物体。

6.新建C#脚本:Assets -> Create -> C Sharp script.  在Project 面板中按F2将其重命名为:testCamaraMovScript

,双击其,点击Edit按钮编写内容如下:

using UnityEngine;
using System.Collections;

public class testCamaraMovScript : MonoBehaviour {

 // Use this for initialization
 void Start () {

 //此处完成初始化,由www.J2meGame.com编写,更多内容请参考本站其他资料。
 }
 
 // Update is called once per frame
 void Update () {

  //此处为每帧刷新,不是按时间来写的,如果是逻辑代码请写在按时间计算的方法里面
  //Input为获取输入按键,Iphone和Android输入不同,具体请参照帮助文件
  if ( Input.GetKey (“up”)) {

    print (“up arrow key is held down”);

    transform.Translate(0 , 2 * Time.deltaTime ,  0);
  }
  if ( Input.GetKey(“down” )) {

   print (“down arrow key is held down”);

    transform.Translate(0 , -2 *  Time.deltaTime , 0);
  }  
  if ( Input.GetKey (“left”)) {

    print (“left arrow key is held down”);

    transform.Translate(2 * Time.deltaTime , 0 ,  0);
  }
  if ( Input.GetKey(“right” )) {

   print (“right arrow key is held down”);

    transform.Translate(-2 *  Time.deltaTime ,  0, 0);
  } 
  if ( Input.GetKey (“w”)) {

    print (“z up arrow key is held down”);

    transform.Translate(0 , 0 ,  2 * Time.deltaTime);
  }
  if ( Input.GetKey(“s” )) {

   print (“z down arrow key is held down”);

    transform.Translate(0 ,  0, -2 * Time.deltaTime);
  }    
 }
}

将其拖放到Camara或球体上,运行观看其不同的效果。

这个Demo很简单,但是却包含了构成3D世界的基本内容,呵呵。

 

www.J2meGame.com原创,转载请说明。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169341.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 此工作站和主域间的信任关系失败原因_主域间的信任关系失败

    此工作站和主域间的信任关系失败原因_主域间的信任关系失败相信用域管理的童鞋都会遇到一个问题:在域账户登录的时候有时会出现“此工作站和主域间信任关系失败”那么遇到这种情况该如何解决的呢?跟我走:拔掉网线,登录系统在用户账户中把administrator账户打开,并设密码插上网线,退域,重启,用administrator账户登录重新加域,刷新策略即可 转载于:https://blog.51cto.com/xkai20/158…

    2022年10月19日
    0
  • linux命令mysql启动,linux中mysql启动服务命令

    linux命令mysql启动,linux中mysql启动服务命令Linux下使用相关命令可以直接启动mysql服务,下面由学习啦小编为大家整理了linux下mysql启动服务命令的相关知识,希望对大家有帮助!linux的mysql启动服务命令linux的mysql启动服务命令1:使用mysqld启动、关闭MySQL服务mysqld是MySQL的守护进程,我们可以用mysqld来启动、关闭MySQL服务,关于mysqld,MySQL5.6官方介绍资料如下所示…

    2022年5月20日
    41
  • pycharm中使用anaconda部署python环境_pycharm怎么用anaconda的环境

    pycharm中使用anaconda部署python环境_pycharm怎么用anaconda的环境每一种语言的开发环境都是包含了运行环境和开源包两个核心内容。比如Java,JDK是运行环境,而开发导入需要用到的各种第三方工具都是以开源包的形式导入的。再比如Python,python3.6/python2.7是它的运行环境,而pynum,pandas这些数据处理工具就是也是开源包。通常情况下,我们都是使用IDE在项目中统一管理运行环境和开源包。比如开发JavaWeb项目我们使用Myec…

    2022年8月27日
    2
  • 文本分类算法综述

    文本分类算法综述文本分类大致有两种方法:一种是基于训练集的文本分类方法;另一种是基于分类词表的文本分类方法。两种方法出自不同角度的研究者,训练集法更多的来自计算机或人工智能研究领域,而分类表法则更多地来自突出情报领域。本文主要介绍前一种。基于训练集的文本分类是一种典型的有教师的机器学习问题,一般分为训练和分类两个阶段,具体过程如下:训练阶段:1)             定义类别集合 ,这些类别可是是层次式的,…

    2022年6月9日
    29
  • java sortedset用法_Java SortedSet headSet()用法及代码示例[通俗易懂]

    java sortedset用法_Java SortedSet headSet()用法及代码示例[通俗易懂]Java中的SortedSet接口的headSet()方法用于返回此集合中其元素严格小于参数toElement的部分的视图。此方法返回的集合由该集合支持,因此返回集合中的更改会反映在该集合中,反之亦然。此方法返回的set支持此set支持的所有可选set操作。注意:如果试图插入超出其范围的元素,则此方法返回的集合将引发IllegalArgumentException。用法:SortedSethea…

    2022年8月31日
    0
  • Android SDK下载失败解决[通俗易懂]

    Android SDK下载失败解决[通俗易懂]安装androidstudio的时候遇到了这个问题。解决方法是使用andoridsdk的中国在线更新地址可以到这个网站找服务器地址http://www.androiddevtools.cn/启动AndroidSDKManager,打开主界面,依次选择『Tools』、『Options…』,弹出『AndroidSDKManager-Settings』窗口;在…

    2022年7月19日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号