unity3d中的scene视图中不显示阴影,可是在game视图中正常显示,是怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity3d中的scene视图中不显示阴影,可是在game视图中正常显示,是怎么回事?相关的知识,希望对你有一定的参考价值。

参考技术A

2D右边的小太阳没打开

参考技术B 正常啊,没毛病。追问

知道怎么回事了,谢谢

本回答被提问者采纳

Table Cell 中的 UICollection 视图在 Swift 3 中不显示图像

【中文标题】Table Cell 中的 UICollection 视图在 Swift 3 中不显示图像【英文标题】:UICollection View inside Table Cell does not show images in Swift 3 【发布时间】:2017-07-13 07:41:30 【问题描述】:

我将 UICollectionView 放在主页的表格单元格中。每个类别行都有其内容图像。 但是,我的问题是,当我运行该应用程序时,每当我运行该应用程序时,第二行/第二类下的图像都不会显示。 单击更多按钮后,图像将显示,并将转到详细信息 UI。然后,我单击返回按钮并到达主页。此时,图像显示正常。 我尝试了很多代码,但我不知道哪里错了。

override func viewWillLayoutSubviews() 
    super.viewWillLayoutSubviews()
    tableView.reloadData()
    self.tableView.reloadData()
    self.tableView.layoutIfNeeded()


override func viewDidAppear(_ animated: Bool) 
    tableView.reloadData()


override func viewWillAppear(_ animated: Bool) 
    super.viewWillAppear(animated)

    //getSearchWords()
    DispatchQueue.main.async 
        self.tableView.reloadData()

    
    self.tableView.reloadData()
    self.tableView.layoutIfNeeded()


    override func viewDidLoad() 

     DispatchQueue.main.async 
       self.tableView.reloadData()
     


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 

   // debugPrint("HOme Table View Cell")

    let cell = tableView.dequeueReusableCell(withIdentifier: "homecell") as! HomeCategoryRowCell
    let list = sections[(indexPath as NSIndexPath).row]

    cell.setCollectionViewDataSourceDelegate(self, forRow: indexPath.row)
    cell.collectionViewOffset = self.storedOffsets[indexPath.row] ?? 0

    DispatchQueue.main.async 
        cell.categoryTitle.text = list.package_name
        cell.mainAssociatedURL.text = list.package_url
    
    cell.categoryTitle.font = UIFont.boldSystemFont(ofSize: 17.0)
    cell.collectionView.tag = indexPath.row
    cell.parentVC = self
    cell.collectionView.reloadData()

    return cell



extension Home : UICollectionViewDelegate, UICollectionViewDataSource 

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 

    return sections[collectionView.tag].packageTable.count


func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "videoCell", for: indexPath) as! HomeVideoCell

        let list = sections[collectionView.tag].packageTable[indexPath.row]

        if(list.poster_image_url != StringResource().posterURL)
            let url = NSURL(string: list.poster_image_url)
            do
                if let url = url 
                    _ = try Data(contentsOf:url as URL)
                    poster_url = list.poster_image_url
                
            catch let error 
                //debugPrint("ERRor ::\(error)")
                poster_url = StringResource().posterURL
            
        else
            poster_url = StringResource().posterURL
        


        AsyncImageLoader.sharedLoader.imageForUrl(urlString: poster_url)  (image, url) -> () in
            DispatchQueue.main.async()

                cell.movieTitle.text = list.name
                if(url == StringResource().posterURL)
                    cell.imageView.image = UIImage(named: "sample_cover")
                else
                    cell.imageView.image = image
                
            
        

  //  cell.layer.shouldRasterize = true
  //  cell.layer.rasterizationScale = UIScreen.main.scale

    return cell



func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) 

    print("Home Collection view at row \(collectionView.tag) selected index path \(indexPath)")

    let list = sections[collectionView.tag].packageTable[indexPath.row]
    self.prefs.set(list.poster_image_url, forKey: "poster_image_url")
    self.prefs.set(list.name, forKey: "name")
    self.prefs.set(list.assets_id, forKey: "VEDIO_ID")

    debugPrint(list.name)
    debugPrint(list.assets_id)




以上这些代码是用 Home.swift 编写的。

HomeCell.swift

class HomeCell : UITableViewCell 


var parentVC: UIViewController?

@IBOutlet weak var collectionView: UICollectionView!
@IBOutlet weak var categoryTitle: UILabel!
@IBOutlet weak var SeeAll: UIButton!
@IBOutlet weak var mainAssociatedURL: UILabel!

let prefs:UserDefaults = UserDefaults.standard
var catId: String! = ""
var associated_url: String!

override func awakeFromNib() 
    super.awakeFromNib()

    SeeAll.setTitle(NSLocalizedString("See All >", comment: ""), for: .normal)
    SeeAll.titleLabel!.font = UIFont (name: "Tharlon", size: 14)


@IBAction func btnSeeAll(_ sender: Any) 

    catId = categoryTitle.text!
    associated_url = mainAssociatedURL.text!

    self.prefs.setValue(1, forKey: "PROVIDER_ID")
    self.prefs.set(catId, forKey: "PROVIDER_NAME")
    self.prefs.set(associated_url, forKey: "associated_url")


override func layoutSubviews() 
    super.layoutSubviews()
    collectionView.collectionViewLayout.invalidateLayout()



extension HomeCategoryRowCell 
    func setCollectionViewDataSourceDelegate<D: UICollectionViewDataSource & UICollectionViewDelegate>(_ dataSourceDelegate: D, forRow row: Int) 

        self.collectionView.delegate = dataSourceDelegate
        self.collectionView.dataSource = dataSourceDelegate
        self.collectionView.tag = row
        self.collectionView.setContentOffset(self.collectionView.contentOffset, animated:false) // Stops collection view if it was scrolling.
        self.collectionView.reloadData()


var collectionViewOffset: CGFloat 

    get  return collectionView.contentOffset.x 

    set  collectionView.contentOffset.x = newValue 


谁能帮帮我?

【问题讨论】:

您的共享代码根本没有任何意义。您只是重新加载表格视图。分享你如何添加集合视图的代码。 @ridvankucuk,我上传了我的代码兄弟。请检查一下。 【参考方案1】:

像下面这样编辑控制器,你调用了太多的 reloadData。

override func viewWillLayoutSubviews() 
    super.viewWillLayoutSubviews()
    self.tableView.layoutIfNeeded()


override func viewWillAppear(_ animated: Bool) 
    super.viewWillAppear(animated)

//getSearchWords()
    DispatchQueue.main.async 
        self.tableView.reloadData()
    
    self.tableView.layoutIfNeeded()


override func viewDidLoad() 
        super.viewDidLoad()

    tableView.delegate = self
    tableView.dataSource = self

并添加:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
            tableView .deselectRow(at: indexPath, animated: false)  

【讨论】:

以上是关于unity3d中的scene视图中不显示阴影,可是在game视图中正常显示,是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

unity3d中的game窗口和scene窗口显示的不一样怎么解决

关于Unity3D使用时Scene视图清楚,Game视图不清楚的问题

网上下载的unity模型包导入以后怎么把所有模型都放到scene里面,直接拖的话只能一个一个的放。

Autodesk AR/VR Toolkit 请求在 Unity3d WEBGL 中不起作用?

unity3d阴影问题

Unity3D深入浅出 -组件与节点之间的调用关系